My turn to rant

I don’t often get up on my soap box, but sometimes I just have to vent.

Ya know, it sucks being diabetic. Everything changes. Gotta count carbs. Gotta learn about glycemic index and glycemic load. WTF.Then you have to learn about bolusing. Getting the right bolus is tricky. That’s how much quick acting insulin ya take. If you take to much, you can crash and have hypoglycemia and end up having a seizure or worse. The risks of living with high blood sugar for long periods of time are bad as well. You can end up with ketoacidosis, neuropathy, glaucoma, renal failure, and the list goes on.

I went on a scavenger hunt to see if there were any Linux apps, other than my spreadsheet, that may assist in my diabetes. While I did find a few, they are all old. Ridiculously old. Here is what I found Open-Source Diabetes tools at sourceforge.net (fwd: msg#00006 linux.debian.devel.medical

Now I do know a little python, but I don’t think it’s at the level to be able to code an entire app. But they say, necessity is the mother of all inventions. So who knows.

If you know what you want or how you want it structured, a fast easy way to make an app is with xBasic (I know yuck basic!). I suggest it because it’s a truely fast RAD (Rapid App Developer) which makes it’s output true assembly language! and compiles into a binary. It lacks Internet and network socket abilities (like only one socket) but other than that it can do real serious system level programming.

Gambas 2, is far more powerfull if you need network/Internet stuff but doesn’t create actual machine code. It creates interpretive code which is slower to run by comparison.

Beleave me I empathize with you when needs of the one outwhey the needs of the many:(

Don’t know about basic. I did do basic back when I was a student at ITT. Didn’t care for it then. I actually preferred Hex back then to basic. But anyways. I believe I have Gambas installed, along with Ajunta and Netbeans and Eric. Just out of all the languages, I am more familiar with python than anything else. For the database I could do sql or cpickle. Cpickle is not human readable though.

There is so much to consider. And that’s even before I get started. What features? The gui and it’s layout. And then there’s the database issue. Do I go with cpickle and confine it to python? Do I go with xar or xml or sql? Xml or sql would be slower, but readable by other applications and by humans as well. Not sure about xar. There is even the type of database to consider, flat file versus relational and so on.

My native language is binary then octal then hex then assembly, took pascal and ‘c’ c++ but when xforms came along (it disappeared fast) GUI was so simple and fast xbasic became it’s replacement for me. Anyways, I only mentioned them because I figured you might be looking for something that could do a fast job that also had some power to them. The others you mentioned I can’t relate to how easy or powerful they are. Is there a Python GUI with WYSIWYG development?

A WYSIWYG?!?!? Not that I know of. Didn’t know one existed. I have used glade before, but still not nearly as easy as I’d like.

I guess the first step would be to outline what your application should do. This would narrow down the choice of languages/tools to implement it.

Gambas 2 xbasic 2.6.3 and xforms are all WYSIWYG on form design.
Gambas 2 … doesn’t create direct executional it’s interpretive
kinda like CLI with GUI integration. Has power of snapins for most everything. Has a built-in packager for RPM’s.

xBasic is WYSIWYG and creates pure assembly code but no snap-ins
and limited network stuff. RPM’s must be manually built.

xForms is no longer opensource and doesn’t fit with GPL as it is now a commercial app. Handles plasmoids, snap-ins, networks, custom forms, can integrate assembly, inline ‘c++’, pascal, gtk, python, and much more.

While you write your code in graphical basic with xbasic or Gambas, both contain c functions as well as basic. xForms creates actual ‘c++’ code which you then link and compile.

I did not see any rpms specifically built for openSUSE to install xbasic (just some general Linux rpms and some tarballs). Does this mean xbasic is easy to install and does not need a distribution specific rpm ? xbasic web site
… its interesting to me that it is not included with openSUSE Linux, and I suspect there has to be a reason?

Gambas web site

I also note gambas does not come with openSUSE OSS to install gambas for development, but rather one has to go to the “Education repos” (or some others under webpin) to install gambas. This lack of inclusion in openSUSE is also a puzzle and I suspect there has to be a reason?

Its puzzling to me that software that can be used for simple programming in basic is not included with openSUSE. I assume that is because with Linux, tools “other” than basic langauge programming are recommended to use? …

If so, I wonder if this is the best approach ?

I note most the engineers at work, who know some c++ and other languages, when having to do a quick and dirty front end to a spreadsheet (MS-Excell) or a database (MS-Access) simply write a quick and dirty Visual Basic program. … I’m wondering now if Linux is “missing the boat” here in not making easy to use tools available for the casual programmer?

xbasic and gambas are quite like visual basic, gambas uses class and module designations while xbasic uses a base library approach. As for missing the boat, this is quite likely since xbasic isn’t getting much new development and gambas is quite lacking in real documentation. Took me hours to solve some basic relationships but then it really took off once I figured out how they referring to things.

I have made presentation programs, inventory management, instant city wide map and address verification, accounting, payroll, and code translator programs all very fast and easy. I even created a home food delivery enterprise edition package that handles call centre, restaurant, store, and delivery service all using xbasic and the beauty is that code written in xbasic can be compiled for Windows and Linux with almost no change needed in code.

xBasic 6.2.0 installs in any distro below 11.0 and works great. Programs created under this version work also on any version of Linux that uses CLI and GUI’s (any gnome), KDE 3.5. Installation from RPM is no problem, no dependancies that I know of.

xBasic 6.2.3 needs openSUSE 11.1 or above and works great. Programs created under this version work also on any version of Linux using the kernel for 11.0 and above. Requires KDE 4.2 or above or Gnome. Installation from RPM is no problem and no know dependency problems that I know of.

Probably the reason it is not included in distributions, is that you must have it installed in order to modify source code and recompile. With no built-in RPM packager supplying source code for projects can be hard to do for most, and because there is almost no active development the package hasn’t grown in strength especially as far as network/internet and maintainer go.

hmm … still, I guess it comes across to me, almost as a policy statement put in place by someone, that by NOT including gambas nor xbasic, that users are being encouraged (via discouragement of gambas/xbasic) to be using the c/c++ language for programs (or use python, or perl or something else, where those are included).

But is not this “no built-in RPM packager” point also true for C++, perl, python, etc … ?

People that I have dealt with tend to expect c++ etc to be totally build as you go, but when they deal with ‘Basics’ they tend to just use the ide and don’t carry the c++ c# or whatever thinking across. Case in point, you can rapidly create using a GUI basic and stop there just running straight from the GUI’s ide.

I know from experience, that remembering that your finished program won’t work if you run it from the build folder. you must run it from a run folder placed elsewhere and include the xb.dll run file there rather than the xb.dll build file for the ide. As I have found, it’s a concept that just doesn’t sink in because both files are the same name but one is the runtime library and the other is the build time library. It is resolvable by having a build folder and a run folder. This pertains to Windows. Linux uses an easier approach.

Ok, you guys, what you have been discussing is over my head, so let’s get back to what is relevant.

Keep in mind I am using a spreadsheet, right now. Simply because for me to write the code would take to long.

Now, here is what I track.

                                                                            Date,                               Time,                               Blood Sugar Levels ,                              Food consumed,                               liquid consumed,                               Calories (estimate),                               Protein,                               Fiber,                               Fat,                               Net Carbs (which is what I actually go off of),                               Total carbs,                               Mood,                               Pain/Discomfort,                               Non-Diabetic Meds,                               Exercise,                               Calories burned,                               Lantus,                               Humalog,                               Injection location,                               Blood sugar difference,                               Difference in units,                               Notes                

Now to me, what is essential is the bolus predictor.
My current formula looks like this

=(BF3-120)/24+(BF11/20)

Now let me explain that. Say my blood sugar is 286, now with that formula, It goes like this. (286-120)/24. Now the next bit is for the Net carbs consumed, so if the net carbs were 25, then it would look like this. (286-120)/24+(25/20).
Ok, so we have that part understood, I hope. For me, 120 is the goal. A goal I never achieve. So say after 3 entries, the bolus predictor would adjust +/- 1 to 2 units. It could also only do this once in a 24 hour period. With diabetes caution is best. Now obviously, they would have to put in their bolus the first few times.

I will, give you a screenie of my log, just so you can get a feel for what I deal with.

http://img258.imageshack.us/img258/1913/desktopgu.th.jpg](http://img258.imageshack.us/i/desktopgu.jpg/)

Since you’re already using a spreadsheet, did you consider storing entered data in a database, thus combining it with OpenOffice.org Base. You could create an interface with Base to enter data and get graphs and warnings as results.

Tried that once. It was a disaster. Besides, openoffice base is not compatible with M$ Access. I want something that can be used by more than just me. I’d like to offer it to the American Diabetes Association under the GPLv2 and to other diabetics abroad.

What you have is basically a collection of data. That calls for a database for storage and retrieval. Everything else is on top of this.

Personally, I would do it with MySQL as a backend. Why? It is available for most OS’s and can be accessed from almost any language (perl, php, bash, C, …) or through ODBC.

xBasic is WYSIWYG
???:open_mouth:

CAN’T be the same xbasic I used as a kid!! But wait, that was '68-69, and it was all text then anyway, so I guess you could say it was WYSIWYG then!

Laughter aside tho - you can use Base, as suggested, to design a front end. You can put the data in an SQL container - I don’t care what brand, and access it from a similar MS Access front end.

Also, simple and quick right-now solution, if the spreadsheet works, make it into a template with some instructions, save it as an xls, and share that while you work on something fancier. I haven’t played with the OO version of basic or macros yet, but in Excel it isn’t that hard to do VBA or use database “front end” pages with protection and all to make end-user input easier.

Good luck, and I hear your pain on the “old” software. Maybe some of the original developers on those 'old" projects are still around somewhere? And might be willing to work with you?

I have saved it as xls and distributed that. That part I have done.

gBasic was from back in the 1980’s for DOS
qBasic was next
xBasic developed on Linux for Linux/Unix circa 1998-2003 by Max Reason
xBasic re-release on Linux 2000-2005 by Edie P???

Anyways, I could probably create something from the details provided to create a quick tracking and analysis system which could then port it’s results externally to various database structures, and be multi-plateform. I give it a test try to see if I can build an app.

I think I’ll go out of my element a bit and go with C++. I’ll have to learn it. But this way it’s cross plat form and cross arch. Besides, I can then do the gui in either or all gtk+, Qt, and C++ itself or VisualBasic (for those lovely Windows folk).

At this point I’m more concerned with getting the back-end to work.

I think my first version should be somewhat simple, and build from there.

Writing the date and time should be just a hair harder than “hello world”.
SQL is the defacto database language, so I’ll go that route.

Still got a lot of other problems to solve.

Let me conclude my rant by saying this is why I like open source. Because of my rant, I am now working with a couple of people to develop an application to hopefully resolve my initial frustration.

I still hate diabetes though. It sucks ba***!!