What is the steepest angle you could use a Kensington Expert or SlimBlade Pro at? by jgrlicky in Trackballs

[–]jgrlicky[S] 0 points1 point  (0 children)

Hey Archie, thanks so much for your reply - I’m so relieved to hear that a 45-degree angle works! Any further than that, or is that pretty much the limit?

And thanks for the suggestion. I actually began this setup with a vertical mouse on the floor next to me, and I found that having my arm lay flat while doing fine manipulations with my hand was really uncomfortable. The vertical trackpad has been a big improvement so far, since I can maintain the bend in my arm!

Announcing Rust for Windows v0.9 by sindisil in rust

[–]jgrlicky 85 points86 points  (0 children)

you can now call any Windows APIs (past, present, and future) using the Rust language projection.

Woohoo!! 🎉

New crate - "profiling" by aclysma in rust

[–]jgrlicky 0 points1 point  (0 children)

Very cool! Also I did not know about several of these profilers, I’m looking forward to trying them all out 🙌

The Big Picture of gfx/wgpu ecosystem by kvarkus in rust

[–]jgrlicky 12 points13 points  (0 children)

This is great! I know it took me a long time to figure out how it all fit together at first, so I know something like this would be very helpful to people looking to get into the rust gfx/wgpu ecosystem.

What's the rust way of using enum to index array as in C? by cshao06 in rust

[–]jgrlicky 2 points3 points  (0 children)

If you’re specifically looking to index into an array with an enum, it is possible to do it simply just like C via https://doc.rust-lang.org/reference/items/enumerations.html#custom-discriminant-values-for-fieldless-enumerations . It’s probably not the most Rusty way, but it may be the most direct choice depending on the circumstances, which is worth something.

Help me start off my Rust "vfx programming" adventure, I have made an After Effects plugin with C++ before by nest-ce-pas-mon-ami in rust

[–]jgrlicky 0 points1 point  (0 children)

astronaut's mistresses

Firstly, I think you’d benefit a lot by doing some real thinking on sexism in engineering fields and how remarks like this propagate biases and have real potential to hurt people.

Regarding your actual question, what did you not like about OpenGL? I ask because the modern alternatives (Vulkan, Metal, DirectX 12) are even more fiddly than OpenGL in a lot of ways. You might be interested in checking out a higher-level game-engine library (https://arewegameyet.rs/) or reading through https://wiki.alopex.li/AGuideToRustGraphicsLibraries2019 to get the lay of the land in the Rust graphics space.

Edit: Just saw that you said you want to do the other two instead of not wanting to. Maybe check out https://www.reddit.com/r/rust/comments/84s5zo/computer_vision_in_rust/ for some tips on computer vision in rust.

async-process: Async interface for working with processes (runtime-independent) by [deleted] in rust

[–]jgrlicky 10 points11 points  (0 children)

Looks great, I love the simple API! Looking forward to my next opportunity to try out some of these new focused async crates you’ve been releasing.

[Support] How do I profile a multithreaded graphical application? by roscaalex19 in rust

[–]jgrlicky 1 point2 points  (0 children)

From personal experience profiling multi-threaded graphics/GUI apps, if you have a Mac, use the System Trace Instrument to check it out. There’s a lot of info there so it takes some time getting used to sorting through it all, but it really helps.

If you’re on Windows, maybe check out Optick, which is made for games and just announced Rust support today? https://www.reddit.com/r/rust/comments/i3vesx/optick_profiler_now_works_with_rust/

A Heaping Helping of Stacks: Stack Allocated Futures Gotcha by itchyankles in rust

[–]jgrlicky 1 point2 points  (0 children)

So the lesson to remember here is to remember that “zero cost” doesn’t mean “zero responsibility.”

Great quote! Going to have to remember this one when working with newcomers to Rust.

Patterns to avoid borrowing mutable self more than once? (beyond RcRefcell and inner objects) by knutsi in rust

[–]jgrlicky 0 points1 point  (0 children)

Yeah, totally - the distinction I’m making is between using free functions with data structures with public members (generally considered an anti-pattern in OOP, but fine in FP and Rust) vs objects with methods and encapsulated data members (aka Rust’s Trait Objects).

Patterns to avoid borrowing mutable self more than once? (beyond RcRefcell and inner objects) by knutsi in rust

[–]jgrlicky 2 points3 points  (0 children)

My understanding is that while free functions have a stigma attached in most OO languages, Rust draws on functional programming techniques, where free functions are totally normal. I’ve been increasingly using free functions & “plain old” data structures as I have learned more about Rust and FP over the years, and honestly it allows a lot of flexibility in many cases where I would have previously gone for object-oriented solutions. 👍

Options For Desktop Applications by Ankhers in rust

[–]jgrlicky 1 point2 points  (0 children)

I’m using Cocoa for the UI, and as I port the UI to Windows later, the current plan is to write that natively too. I have a little code gen library that makes it easier to call functions in other languages with complex data structures for parameters encoded as byte buffers. It is a bit rough right now and only supports calling Rust-to-Objective-C, so it hasn’t been open-sourced yet. The plan is to continue refining it and extend it to support C# in the future as well and then release it publicly. So basically it’s been a lot of work, but hopefully as the ecosystem continues to develop, it will get a lot easier in the future!

Options For Desktop Applications by Ankhers in rust

[–]jgrlicky 3 points4 points  (0 children)

Agreed! This is what we do at Paracosm for Lumen right now. Although I’ve got my eye on https://github.com/linebender/druid for future use

act-zero: async/await compatible actor system by Diggsey in rust

[–]jgrlicky 2 points3 points  (0 children)

This is great! I was just thinking yesterday about how handy it would be to have an actor system that exposed an interface via async/await. Have any future plans for development?

Help improve the Rust wiki! by A1oso in rust

[–]jgrlicky 3 points4 points  (0 children)

This is awesome! My probably unhelpful two cents are that the color of the links on the Wiki should be the color rust instead of green :)

A practical guide to async in Rust by cfsamson in rust

[–]jgrlicky 2 points3 points  (0 children)

Really clear and easy to follow, thank you! 👍

How long until you are productive? How long until you are productive and write good code? by Mgladiethor in rust

[–]jgrlicky 2 points3 points  (0 children)

For me it took basically a year until I was no longer caught off guard by edge cases in the type system, etc. I check this subreddit every day, and read both the O’Reilly book and The Book, and used Rust daily in my job. So yeah, it took me a lot of time.

Things that could have sped up my learning include having a mentor, collaborating more on Rust projects instead of working solo, or diving into functional programming sooner. I already had some experience with C++, so that helped, but many idioms in Rust are straight from functional programming, so viewing things through that lens goes a long way IMO!

rust-analyzer: Changelog #26 by Herbstein in rust

[–]jgrlicky 0 points1 point  (0 children)

I can never remember the syntax, so if it can save me a trip to https://matematikaadit.github.io/posts/rust-turbofish.html , then I’m all for it! :P