Anduril moved to GitHub

The title says it all.

After putting it off for years, I finally Did The Thing. Anduril’s development has set off for greener pastures, and moved from Bzr+Launchpad to Git+GitHub.

In addition to changing tools and platforms, I’m also completely reorganizing the code. That effort is still in progress, but the basic structure is already laid out and I hope it will be easier to understand and navigate.

I plan to release official .hex files on github now, instead of just dumping them into a directory on my personal site. And there’s a changelog. And formatted documentation. The new structure also means there can finally be documentation specific to each hardware model, to show things like what the channel modes are, general info about each light, and any other hardware-specific stuff.

There’s a lot more work to do, but it’s moving along nicely and the new infrastructure should make things easier for everyone.


Note:

Since GitHub is a big platform, and big platforms tend to turn against their users over time, I’m trying to keep the option open to migrate again if it ever becomes necessary. As part of this, I set up a redirect URL on my site to use as the primary project URL from this point forward. Please link to this when possible, instead of directly to GitHub:

https://toykeeper.net/anduril

This link should keep working even if the project needs to migrate again.

44 Thanks

Nice to see you in GitHub! A big hug

2 Thanks

Wowowowowowow!

1 Thank

Awesome, thank you! I’ll migrate my customizations and patches once it has stabilized for a while (maybe next weekend?) and send you some pull requests. :slight_smile:

1 Thank

Excellent work! Thanks for all you do!

2 Thanks

Great news :slight_smile:
Thank you for all of the development!

1 Thank

b-but microsoft… :cry:

1 Thank

I have absolutely no idea of what any of that means. lol.

But I’m a very happy anduril user since the NarsilM days and I very much appreciate your hard work ToyKeeper! And everyone else involved in such an amazing project.

Thank you!

4 Thanks

I’d say it was super easy, barely an inconvenience… but this kind of migration never is.

Right?

I’m not happy about that either. But to make collaboration easier for most of the people involved, it’s the most appropriate platform.

In case ens##ttification happens though, I’m leaving the door open to hop to a new platform again someday. I’m trying to avoid excess dependencies on github, and I’m keeping a redirect URL on my site to use as the primary project URL from this point forward:

https://toykeeper.net/anduril

This link should keep working even if the project needs to migrate again.

2 Thanks

It’s a big step for accessibility. Great success and much thanks!

1 Thank

It means a few things. In an abstract sense, I’m catching up on years of technical debt. It’s like how if you have bad plumbing, it causes hassles any time you need to do anything with water. Fix the plumbing and everything still looks the same, but a lot of tasks become quicker and easier.

In more concrete terms, for a regular user, the migration and restructuring means a few things:

  • Everything relating to the project is in one place and more organized, instead of being scattered across a few sites.
  • New releases are hosted right there next to the code and documentation.
  • Documentation looks prettier and is easier to find.
  • Documentation is more extensive, including a change log, help for common tasks, and details about each hardware model. Depending on how things go, it may even get a wiki.
  • Anduril is its own top-level project now, instead of being buried a few levels deep in a larger firmware repository. So everything is more up-front and more sanely organized.
  • It’s easier for people to contribute, and I’m building infrastructure to include custom flavors of the code instead of only the stock versions, so a wider variety of better stuff should be easier to get, faster.

A lot of things are still in progress, though. Like, I haven’t added any releases yet, or any hardware-specific documentation. But the foundations for these things are available now, while before they weren’t really feasible.

5 Thanks

Thank you for explaining for the mere mortals! Much appreciated. :smiley:

1 Thank

Awesome work as usual @ToyKeeper , thanks for everything you do for the flashlight community. I’m sure this migration was/is a ton of work, but it seems like a pragmatic choice that will reap benefits once the dust settles.

3 Thanks

Most excellent :smiley:

2 Thanks

Thank you!

1 Thank

I know in great, unfortunate detail exactly how much work this kind of version control migration requires, but no idea how much more work it required to rejig all your personal processes. This is a huge gift to the present and future community. Thank you.

3 Thanks

:+1: :partying_face: :tada:

Strong +1 to that: Github has been bought by MS and is now part of the big happy family of Windows, Azure, Internet Explorer/Edge, Office and all their other privacy-sucking, poor-performing and bug-spouting ‘products’. It’s taking more time for MS to enshittify Github than I initially predicted, but sure as hell they will get to it someday soon.

May I suggest GitLab? GitLab - Wikipedia? All of git’s greatness and none of MS suckyness, and while they’re not exactly small, they at least are opencore and being smaller than Github, may present you with a viable alternative when Github finally becomes unbearable.

1 Thank

Just as a heads-up to try and help anyone starting with this new source of Anduril from github: contrary to the old Launchpad versions, it doesn’t respect nor use the already-installed DFP sources as indicated by the $ATTINY_DFP environment variable; so, before trying to compile anything, you really have to re-install them under ./arch/dfp/attiny (not sure that’s a great idea, installing this into the anduril source tree – but TK knows best OFC). Both README.md and the error output from trying to run ./make without doing this first will helpfully point you towards running ./make dfp first.

BTW, speaking about things that don’t seem to be great ideas, I’m not sure calling the main script make was one either – overriding a system command and all that. But again, TKKB (ToyKeeper Knows Best).

Because now it installs the DFPs automatically with ./make dfp

1 Thank

Not quite “automatically”, one still has to run ./make dfp (as I pointed) :slight_smile: