I've been waiting for Magic Lantern for my 6D Mark II for years now, checking the homepage every 6 months or so for an update, so this is great news!
Magic Lantern Is Back
71–80 of 170 posts
Re: Magic Lantern Is Back
#72I've been waiting for Magic Lantern for my 6D Mark II for years now, checking the homepage every 6 months or so for an update, so this is great news!
Re: Magic Lantern Is Back
#73Earlier quoted context omitted.
I agree with some of what you're saying; some of the well known risks of working in C are because it's a small standard. But much of the undefined behaviour was deliberately made that way to support the hardware of the time - it's hard to be cross-platform on different architectures as a low-level language. C genuinely is easy to pick up. It is harder to master. And you're right, for many domains, there are better op…
> C genuinely is easy to pick up. I feel like this is a bit of an https://xkcd.com/2501/ situation. C is considered easy to pick up for the average user posting HN comments because we have the benefit of years -- the average comp sci student, who has been exposed to Javascript and Python, who might not know what "pass by reference" even means... I'm not sure they're going to be considering C easy.
Honestly, C seems to be one of the easier languages to teach the basics of. It's certainly easier than Java or C++, which have many more concepts.
C has some concepts that confuse the hell out of beginners, and it will let you shoot yourself in the foot very thoroughly with them (much more than say, Java). But you don't tend to encounter them till later on.
I have never said getting good at C is easy. Just that it's easy to pick up.
Re: Magic Lantern Is Back
#74For folks who don't know what Magic Lantern is: > Magic Lantern is a free software add-on that runs from the SD/CF card and adds a host of new features to Canon EOS cameras that weren't included from the factory by Canon. It also backports new features to old Canon cameras that aren't supported anymore, and is generally just a really impressive feat of both (1) reverse engineering and (2) keeping old hardware relevan…
Funny, when i saw it uses a .fm TLD i thought it's some online radio.
Re: Magic Lantern Is Back
#75Earlier quoted context omitted.
It's not firmware :) We use what is probably engineering functionality, built into the OS, to load and execute a file from disk. We run as a (mostly) normal program on the cam's normal OS. We build with: -Wall -Wextra -Werror-implicit-function-declaration -Wdouble-promotion -Winline -Wundef -Wno-unused-parameter -Wno-unused-function -Wno-format Warnings are treated as errors for release builds.
Awesome! Great work, and good luck!
You only add one at a time, so you only need to fix one at a time, and you understand what you're trying to do.
It is, however, a real bitch to fix all compiler warnings in decade old code that targets a set of undocumented hardware platforms with which you are unfamiliar. And you just updated the toolchain from gcc 5 to 12.
Re: Magic Lantern Is Back
#76Earlier quoted context omitted.
> C genuinely is easy to pick up. I feel like this is a bit of an https://xkcd.com/2501/ situation. C is considered easy to pick up for the average user posting HN comments because we have the benefit of years -- the average comp sci student, who has been exposed to Javascript and Python, who might not know what "pass by reference" even means... I'm not sure they're going to be considering C easy.
I've taught several different languages to both 1st year uni students, and new joiners to a technical company, where they had no programming background. Honestly, C seems to be one of the easier languages to teach the basics of. It's certainly easier than Java or C++, which have many more concepts. C has some concepts that confuse the hell out of beginners, and it will let you shoot yourself in the foot very thorough…
Re: Magic Lantern Is Back
#77> The main thing you need is knowledge of C, which is a small language that has good tutorials. Heh, a little like saying "the main thing you need is to be able to play the violin, which is a small instrument with good tutorials".
I stand by my statement! Compare the length of the C standard to JS / ECMAScript, or C++! :) Maaaaybe I'm hiding a tradeoff around complexity vs built-in features, but volunteers can work that out themselves later on. You honestly don't need much knowledge of C to get started in some areas. The ML GUI is easy to modify if you stay within the lines. Other areas, e.g., porting a complex feature to a new camera, are muc…
Re: Magic Lantern Is Back
#78For folks who don't know what Magic Lantern is: > Magic Lantern is a free software add-on that runs from the SD/CF card and adds a host of new features to Canon EOS cameras that weren't included from the factory by Canon. It also backports new features to old Canon cameras that aren't supported anymore, and is generally just a really impressive feat of both (1) reverse engineering and (2) keeping old hardware relevan…
Re: Magic Lantern Is Back
#79Around 2020, our old lead dev, a1ex, after years of hard work, left the project. The documentation was fragmentary. Nobody understood the build system. A very small number of volunteers kept things alive, but nothing worked well. Nobody had deep knowledge of Magic Lantern code. Sounds like a bit of a dick move. Part of being a lead dev is making sure you can get hit by a bus and the project continues. That means docu…
Uh, sure, maybe in a professional setting where you’re getting paid. But this was unpaid volunteer work. If, as a community, we start enforcing professional grade standards on people who are just contributing their free time to give us neat toys and tools, I kinda worry it makes the whole thing the whole thing less fun or sustainable. And if that happens, we probably stop getting these free toys altogether.
Re: Magic Lantern Is Back
#80Earlier quoted context omitted.
Awesome! Great work, and good luck!
Thanks, and for what it's worth, I didn't downvote you (account is too new to even do so :D ), and I agree with your main point - it's not that hard to avoid all compiler warnings if you do it from the start, and make sure it's highly visible. You only add one at a time, so you only need to fix one at a time, and you understand what you're trying to do. It is, however, a real bitch to fix all compiler warnings in dec…
Unpopular topic. I talk about it anyway, as it's one of my casus belli. I can afford the dings.
BTW: I used to work for Canon's main [photography] competitor, and Magic Lantern was an example of the kind of thing I wanted them to enable, but they were not particularly open to the idea -control freaks.
Also, it's a bit "nit-picky," I know, but I feel that any software that runs on-device is "firmware," and should be held to the same standards as the OS. I know that Magic Lantern has always been good. We used to hear customers telling us how good it was, and asking us to do similar.
I think RED had something like that, as well. I wonder how that's going?