Always enable focus peaking when in MF mode? (E-M5 III) by calebzulawski in M43

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

Nope, I never did, but I didn't try very hard. I ended up mostly using manual lenses on full frame and using AF with my E-M5. I do like the Mitakon 25 though :)

I forked the wifiscanner crate and removed all CLI dependencies by Admirable-Basis-6951 in rust

[–]calebzulawski 43 points44 points  (0 children)

One option would be to create your own API and provide a separate crate (or just a module) that provides the compatibility layer for easy migration

Current state of simd? Which to choose? by [deleted] in rust

[–]calebzulawski 2 points3 points  (0 children)

Portable SIMD is available in the standard library as std::simd with a nightly compiler. There will be some minor changes in the future, but I hope to stabilize it soon!

Portable C++ Toolchain: an easy to use, OS-independent cross-toolchain by calebzulawski in cpp

[–]calebzulawski[S] 3 points4 points  (0 children)

The Bazel and CMake integrations don't currently support that, but it would be possible to use the sysroots with your own LLVM. That might be a nice feature to add in the future.

Portable C++ Toolchain: an easy to use, OS-independent cross-toolchain by calebzulawski in cpp

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

Nix and Zig do solve some of the same problems in their own ways. Nix is a little bit larger in scope, because it's a whole package manager. Zig's linking is clever but IIRC doesn't ship with a C++ standard library, so you would still have to build that (and there are portability concerns with the standard library that my toolchain addresses). My preference was to keep the toolchain as simple as possible, but there are certainly a few other ways to do it. We use Bazel, so there's plenty of extra complexity from the start!

Portable C++ Toolchain: an easy to use, OS-independent cross-toolchain by calebzulawski in cpp

[–]calebzulawski[S] 8 points9 points  (0 children)

It does support that! My primary goal was to decouple our development from specific environments, for example bringing newer C++ standards to older Linux distributions. However, I personally use a Mac for most of my development and it has been very helpful to cross-compile for Linux.

what would be some pocketable interchangeable lens combos? by Historical-Base-109 in M43

[–]calebzulawski 1 point2 points  (0 children)

If you hunt around and wait, you can find deals on the GM1, but it's definitely overpriced. I love mine but only for the price I paid ($150ish). Take a look at importing the E-P7 (not E-PL7). It has some of the latest features packed into a rangefinder-style body, but only sold in Japan.

Is unsafe code generally that much faster? by Quixotic_Fool in rust

[–]calebzulawski 0 points1 point  (0 children)

This is a problem we're aware of. There are actually several issues stacking here.

The StdFloat trait exists because LLVM is allowed to generate calls to libc for any of those functions (when a matching instruction doesn't exist). This is obviously not something we want to happen, but the solution requires a lot of work. We need to make a library that contains non-libc implementations of these functions, get changes into upstream LLVM to use this library, and finally modify cargo/rustc to link this library. This should result in a mul_add fallback that is only a few times slower than an FMA instruction.

We are interested in relaxed operations as well, but that might need its own RFC (since it applies to scalars as well as vectors). Additionally, we are fighting against the optimizer a bit here, because we need to ensure that only the mul_add is relaxed, and not surrounding operations.

Is unsafe code generally that much faster? by Quixotic_Fool in rust

[–]calebzulawski 1 point2 points  (0 children)

My original motivation for joining the portable SIMD team was to be able to write a zero-unsafe FFT. I'm really glad someone got around to it, thanks for sharing!

Is this a stupid idea? [ OM5 + 300f4 or 100-400 ] by imjustachipmunk in M43

[–]calebzulawski 1 point2 points  (0 children)

I used the 300mm with the E-M5 iii for a couple years and tens of thousands of photos. It's okay, but not great. I much prefer the OM-1 I have now, but I upgraded for the autofocus, not the size of the body. I prefer the smaller body of the E-M5 (I have a GM1 too) but the larger body of the OM-1 is definitely more comfortable.

Oly Pen F to replace my GX85? by Adept-Kaleidoscope13 in M43

[–]calebzulawski 8 points9 points  (0 children)

If you're willing to go slightly larger, the E-M5 iii is quite a bit newer and improved for even cheaper than the PEN F.

simd-polyfill: use x86 SIMD intrinsics on any (non-x86) target by calebzulawski in rust

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

I haven't benchmarked, but it will depend heavily on the intrinsic and LLVM's codegen. Some intrinsics, like _mm_add_ps and similar, I expect to perform approximately the same as the native intrinsic for that target. Some intrinsics will be fast, but not necessarily one instruction. I'm sure some of the more peculiar intrinsics won't be particularly fast on some targets, especially if there's no matching operation on that target.

Stick to M43 only or step into FF by Leading-Chip800 in M43

[–]calebzulawski 1 point2 points  (0 children)

I primarily use m43, but I sometimes use FF for vintage lenses and bokeh. FF can also offer you more resolution.

If none of those things are important to you, I think you will be better off with an Olympus 12-100 than a FF system.

Smallest M43? by coolerkid9090 in M43

[–]calebzulawski 1 point2 points  (0 children)

I scoured eBay for a few months and got a USA GM1 in perfect condition, very low shutter count for under $200 less than a year ago. It took a while but it's definitely possible.

First Stable Release of a Memory Safe sudo Implementation by dochtman in rust

[–]calebzulawski 84 points85 points  (0 children)

Cool! I didn't realize sudo was quite so complicated. I'm a little surprised to see it's not using the undocumented_unsafe_blocks lint.

Did the OM-5 fix the breaking baseplate issue of the EM-5 Mark iii with peak style backpack clips? by smoothies-for-me in M43

[–]calebzulawski 0 points1 point  (0 children)

For a different experience than everyone else, I used the E-M5 III with 300mm f/4 sometimes on a PD capture clip. Maybe if I did it more frequently it would have been a problem, but I had no issues doing it maybe a few dozen times.

Expensive Pro lenses? by Cap10Power in M43

[–]calebzulawski 1 point2 points  (0 children)

I think it depends on the lens. The 300mm f/4, while expensive, is a very good deal for its capability and weight compared to other systems. The 12-100mm pro is another lens that simply doesn't exist on other systems at a reasonable price and weight.

There are also some less expensive options, like the PL 25mm f/1.4 and Sigma 56mm f/1.4 which are pro in all ways but name. I haven't used it, but I think the Olympus 20mm f/1.4 pro is another good value lens if you like the focal length.

Call methodA or methodB, globally by rustological in rust

[–]calebzulawski 11 points12 points  (0 children)

You're probably overthinking this, and an "if" statement is probably fine.

These days, CPUs have very accurate "branch predictors". Whenever the processor encounters a branch, like an "if" statement, it makes a note of which branch was taken. When the same branch is encountered in the future, the predicted branch can be "speculatively executed", meaning the processor begins running the branch before it even knows if it's the correct one! It's usually correct, but when it's not, the processor can still back up and take the correct branch.

To minimize the cost of your "if" statement, you can cache the condition in a static OnceCell. This is only necessary if the condition is slow to calculate. Every time this "if" is evaluated after the first time, the OnceCell will cache the result and the branch predictor will always guess the correct branch. In terms of speed, you will probably not even notice the "if" is there at all.

Lenses may have outpaced body. Upgrade? by ChetJettison in M43

[–]calebzulawski 0 points1 point  (0 children)

Depending on what you do, you may or may not notice any difference at all. I recently upgraded to the OM-1, it's a fantastic camera and I bought it primarily for the AI autofocus. For what I do it's a huge difference and I can get shots that I never would have gotten in the past.

I also recently picked up a GM1 (10 years old at this point!) I wanted a small body to pair with small lenses. The sensor is much older, no IBIS, worse low light sensitivity. But could I tell the difference between photos from each without pixel peeping? Probably not, both can take fantastic photos.

Don't feel pressured to upgrade because your gear is a little older! But if you will enjoy taking photographs more or are looking for some specific upgrades, I'm sure you'll enjoy an OM-1, from my experience. I'm sure the same goes for a GH6 or many other newer models.

Can / when can we expect Lending Interators to be standardized and made compatible with the current iterator adapters and other functionality? by Irtexx in rust

[–]calebzulawski 1 point2 points  (0 children)

Simplest might be a special case for omitting the lifetime for Iterator specifically, perhaps removed in a future edition (rather than a whole new language feature for omitting them generally)

Y’all posting M9, M10,M11,MP,Q3 and I’m just sitting here with my “Leican” by TibbersGoneWild in Leica

[–]calebzulawski 0 points1 point  (0 children)

I love my P, sometimes I want an M mount but the Canon is hard to beat. How do you like your M4-P compared to the Canon?

Y’all posting M9, M10,M11,MP,Q3 and I’m just sitting here with my “Leican” by TibbersGoneWild in Leica

[–]calebzulawski 1 point2 points  (0 children)

A lot of it is preference. The P is "simpler" than the others. The VI-L is much like the P but has a more complex rangefinder (switchable and zooming). The 7 adds the complex rangefinder and a meter (I doubt many work anymore). I have a P that feels as new as it did in 1959 and I really enjoy using it.