Sheep can be amazingly destructive to computers and lamb slime , snow and sheep nose prints can do very bad things to the code when they are pressing buttons because you set the tablet down to fish out a lamb and other sheep got curious.
Correct. Heck I can't even guarantee I will have cell phone coverage or electricity in some use cases so the mobile/handheld version has to be completely self contained.
Wow! Ya that's a really interesting and bizarre set of constraints! Has to be sheep proof haha! And I imagine with a totally self contained thing you need to do some kind of reconciliation between the databases when they come back in from the field? Maybe that's not so bad if people are working with different sheep tho idk.. just really interesting to think about a non-internet based multi-user app haha
Web app possible but a totally separate user and use cases. I loathe mixing languages so I'd rather just stick with Python.
I meant as a replacement to the desktop app, not in addition, because you had mentioned cross platform Issues (using something like Electron so it feels native). But maybe those issues aren't enough to warrant switching to full on web development
You could still run the "backend" (served locally on the machine) in python, but ya if you hate mixing, there's not really any getting around JS in that scenario for the front end at least. I also try to avoid multiple languages when I can, which is why I would never write another backend on anything other than Node running Typescript unless my company forced me lol. If only for shared type interfaces alone, but it's also just so much better as a language / framework and as a dev community (and I've worked with Java, Python, even Kotlin and Go.. have to be careful mentioning those last two tho or the die hards will find me and we'll start a flame war
). But Python might still make sense for the science-y bits unless you could find similar packages on npm.
That was one of the early prototypes, mixing Java and Python
Ya mixing doesn't sound great if that means literally running python code from java or vice-versa. You have to really draw clean edges around those to make it not awful in my experience. I experienced the terror of running native JS inside Google's Java-to-Javascript framework GWT (which was a terrible thing that should have never been made). But if you separate cleanly into services it's not too bad imho. I always think in terms of web dev, so I'd have like a Science Service, literally running as a python web server and hit that from java through a nicely curated api wrapper or something (and python doesn't get db access or anything, it's just input output for data processing, or if it has a db it's for it's own stuff, not the main app db). I'm sure there are other ways to do it cleanly but that's just the way I know. But ya like you said as a single person team you have to make concessions to speed.
There are, they're called hierarchical databases
Ah ya I thought I'd read about that somewhere
Never had the use case myself.
but they have all sorts of other issues and problems and are much harder to normalize.
Totally, I was imagining just storing the parentage information in that db for performance and everything else in sql since it's a fixed tree that presumably doesn't change structure much. Only suggested it cause my gut went "recursive sql queries! ruh roh sounds expensive!" but that could be premature optimization. Was just a gut feeling. And once again my overall philosophy is very micro-service-y, so was also thinking use the right tool for just that part and keep the concerns separated with nice clean lines. But as a team of one you also have to do what's fast! (Plus let's face it writing recursive algorithms is pretty fun all other concerns aside
)
LambTracker was on github originally and an older version is still there but once Microsoft bought it I bailed out for my current and updated stuff.
Ah ya I wondered. I got nervous too, but so far it's been alright. Microsoft's dev stuff is actually pretty slick. I truly hate windows, but Typescript / VSCode are both really nice, and I've even heard good things about c-sharp.
Anyway, I get excited about technical architecture
(speaking of which this forum doesn't support the standard set of emojis! all my cute additions are getting removed! I had to go back through and choose the closest from the set of 10 or so they support <crying emoji> )
This thread has now officially become about software dev lol... hope that's ok...