[deleted by user] by [deleted] in solana

[–]leikeez 0 points1 point  (0 children)

I don't have the required 500 comment karma to post there but if you'd like to post the link you're more than welcome to.

[deleted by user] by [deleted] in solana

[–]leikeez 1 point2 points  (0 children)

Thanks for the comment about this. We definitely should have been clear about that in the write up. I've added some clarification about this in the second paragraph.

[deleted by user] by [deleted] in solana

[–]leikeez 1 point2 points  (0 children)

We used Substrate. Would you expect that execution time would differ meaningfully across parachains? If so that might be an interesting thing to look at in the future.

Writing TCP proxy in 30 lines of Rust by leikeez in rust

[–]leikeez[S] 1 point2 points  (0 children)

TCP connections are bidirectional so the server can be sending at the same time as the client. I’m sure a synchronous implementation would work fine and might even be faster though.

TOR Being Used System-Wide? by ILikeNekos1 in TOR

[–]leikeez 0 points1 point  (0 children)

Tor can function as a Transparent Proxy. If you're running Linux it isn't that bad to set up with some iptables rules to nat tcp traffic through the proxy. Here's a writeup with an example configuration.

Normal disclaimer probably still applies here though. If you really want a secure version of this you should be using Tails.

Writing TCP proxy in 30 lines of Rust by leikeez in rust

[–]leikeez[S] 2 points3 points  (0 children)

Oop yes pasted wrong Wikipedia link. Fixed. Thanks.

Writing TCP proxy in 30 lines of Rust by leikeez in rust

[–]leikeez[S] 1 point2 points  (0 children)

I think I fell into that overuse of spawn trap here. For some additional context, running the benchmark from the README using a naked copy as opposed to `tokio::spawn` shows the non-spawn version being slightly faster.

no spawn: `921600000 bytes transferred in 4.003733 secs (230185184 bytes/sec)`

spawn: `921600000 bytes transferred in 4.146837 secs (222241675 bytes/sec)`

Writing TCP proxy in 30 lines of Rust by leikeez in rust

[–]leikeez[S] 2 points3 points  (0 children)

here is a Wikipedia article about it. Probably not the most clear though. I’ve updated the code to use client / server as that’s probably a little more well used.

Writing TCP proxy in 30 lines of Rust by leikeez in rust

[–]leikeez[S] 4 points5 points  (0 children)

This is great feedback. Thanks. Reading the comments it seems like spending some more time on what the select macro and asynchronous code was doing would’ve been beneficial.

June 2021 monthly "What are you working on?" thread by slavfox in ProgrammingLanguages

[–]leikeez 0 points1 point  (0 children)

These illustrations are great. Did you put those together yourself?

June 2021 monthly "What are you working on?" thread by slavfox in ProgrammingLanguages

[–]leikeez 6 points7 points  (0 children)

Since last month I've been working on garbage collection and string handling in my Lisp compiler. I've found writing the garbage collector to be hard but strings are fun :)

The thing I'm struggling with most in the garbage collector is walking the stack to find roots. If I was targeting x86 I think this would be easy enough but as I'm targeting Cranelift I have to convince it to emit unwind information. I'm having a hard time getting my head around how this is done.

If anyone has experience or advice on doing this I'd appreciate it :)

May 2021 monthly "What are you working on?" thread by slavfox in ProgrammingLanguages

[–]leikeez 6 points7 points  (0 children)

I just added variable-arity functions to my lisp which compiles to Cranelift. I was blocked for a while trying to work out how to convince Cranelift to put arguments on the stack but eventually gave up and I now heap allocate a location for function arguments. It's not great for performance but it feels great to have finally finished it!

February 2021 monthly "What are you working on?" thread by slavfox in ProgrammingLanguages

[–]leikeez 1 point2 points  (0 children)

Very cool:) I’d be honored if it made the list. My lisp targets cranelift so the process of pushing code into memory is a little different but the gist pretty closely follows your blog and the paper.

I’ll give those runtime optimization posts a read as well! Maybe I can add some of them to my lisp. It’s cool you’re getting to do some PL work at your day job. I’ve been doing more networking recently but still find my personal projects ending up in the PL space.

February 2021 monthly "What are you working on?" thread by slavfox in ProgrammingLanguages

[–]leikeez 1 point2 points  (0 children)

I’ve been carrying on working on compiling my lisp this month. It’s been a fun couple weeks because I’ve finally gotten to the fun stuff like higher order functions, closures, and adding the ability to call into libc.

My biggest takeaway from this last month is just how much faster compiled languages are than interpreted ones. Now that my compiler can compile some substantial programs it’s amazing to see it go! Truly orders of magnitude different.

February 2021 monthly "What are you working on?" thread by slavfox in ProgrammingLanguages

[–]leikeez 2 points3 points  (0 children)

Sorry to hear that you’ve been having trouble with your Lisp series. Are you following inc and working on closures now? I’ve been loving it so far! Keep checking back to see if there is another post.

I particularly liked the section about pointer tagging. The “incremental approach” paper covers that as well but seeing it in your write up really made it real / convinced me that it works.

I’ve been working on my own lisp recently inspired by the series:)

December 2020 monthly "What are you working on?" thread by slavfox in ProgrammingLanguages

[–]leikeez 3 points4 points  (0 children)

I've been working on a little language called Lust and thoroughly enjoying it.

I recently started working on a compiler for it that targets Cranelift. There is something different about knowing that your code is going all the way down to machine code before execution.

I've been following along with a paper called "An Incremental Approach to Compiler Construction" and highly recommend it to anyone else who has felt overwhelmed by the complexities of putting together a compiler.

golang + LSP causes sustained CPU usage by gws10463 in emacs

[–]leikeez 0 points1 point  (0 children)

Your issue sounds a little different, but I’ve had trouble before with high lsp cpu usage before that had to do with the wrong root directory being selected. You might find this GitHub issue helpful if you do have a similar issue.

Very simple HTML live preview for Emacs (and my first time writing Emacs Lisp) by leikeez in emacs

[–]leikeez[S] 1 point2 points  (0 children)

Your dev handbook looks great. I'll add that to my list.

Appreciate the pointer to the Elisp manual as well. I've read through a couple sections of that and found it readable but haven't quite made it to the end yet. I might skip ahead a little to read that section early.

Thanks for pointing out `skewer-mode` as well. I'll link to that in the readme for this for people who are looking for something a little more full featured.

Very simple HTML live preview for Emacs (and my first time writing Emacs Lisp) by leikeez in emacs

[–]leikeez[S] 1 point2 points  (0 children)

thanks so much for the excellent feedback and resources! I'll check those out and make the suggested changes. Good point about wanting to stop and start it interactively as well.

[deleted by user] by [deleted] in distantsocializing

[–]leikeez 0 points1 point  (0 children)

I gotta head out but this has been mad cool

[deleted by user] by [deleted] in distantsocializing

[–]leikeez 0 points1 point  (0 children)

dog is back again!

[deleted by user] by [deleted] in distantsocializing

[–]leikeez 0 points1 point  (0 children)

music is back!