# Too much time on my hands

**URL:** <https://discourse.julialang.org/t/too-much-time-on-my-hands/117816>\
**Category:** Community\
**Tags:** pkgtemplates\
**Created:** [August 4, 2024, 5:43pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816 "2024-08-04T17:43:04Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [August 4, 2024, 5:43pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/1 "2024-08-04T17:43:04Z")

</div>

**TL;DR** An old(ish) guy looking for a meaningful application of his modest coding skills.

`whoami` A semi-retired R&D engineer: “tangible things engineer”, not “software engineer”, with broad (not necessary deep) knowledge and hands-on experience in Physics / Material Science / Chemistry as well as electrical / chemical / mechanical Engineering. Maths was taught on a reasonaly serious level at the university, but that was \>40 years ago.

The last few decades worked at the Fraunhofer Society. Now after retirement working part-time for a small company in the field of chemical apparatus engineering, and have some free capacity.

Over the decades I learned and forgot like a dozen of programming languages. I consider myseld fluent in LabVIEW (which is probably irrelevant), and more-or-less in Julia. Not completely forgotten are Python and JS/JQuery/CSS/HTML. Programming in Julia has been of some use in my work, but was also hobby to a large part. I’ve authored following registered packages: LabVIEW0.jl & LVServer.jl, Mendeleev.jl, YAArguParser.jl, GivEmXL.jl.

I’d like to start some project of general use for the Julia community of some part of it. Ideally I’d work mostly independently, but with some support from those who are interested in the results. Any suggestions?

* * *

One idea is a GUI for creation of Julia projects or packages. I’ve started it about a year ago, then put aside for varius reasons. The motivation has been, that especially for a fresh Julia user it is difficult to orient himself in the plethora of available options. Personally I have, after trying PkgTemplates.jl and PkgSkeleton.jl, settled with just using `] generate` command, with copying all the rest from my other packages if necessary.

In this project (working title [PackageInABlink](https://github.com/Eben60/PackageInABlink.jl) ), Blink.jl is used for GUI, and PkgTemplates.jl as the backend. In the meanwhile I’ve however learned about BestieTemplate.jl, which might offer an advantage of being able to update packages. You can [see mockup here](https://html-preview.github.io/?url=https://github.com/Eben60/PackageInABlink.jl/blob/main/html/mw28.html) , and some programming behind it is also implemented. I chose Blink.jl because of some experience with HTML and JS (though I dislike JS), but if there a better alternative, I’d consider it. @abelsiqueira , @gdalle - what’s your opinion’?

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [August 4, 2024, 5:54pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/2 "2024-08-04T17:54:38Z")

</div>

> [@Eben60](#):
>
> I’d like to start some project of general use for the Julia community of some part of it. Ideally I’d work mostly independently, but with some support from those who are interested in the results. Any suggestions?

I would personally love something like the [targets](https://books.ropensci.org/targets/) R package within Julia for reproducible analysis pipelines. Given your wide range of expertise and depth of knowledge, this might be a really fun project. Here’s a little ChatGPT summary of the package with some light editing from myself:

> `targets` is a tool for managing reproducible and efficient data analysis pipelines. It organizes workflows into directed acyclic graphs (DAGs), where each node represents a step in an analysis and edges represent dependencies. By tracking these dependencies, `targets` ensures that only the necessary parts of a given pipeline are re-run when changes occur, optimizing computational resources. The package also supports parallel computing and various storage options, making it scalable for large projects.
> 
> `targets` integrates well with version control systems like Git, allowing for collaborative and trackable development. It provides flexibility by enabling the incorporation of custom R code and the use of other R packages, and it includes functions for visualizing pipelines to aid in understanding and debugging workflows. In short, `targets` streamlines the creation of reproducible and scalable data analysis projects in R.

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 4, 2024, 6:02pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/3 "2024-08-04T18:02:07Z")

</div>

I’d recommend using [Bonito.jl](https://github.com/SimonDanisch/Bonito.jl) instead of Blink, since Blink isn’t really maintained as much anymore.  
It should work quite well with electron, the browser or VSCode plotpane, and offers basic UI elements to create the app, but you’re free to use whatever HTML/CSS/JS you want 😉  
Of course I’m a bit biased here, being the author of Bonito.jl 😉

---

<div class="post-metadata">

**Author:** ![Krastanov](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/krastanov/32/6817_2.png) [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Post date:** [August 4, 2024, 6:04pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/4 "2024-08-04T18:04:18Z")

</div>

I imagine “tooling” packages would be of very high impact, making everyone’s life better. E.g. helping with Infiltrator.jl, TestItems.jl, JuliaSyntax.jl, JuliaLowering.jl (to name some I care about). Some such packages are dark magic, but others are much more “reasonable engineering” focused.

In the monthly newsletter I now also post “calls for contributors” where maintainers of packages announce if they would like to have more folks helping with specific projects: [Newsletter - Julia Programming Language](https://discourse.julialang.org/c/community/news/66)

---

<div class="post-metadata">

**Author:** ![mrufsvold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrufsvold/32/31600_2.png) [@mrufsvold](https://discourse.julialang.org/u/mrufsvold)\
**Post date:** [August 4, 2024, 7:01pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/5 "2024-08-04T19:01:20Z")

</div>

I started working on that with Waluigi.jl, but the project I was making it for got cancelled, so I haven’t had time to work on it.

I’d love to pass the reins if @Eben60 wanted it.

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [August 4, 2024, 7:04pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/6 "2024-08-04T19:04:10Z")

</div>

> [@TheCedarPrince](#):
>
> Given your wide range of expertise and _depth of knowledge_, this might be a really fun project.

> [@Eben60](#):
>
> (not necessary deep) knowledge

😀

Well, I had a look onto the [targets](https://books.ropensci.org/targets/) R package - I don’t think it’s realistic for me to port it or write something similar, especially as that is completely outside of my field of knowledge.

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [August 4, 2024, 7:17pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/7 "2024-08-04T19:17:19Z")

</div>

> [@mrufsvold](#):
>
> I’d love to pass the reins if @Eben60 wanted it.

That is outside of my field of knowledge just as well, but at least the code size is manageable, the original package is in Python which I can read, and substantial work already done. I’m not sure this is what I’m looking for, but might throw a closer look onto it.

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [August 4, 2024, 7:26pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/8 "2024-08-04T19:26:53Z")

</div>

> [@sdanisch](#):
>
> since Blink isn’t really maintained as much anymore

isn’t really maintained “as much”, or isn’t really maintained?

Blink.jl has some 50 packages downstream - I hoped it’d stay maintained for years to come.

I’ve already written some code for Blink.jl . But on the other side, coming back a year later makes starting afresh not a big difference. I’d have a look.

---

<div class="post-metadata">

**Author:** ![mrufsvold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrufsvold/32/31600_2.png) [@mrufsvold](https://discourse.julialang.org/u/mrufsvold)\
**Post date:** [August 4, 2024, 7:33pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/9 "2024-08-04T19:33:16Z")

</div>

The bones are there, and the concept is pretty straightforward! If you do decide to take a crack at it, I can take some time to improve the internals documentation and testing a bit. I’d love to have a nice language for scheduling jobs with Dask.

Feel free to Slack me if you want to chat!

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 4, 2024, 7:44pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/10 "2024-08-04T19:44:45Z")

</div>

@Eben60 your past work on ChemFormulae.jl and other chemistry efforts to convert chemical formulas into compositions was really useful. Maybe you could refactor the code and make a single package for chemistry work in Julia? Could this package be Mendelev.jl?

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [August 4, 2024, 9:16pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/11 "2024-08-04T21:16:31Z")

</div>

> [@juliohm](#):
>
> make a single package for chemistry work in Julia

I don’t see that as realistic.

[ChemFormulae.jl](https://juliahub.com/ui/Packages/General/ChemFormulae) was a pretty simple thing made within a couple of days, but that was just at the at the entrance of an endless rabbit hole 🙂 - and for a descent into a rabbit hole I’d prefer to know beforehand what are my objectives.

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [August 5, 2024, 12:11am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/12 "2024-08-05T00:11:48Z")

</div>

I remember coming across Waluigi.jl once upon a time! I thought it was such a great initiative but sorry to hear it got cancelled! That said, let me also CC @jpsamaroo and @pszufe as I think they’ve also been looking at something related to this discussion; maybe they might have more thoughts to add here in case @Eben60 is interested at all in this.

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [August 5, 2024, 12:13am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/13 "2024-08-05T00:13:10Z")

</div>

Ah whoops – I was more getting at the fact that it sounds like you have exposure to a lot of various domains but I can see my contradiction in 😂 🤦‍♂️

---

<div class="post-metadata">

**Author:** ![tecosaur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tecosaur/32/23206_2.png) [@tecosaur](https://discourse.julialang.org/u/tecosaur)\
**Post date:** [August 5, 2024, 3:56am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/14 "2024-08-05T03:56:11Z")

</div>

> [@TheCedarPrince](#):
>
> I would personally love something like the [targets](https://books.ropensci.org/targets/) R package within Julia for reproducible analysis pipelines.

> [@mrufsvold](#):
>
> I started working on that with [Waluigi.jl](https://juliahub.com/ui/Packages/General/Waluigi), but the project I was making it for got cancelled, so I haven’t had time to work on it.

While more work is needed, DataToolkit.jl should be able to do exactly this sort of stuff. See the graphs under “Recipe Hashing” on [Cache · DataToolkitStore.jl](https://tecosaur.github.io/DataToolkit.jl/store/plugin_cache/).

Currently using it like targets/Waluigi is a bit awkward, but mostly because I haven’t had much cause to use it that way.

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [August 5, 2024, 6:24am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/15 "2024-08-05T06:24:00Z")

</div>

First of all thank you for your motivation!  
I agree with @Krastanov that general Julia tooling is likely to have the most impact, so I wouldn’t necessarily encourage personal scientific projects to pile up here, especially if they’re outside of your expertise.

> [@Eben60](#):
>
> One idea is a GUI for creation of Julia projects or packages.

I think this could be a really nice idea, and lower the barrier of entry for beginners. I like your mockup, and it could be a more pleasant experience than the terminal interface for many people.

> [@Eben60](#):
>
> [Blink.jl](https://juliahub.com/ui/Packages/General/Blink) is used for GUI, and [PkgTemplates.jl](https://juliahub.com/ui/Packages/General/PkgTemplates) as the backend. In the meanwhile I’ve however learned about [BestieTemplate.jl](https://juliahub.com/ui/Packages/General/BestieTemplate), which might offer an advantage of being able to update packages.

Indeed PkgTemplates.jl has been the standard for a long time, but after chatting with @oxinabox at JuliaCon we might recommend @abelsiqueira’s BestieTemplate.jl as the new default. One reason is the update mechanism, and the other is that neither Frames not I have much time for maintenance of PkgTemplates.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [August 5, 2024, 8:40am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/16 "2024-08-05T08:40:30Z")

</div>

> [@Eben60](#):
>
> I’d like to start some project of general use for the Julia community of some part of it. Ideally I’d work mostly independently, but with some support from those who are interested in the results.

> [@Why is LoopVectorization deprecated?](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/121):
>
> check\_empty=true/false didn’t change between early Julia versions and 1.10. We could make check\_empty=true the default. Closing this because tests pass on 1.11, while check\_empty=false should’ve also caused segfaults in older Julia versions. [Test cleanup · JuliaSIMD/LoopVectorization.jl@eeaa0b2 · GitHub](https://github.com/JuliaSIMD/LoopVectorization.jl/actions/runs/8946228352) But if anyone wants to contribute towards v1.12, the SciML Small Grants outlines that project and we’d be happy to up the ante. Maintenance never ends, so it’ll need v1.13 updates too!

---

<div class="post-metadata">

**Author:** ![mrufsvold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrufsvold/32/31600_2.png) [@mrufsvold](https://discourse.julialang.org/u/mrufsvold)\
**Post date:** [August 5, 2024, 11:22am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/17 "2024-08-05T11:22:54Z")

</div>

My original intent was to keep Waluigi.jl’s backend generic so that people could use Dask.jl directly, have it construct DataToolkit.jl projects, or use some not-yet-existing backend that uses SQS queues and such.

When I read the docs of DataToolkit.jl, I get the sense that its audience is scientists who need reproducibility, so a static DAG is assumed. Where pipeline orchestration needs each node to be able to dynamically generate requirements and outputs.

But maybe I’m wrong about what Datatoolkit.jl can do!

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 5, 2024, 11:47am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/18 "2024-08-05T11:47:24Z")

</div>

> [@gdalle](#):
>
> I agree with @Krastanov that general Julia tooling is likely to have the most impact, so I wouldn’t necessarily encourage personal scientific projects to pile up here, especially if they’re outside of your expertise.

The VSCode extension for Julia is another potential candidate project @Eben60.

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 5, 2024, 11:53am UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/19 "2024-08-05T11:53:27Z")

</div>

I think kept alive is the right word 😉  
The initial authors are gone and most people who have put some time into it also haven’t committed in a long time…

---

<div class="post-metadata">

**Author:** ![greatpet](https://avatars.discourse-cdn.com/v4/letter/g/e495f1/32.png) [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Post date:** [August 5, 2024, 12:16pm UTC](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816/20 "2024-08-05T12:16:49Z")

</div>

> [@Eben60](#):
>
> One idea is a GUI for creation of Julia projects or packages.

Would be fantastic if the GUI is accessible within VSCode, e.g. as an extension. Imagine just clicking the menu “Project” → “New Project”.

Once a project has been created already, a GUI package manager would be nice to have, so users could click “update”, “resolve”, “test” etc.

[Next page](https://discourse.julialang.org/t/too-much-time-on-my-hands/117816.md?page=2)
