Jeffs Techie Moment

Greetings, normally, like 23 hours a day I am the LBD Warrior, a dude with dementia trying to get by. However maybe an hour a day at this stage of things I am more like my old self than at any other time. This hour doesn’t happen all at once and sometimes not at all but most of the time its a moment here and a moment there that I get to be Jeff for a few. Since I was an engineer before, this is literally Jeffs Techie Moment…

OK I only have a limited window of time so WARNING! TECHIE STUFF AHEAD! READ AT OWN RISK!

There with that out of the way, this is a note to any other grower/hacker types out there for an app that would be the most amazing thing since sliced bread for the new cannabis grower. If you have decent grower skills combined with ability to put out a pretty basic Android (or Apple I suppose) app, you have what you need to do this. I was on my way to hacking out at least a prototype of this when the dementia took too much of me and that was the end of that.

This is what I am talking about, a really useful cannabis diagnostic app. We have all seen the hundreds of questions accompanied by hundreds of JPGs with dodgy leaves, etc. so you know the demand is out there. Also as someone experienced in growing, you know the value of the Marijuana Garden Saver book which is like a photographic encyclopedia of grow problems. if its not the right answer it can get you in the right direction. I have worn mine out.

Anyhow check this out: I discovered a whole bevvy of Android color apps for paint stores so you could take a picture with the app using your smartphone and it identifies each and every shade and color in your image, from their palette (like Sherman Williams Paint, etc so non-trivial color sources). The point is the mechanism and putting the two together I can see (with heuristics of course) an app that takes a pic of the leaves of a sick plant, color and/or pattern-matches what it sees to a database of known issues and can issue a correct diagnosis or at least the correct diagnosis will be in the result set.

All the pieces are there and like many things we repurpose in our quest to grow the best, these techs could easily be repurposed to be a boon to new growers, maintained by elder growers…maybe donation ware if you want, I am not into that end of things, I just connect the dots for how it could work…

OK my moment is passing, Homer-Simpson mode coming on. Good chance I won’t recall this msg in an hour so glad I got it out. Now if only the right eyes see this, it could be so cool. Reply with any questions and next time Homer is gone and Jeff is visiting, he will answer…

On to Bleach anime for the next 5 hours…

7 Likes

Wow… and I mean nothing ill…this was an awesome read…be nice if it can be done…

4 Likes

Maybe @piper could do something like that! :nerd_face:

4 Likes

@kapouic ta for tag

I will take a look, would need a database (mariadb maybe)

I basically build roms ( custom operating systems) for android, I haven’t done packages (apps).

I will look into this, maybe python for the computer.

I can’t promise anything with this, it might be out of my league

4 Likes

Caveat: I am pretty much where you are, or I was, more the ROM/systems guy than a smartphone app dev; in fact if you ever had a PS3 do a firmware update you had a little of me in your system. In any event I get your position. Also did enough smartphone stuff to know that Android had almost every service needed already built into the system…that said, the bar to this kind of development is high enough that I realized that if I could find a smart-phone centered dev, this would be a piece of cake.

However knowing that might not happen I kinda started specing what a proof of concept could look like . I was ready to set up a test environment on my Linux box, initially using Python, Python Imaging Libraries (PIL), Python AI libs that bring usable back prop neural networks to the table. As a kind of test rig I was going to scan the images in the Garden Saver Guide and use those to train a set of neural nets.

The core of that training looked like:

  1. Import images of healthy leaves.
  2. For each, isolate a single “signature” leaf
  3. Divide that leaf visually into subsections.
  4. Each subsection develops a signature for that section involving color, pattern and possible light/contrast.
  5. Thus the neural net would be trained using the individual subsection data signatures to recognize a specific condition, anything from "good’ to “iron deficiency” to “light burn”. It should all be detectable.

Once things reached this level and I was hitting at least 90% success using the NNs, I would then open it up to outside JPG submissions to give the neural networks some wildcards to chew on.

So even if the smartphone app never happened, I could still use the phone to snap the pic, upload to my cloud where a process sucks in new submissions, works on the data and mails the results back to the smartphone.

That was going to have to be good enough…

2 Likes

Great idea absolutely!!.. It’ll take time… I’m going to run that idea to my good friend who develops apps and see what he comes up with… His last contract was for major landscape company who needed to track and log maintenance schedules for trees and plants… I see this app going beyond cannabis but used widely for all plant life

2 Likes

Say meant to ask, mariadb is new to be, we used to use SQLite for embedded stuff for many years; is mariadb the new db of choice for small and embedded systems?

1 Like

Android which is Linux, dropped MySQL years ago, you can still use it, it’s old, and probably only used by windows people nowadays, but MariaDB is more up to date, more developers, etc runs on debian, red hat, arch, etc

iphone iOS/Mac is based on BSD (unix) also uses MariaDB installed by homebrew package manager.

Embedded i would use Apache Derby

1 Like

Errr thats nice but MySQL != SQLite…sure you knew that, not even in the same universe. When did Windows users ever adopt MySQL? Much has changed I see. But then I still don’t trust the Microsoft takeover of Github…its like ppl are ticked at Bill Gates for what they suspect he is doing now, I am still pissed over the early 90’s…

And yes, Android is a basic VM over a Linux kernel, I worked on the first XPerias to inject special system events into the Android layer for that whole social media nightmare that was version 1.0 of “TimeScape” and “MediaScape”. Woof. I mean it was cool for the time but a kludge and didn’t have the legs for the long-run…but then everyone back then was trying to integrate everything from MySpace to Twitter and it was a mess…and the less said about Facebook integration, the better…

None of which matters a whit for the question at-hand…did a quick Google, this sums up the mariadb vs sqlite thing well enough for my needs:

MariaDB vs SQLite

I am sure I am showing my age but mariadb feels a little heavy for embedded but for the prototype app we are discussing, pretty much any reliable DB would work, hell even a flat-file would work for 1.0 since the storage needs are of minimal complexity and once the DB gets heavy enough to move to the cloud, it no longer matters as long as the app speaks a known, standard language. My guess is the heavy lifting will come in with the AI trying to do real-time number crunching in the field, which may further limit the practibility of hosting it entirely on a smartphone of todays capabilties… The phone may indeed just be the front-end, which is fine by me because I can continue to work more on the problem if I am still sitting desktop or server-side; my embedded days are long gone. Oh who am I kidding; the LBD sez they are ALL all gone, so at-best this is just me scratching a vanity itch.

I hate being broken and then forgetting that I am broken and finding out again all over again. I am going to join Hiro with some Jet Fuel I just picked up…

1 Like

Lets get one thing straight

SQLite is an open source project available in the public domain

MySQL is an open source project which is owned by Oracle (which is why Mariadb is used. Oracle is as bad if not worse than MS)

SQLite is a server-less database and is self-contained.
This is also referred to as an embedded database which means the DB engine runs as a part of the app.

SQLite supports these datatypes:

Blob, Integer, Null, Text, Real.

MySQL supports the below-mentioned datatypes:

Tinyint, Smallint, Mediumint, Int, Bigint, Double, Float, Real, Decimal, Double precision, Numeric, Timestamp, Date, Datetime, Char, Varchar, Year, Tinytext, Tinyblob, Blob, Text, MediumBlob, MediumText, Enum, Set, Longblob, Longtext, maybe more nowadays

SQLite library is about 250 KB in size
MySQL server is about 600 MB

Disadvantages of SQLite:

Lacks user management and security features
Not easily scalable
Is not suitable for big databases
Cannot be customized (everything should be customized)

Disadvantages of MySQL:
Requires some technical expertise to setup
Slightly different syntax as compared to conventional SQL

Android is a basic VM over a Linux kernel, is not correct anymore.

Dalvik is a discontinued process virtual machine (VM) in google’s android operating system that stopped with android versions 4.4 kitkat ( a long time ago) what is out to the public now is android 10 (I am using android 11, I am a beta tester)

The successor of Dalvik is Android Runtime (ART), which uses the same bytecode and .dex files, but not .odex files, while the .odex files are replaced with Executable and Linkable Format (ELF) executables and is now a JIT compiler with code profiling to ART

Java Virtual Machines are nothing more than stack machines :wink:

Dalvik was published under the terms of the Apache License 2.0.

Dalvik is a clean-room implementation rather than a development on top of a standard Java runtime, which would mean it does not inherit copyright-based license restrictions from either the standard-edition or open-source-edition Java runtimes. Oracle and some reviewers dispute this.

On August 12, 2010, Oracle, which acquired Sun Microsystems in April 2009 and therefore owns the rights to Java, sued Google over claimed infringement of copyrights and patents.

Oracle alleged that Google, in developing Android, knowingly, directly and repeatedly infringed Oracle’s Java-related intellectual property.

In May 2012, the jury in this case found that Google did not infringe on Oracle’s patents, and the trial judge ruled that the structure of the Java APIs used by Google was not copyrightable.

Lets not forget that Microsoft paid for this (Oracle)

The parties agreed to zero dollars in statutory damages for 9 lines of copied code.

I can get really technical but this is a cannabis forum, and I don’t like talking tech on cannabis forums. :slight_smile:

I use Mariadb for my servers and will stick with it till I die :wink:

PlayStation 4 uses the open-source FreeBSD kernel, while the Xbox One uses the Windows NT kernel found in modern versions of Windows.
:slight_smile:

I still have one of the original fat PS3s that we booted Red Hat on (Boot Alternate OS or something like that)…so being able to tap the power of the CellBE via Linux and familiar toolchains made everyday a dream job. I agree with every one of your points, although perhaps not how intended. Agreed, my work experience with Android is dated, no doubt on that, I just selected SQLite because its a fast setup, easy to prototype with, travels well across platforms. If I have to scale up its easier to swap something basic like SQLite with something heavier than the other way around, so depending on which direction your development lead, your choice of tools now might make a difference down the road.

But for ALL of that, the data storage portion of this is a really minor part, and one that you don’t really need exotic database capabilities to achieve. At least for the prototype I saw in my head, if you are not doing it total Android your are then going multi tier and at that point, any database, library or whatever will probably be chosen based on the platform its being run on…best UI for client-facing bits, best data handling based on the capabilities of the server, etc…

Basically just use the tools that work for you :wink:

If you didn’t know, android now uses the ext4 journaling file system from linux also :slight_smile:

A lot of people got money when they removed linux from PS3

I never owned a console, My computer kicks the shit out of any console that was ever made from day one. My son has had every console made, I bought them while he was growing up, now he buy’s for his kids :slight_smile:

Its ironic I never owned a console until I started at Sony on PS3 and PSP, didn’t really game either, more into the hacking end of things but working at Sony you became gadget-rich since you had to support so many oddball items, some of which never saw the light of day. Now I have a console (well the same ones mostly) because I am too hard-headed to spend money on a Windows machine just for gaming. To paraphrase Tim Allen, I would rather have my balls pounded flat with a hammer than game on a Windows box of any vintage.

I am actually glad you cleared that up about the Android VM situation because now it all makes sense, there was point where Android was good and then it wasn’t. suddenly requiring very Windows-like reboots every week to keep running AT ANDROIDS SUGGESTION…and ever since that started showing up, the security and other problems just escalated. Been out of the biz since 2011 or so, brain thing got me…but for all of everything else, and as a dude who had never been a fanboy of consoles (Emacs on the other hand, we can talk) I gotta say that as a pure-play coder/designer, the CellBE was the most amazing architecture I ever worked on. And Sony, at that time was an amazing employer. Unix is and always will be gettin-it-done but CellBE was flat out cool play with that much horsepower, it took your mind in directions not open to Intel coders…

Piper all joking and kidding aside you sound like you paid your dues coding-wise; let me pass something on to you I learned the most painful way possible: you know the old saying about may you never outlive your children…well the most painful days for me is, and I hope this never happens to you, is to find code that you had designed, written and has worked great for years…and you no longer understand how your own creation works, no matter how long you look at the code or want to…it is now a black box…most stuff I don’t care but that one, that really hurts in a way civilians will never understand…

Oh well…had this realization the other day and felt old AF…

2 Likes