kddnewton Profile Banner
Kevin Newton Profile
Kevin Newton

@kddnewton

Followers
3K
Following
2K
Media
35
Statuses
1K

Engineer at Meta

Boston, MA
Joined August 2013
Don't wanna be here? Send us removal request.
@kddnewton
Kevin Newton
5 days
First up, cleaning up syntax tree so I can finally publish the version based on prism and extract out a bunch of functionality into other gems.
0
0
9
@kddnewton
Kevin Newton
5 days
I've taken a half-year break from open-source to focus on the home front, celebrating my third kid being born earlier this year. I'm slowly working my way back to the internet here. If you've been waiting for me to respond, thanks for your patience!.
3
0
56
@kddnewton
Kevin Newton
2 months
It makes me unreasonably frustrated that x86-64 uses AH for the remainder in 8-bit unsigned division. I'm sure there's a good hardware reason, but I wish it were DH to be consistent.
2
0
5
@kddnewton
Kevin Newton
4 months
This was the dream the whole time, and it’s really nice that when it finally happens it’s relatively quiet. That means it’s actually working.
@bbatsov
Bozhidar (Bug) Batsov
4 months
RuboCop 1.75 is out with improved support for #Ruby 3.4! You won't be able to tell it from the outside, but this release required a ton of work to get to the point where Ruby 3.4 functionality was exposed via Prism's Parser translation layer. (we're now using Prism by default on.
1
4
42
@kddnewton
Kevin Newton
4 months
If you are a Ruby developer, then any time Ilya publishes something you need to pay attention. Very impressive work went into this post.
@IlyaBylich
Ilya Bylich
4 months
New article. "Ruby, Ractors, and Lock-Free Data Structures" -
0
0
46
@kddnewton
Kevin Newton
4 months
RT @_byroot: Here we go. That one I really needed to get of my chest for the better part of a year, so I feel relieved now. It's really lo….
0
17
0
@kddnewton
Kevin Newton
5 months
Ruby 3.4.2 is out, which includes fixes for just about everything I know of related to Prism. We’re into the truly esoteric code now, and it appears that everything is working!.
2
13
134
@kddnewton
Kevin Newton
6 months
This is what I'm talking about. Looks like the TLS area is cleaned up before the pthread_key_create callback is called, but only on macOS. Works as expected on Windows and Linux. Annoying. I guess I can't rely on automatic TLS within pthread callbacks.
@kddnewton
Kevin Newton
6 months
This is incredibly niche, but maybe someone knows. I'm seeing pthread_key_create destruction callbacks fired _after_ the thread has cleaned up thread_local variables in C11, but only on macOS. On all other platforms, TLS is unchanged. Wat?.
1
0
1
@kddnewton
Kevin Newton
6 months
This is incredibly niche, but maybe someone knows. I'm seeing pthread_key_create destruction callbacks fired _after_ the thread has cleaned up thread_local variables in C11, but only on macOS. On all other platforms, TLS is unchanged. Wat?.
0
1
5
@kddnewton
Kevin Newton
7 months
Truly and completely heartbroken for this loss. Noah was inspirational in his desire to make Ruby and Rails accessible. He was always willing to chat, even before we got to work together. This community will deeply miss him and his myriad contributions. I will miss him a lot.
@nateberkopec
Nate Berkopec
7 months
Noah Gibbs (@codefolio) has passed away. His big dream in life was to help build the Ruby community up. He wanted to be like the folks who worked to create the railroads during the industrial revolution. He thought Ruby was the best way to do (fill in the blank) and he wanted to.
0
3
36
@kddnewton
Kevin Newton
7 months
Just released Prism v1.3.0. * Prism::StringQuery.* Prism::Relocation.* A simpler build system.* Much more documentation.* More invalid code rejected.* Better error messages.* A bunch more stuff. Last release before Ruby 3.4!.
0
4
52
@kddnewton
Kevin Newton
7 months
It's certainly much more verbose. Occasionally it reads like go, because you're constantly checking for errors. But maybe that's okay?.
1
0
5
@kddnewton
Kevin Newton
7 months
The first thing I've noticed in CPython is that error handling is soooooo clean. Basically every function can return NULL, and it's expected that you will have set an error in that case. Compared to setjump/longjump, this is much easier to understand.
1
0
8
@kddnewton
Kevin Newton
7 months
Claiming evidence of a multiverse is certainly one way to get your blog post out there.
0
0
4
@kddnewton
Kevin Newton
7 months
Maybe I'll do this at another point in the year so that I can keep the cadence going either way. As a brief teaser to get you interested, check out this super interesting video about Brzozowski derivatives:.
0
0
1
@kddnewton
Kevin Newton
7 months
So I was more than 50% of the way through writing "Advent of Regexp" and realized I wanted to have a full implementation of it working as part of the series. I got distracted and well. I didn't finish it yet. As such, I apologize but I'm going to delay this whole series.
1
0
11
@kddnewton
Kevin Newton
8 months
That being said — I spent an hour this morning working on Prism issues and PRs, so I'll be around.
0
3
35
@kddnewton
Kevin Newton
8 months
After a wonderful and educational 4.5 years, I have moved on from my position at Shopify. This week, I've started a new job working on the Python runtime team at Meta. I'm looking forward to learning about a new JIT, removing the GIL, and helping to make CPython better.
24
18
256
@kddnewton
Kevin Newton
8 months
The Ruby section of this blog post is giving me stress flashbacks to when we were just trying to match the Ripper lexer in Prism.
@JustineTunney
Justine Tunney
8 months
I wrote a blog post about all the weird programming language syntax I encountered while building a syntax highlighter for @llamafile. Read
0
0
13
@kddnewton
Kevin Newton
9 months
RT @eregontp: "Benchmarking Ruby parsers is trickier than one might expect, but overall the result is clear: . " (new blog post). https://t….
0
10
0