Reviving the Relaxation Reminder?

Started by Masked Dude, September 02, 2019, 05:38:20 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Masked Dude

I thought about reviving the Dudeism Relaxation Reminder. First, it would be an unofficial release. Second, it sort of runs on my Windows 10 machine. It takes forever to start, and I'm not entirely sure why. Based on it being a .NET project from that year, I'm guessing it's a Visual Basic project created in Visual Studio. The last few years have seen big jumps in .NET, including adding C#, F#, and others.

Here's the thing: it runs on any machine with the .NET framework. That means all Windows systems, but not all Mac or Linux systems. You can redo it via Mono Develop, but you'd still have to install libraries to run it. When I did a test app, a .NET app was less than 450kb, similar to the original. But... that's not counting the hundreds of MBs that came included with Windows.

So I decided to try a Java app. OK, it was less than 200KB. But again, that's not counting the runtime needed. I have Java already installed, specifically OpenJDK 12 and JavaFX 12 for other reasons. So I thought, what if someones doesn't have at least a JRE (Java RunTime) installed? Let me make one self-contained app. Now it jumped to about 48MB because it needed to include the JRE and a lot of libraries that the JRE needs.

Hm. Let me go back to an old programming language I used: Pascal. I used to use Delphi and now I'm playing with Lazarus and Free Pascal. I haven't really played with Pascal in years, but I made a little app in it. It was 2.75MB and it ran on my brother's Windows machine without any additional downloads. If I decided to compile the app on my Linux box, I'd have to install over 550MB of stuff to do it, but should any Linux users here need it, I probably would. I can run Mac OS in a virtual machine, albeit slowly.

So.... my main questions are:

How many know for sure they have Java installed? Usually this is more than just what your browser uses. I don't want anyone to have to download a 48MB app just to remind them of breaks.

How many Mac users are there here that would use it? Like I said, that virtual Mac is slow and takes a huge chunk of my RAM when it runs. It's worth it if I know people would use it. And how many Mac users have .NET Framework 4 installed? I'm thinking very few Mac users have it. Mac and iOS apps use Xcode, and I can't share any of my code to a Mac. Microsoft development is mostly C#, etc, and Mac is Xcode and Swift.

I could write the app in Pascal, although that would be a slow start since I haven't used Pascal in so long.

Any thoughts?
* Carpe diem all over the damn place *
Abide like the Dude when you can
Yell like Walter when you must
Be like Donny when you are

Ordained 2012-Aug-25
Honorary PhD Pop Cultural Studies, Abidance Counseling, Skeptology
Highly Unofficial Discord: https://discord.gg/XMpfCSr

Masked Dude

This is going to take longer than I thought

In Lazarus/FreePascal, there are very few cross-platform audio options. That means I can play sounds in Windows, but that code doesn't work on Macs or Linux.

In Java, I can play sounds, but again there's the issue of Java libraries. Mac OS X 10.7 and above no longer come with Java pre-installed. Also, it uses JavaFX, which would have to be installed along with Java's JRE (Java Run Time Environment).

This may not be possible.

For any of you tech dudes, I know that Electron and ReactJS are cross-platform. however, the issue with Electron is that it runs in a VM (virtual machine), which has huge RAM requirements. Basically, if you make an Electron app, you're starting a VM that runs a browser that runs your Electron app. I've heard the lowest RAM use is around 800MB. Even Discord uses a lot of RAM. They heavily streamline the libraries and code, but I don't have the resources to do just that.

So, dudes... I don't know if this is going to work.
* Carpe diem all over the damn place *
Abide like the Dude when you can
Yell like Walter when you must
Be like Donny when you are

Ordained 2012-Aug-25
Honorary PhD Pop Cultural Studies, Abidance Counseling, Skeptology
Highly Unofficial Discord: https://discord.gg/XMpfCSr

Masked Dude

Project is on hold until I can figure this out.

Sorry for getting anyone's hopes up.
* Carpe diem all over the damn place *
Abide like the Dude when you can
Yell like Walter when you must
Be like Donny when you are

Ordained 2012-Aug-25
Honorary PhD Pop Cultural Studies, Abidance Counseling, Skeptology
Highly Unofficial Discord: https://discord.gg/XMpfCSr

BikerDude

Make an app with the runtime included.
It's often the case that the app will have 2 releases. One packaged with the JRE and one without.

I'd suggest hosting on sourceforge. It's free.


Out here we are all his children


BikerDude

Actually if I were you I'd target Android and IOS.
The tools are free and targeting android solves all your deployment and packaging issues.
Android Studio has all the tools to make that painless.

https://developer.android.com/studio


Out here we are all his children


Masked Dude

Yeah, I've used Android Studio quite a bit. I'm not very good at Java, which is what it uses.

I can't develop for iOS because I don't own a Mac or anything.

After talking to Marlowe on my Discord, we are developing a version that is HTML/CSS/JS that might do the trick. But, again, we'll need hosting for that.

So it's not 100% dead, but unless I learn Java fast, it's flailing.

The problem with including a package with the JRE included is that it's almost 50MB large. I don't think anyone would download that just for a reminder app.  :D
* Carpe diem all over the damn place *
Abide like the Dude when you can
Yell like Walter when you must
Be like Donny when you are

Ordained 2012-Aug-25
Honorary PhD Pop Cultural Studies, Abidance Counseling, Skeptology
Highly Unofficial Discord: https://discord.gg/XMpfCSr

Masked Dude

Looking into learning Kotlin. About halfway done through a course on Udemy, and it seems easy to learn.

Will keep you posted.

If anyone wants to buy me a Mac, I'll make an iOS version. (I'm kidding, of course.  :D )
* Carpe diem all over the damn place *
Abide like the Dude when you can
Yell like Walter when you must
Be like Donny when you are

Ordained 2012-Aug-25
Honorary PhD Pop Cultural Studies, Abidance Counseling, Skeptology
Highly Unofficial Discord: https://discord.gg/XMpfCSr

BikerDude

Quote from: Masked Dude on September 19, 2019, 01:52:18 PM
Yeah, I've used Android Studio quite a bit. I'm not very good at Java, which is what it uses.

I can't develop for iOS because I don't own a Mac or anything.

After talking to Marlowe on my Discord, we are developing a version that is HTML/CSS/JS that might do the trick. But, again, we'll need hosting for that.

So it's not 100% dead, but unless I learn Java fast, it's flailing.

The problem with including a package with the JRE included is that it's almost 50MB large. I don't think anyone would download that just for a reminder app.  :D

I've been a Java developer for 20 years.
Started out with C/C++ so Java was actually a lot easier.
It's really not that difficult.
Most of the difficulty lies in the fact that most modern Java apps are predominantly web based J2EE apps with a ton of additional add on's like Spring.
Core Java is not bad. If you are considering C# Java wouldn't be any more difficult.
C# is basically just a Java rip off that MS developed after getting sued by Sun back in the day.
C# and Java are nearly identical in most respects.



Out here we are all his children


Masked Dude

Yeah, C# feels like Basic trying to be Java. I really need to get back into Java since it's the foundation of most Android apps. I liked using OpenJDK and JavaFX, though.

Eventually I want to get back into C++ and look into Gtk. I like Qt5, but the licensing is friendlier on Gtk.

Right now, I'm going to finish a Kotlin course. It's based on Java anyway, but Java has a much larger share. It's slightly easier to handle nullable variables but not by much. Once I'm finished with that, I'll probably dive back into Java again. I think my issue was that I didn't stick with it and didn't make myself a sort of syllabus. So I had no motivation to stick to it. But, yeah, it didn't look too hard.

Still easier than C, and I used to use that. I still have COBOL flashbacks.
* Carpe diem all over the damn place *
Abide like the Dude when you can
Yell like Walter when you must
Be like Donny when you are

Ordained 2012-Aug-25
Honorary PhD Pop Cultural Studies, Abidance Counseling, Skeptology
Highly Unofficial Discord: https://discord.gg/XMpfCSr

BikerDude

Everything seems to be web now.
React.js, angular, node. All the JS stuff.

C/C++ seem to have become relegated to scientific apps and ELT apps. Games also I guess.
At least the last time I used it.


Out here we are all his children


BikerDude

If you are wanting to get proficient with Java with an eye toward employment learn the most common stack.
Eclipse, with GIT for source control, JBoss or at least Tomcat. Webshere is good to know but it's a commercial product.
Various database things. At least SQL but Hibernate, JPA are still common.
And right now all the JS libraries are very common. React, Angular, node etc...
Webservices are good to know. Soap and JSON.


Out here we are all his children


Masked Dude

To be honest I wouldn't even know how to find employment in it without a degree or any proof of training. Although I live near a big tech area, it's hard to prove you know any programming.

But, yeah, it all seems to be going to web. I looked into going the JS/React.js/React Native route. JS seems fairly easy, or at least ES6+ does. I whipped up a quick JS in a couple hours by just reading a few tutorials. But I do need to get back into Java at some point. I keep leaning toward IntelliJ, but I know eventually I'll have to get Eclipse again.

If I remember, JBoss is by RedHat. Funny that I've never gotten into it, considering I live near the headquarters of RedHat. :D

I used JSON for my Discord bot. It's run by Python 3, and the various data files are stored that way. I find it easier to read and edit, should I need to pop into nano or gedit to manually edit something.
* Carpe diem all over the damn place *
Abide like the Dude when you can
Yell like Walter when you must
Be like Donny when you are

Ordained 2012-Aug-25
Honorary PhD Pop Cultural Studies, Abidance Counseling, Skeptology
Highly Unofficial Discord: https://discord.gg/XMpfCSr

BikerDude

Quote from: Masked Dude on October 07, 2019, 06:57:23 PM
To be honest I wouldn't even know how to find employment in it without a degree or any proof of training. Although I live near a big tech area, it's hard to prove you know any programming.

But, yeah, it all seems to be going to web. I looked into going the JS/React.js/React Native route. JS seems fairly easy, or at least ES6+ does. I whipped up a quick JS in a couple hours by just reading a few tutorials. But I do need to get back into Java at some point. I keep leaning toward IntelliJ, but I know eventually I'll have to get Eclipse again.

If I remember, JBoss is by RedHat. Funny that I've never gotten into it, considering I live near the headquarters of RedHat. :D

I used JSON for my Discord bot. It's run by Python 3, and the various data files are stored that way. I find it easier to read and edit, should I need to pop into nano or gedit to manually edit something.

I marshal Java object to JSON for page display.
You can use JSON simple for it. I generally don't tinker with it manually.
It's just a way to package data for pages using Javascript api's like Google maps for instance.
It's also very common for REST webservices to return JSON.
Eclipse is most common by far. And even paid products like RAD and are based on it.

JBoss was it's own thing but opensource so it ended up being absorbed by RedHat.
Theoretically any standards compliant J2EE app server will serve up any J2EE app that is standards compliant.
But in reality they all have their own config files and idocycracies.
Tomcat is probably the easiest to get up and running but the last I used it, it didn't support the entire J2EE stack.
No session beans or message que's and various other things.
But for a straight up web app using Java/JSF or Struts it does fine.

It's different now. I got into being a programmer through Electrical Engineering.
Way back most programmers came from another area where programming was used.
Once Java took off there were way more jobs than people to fill them and now I have 20 years of experience.
You can get your foot in the door with a 2 year degree in Information Tech with a good amount of web knowledge.
Build another Big L site. The big thing is just demonstrable skills.


Out here we are all his children