Arlon's CSUMB Java Software Design CST-338 Module 1 Learning Journal 9 for the week Wed 03/03-Tues 03/09, year 2021

Java

Journal 9

I composed this journal entry like a poetic story about programming - it begins and ends with the word Java, has conflict in the middle, good resolution in the end, and is all about programming.

I did have to cut some parts out for brevity. Message me for details.

I have used Eclipse before - the enormous file trees are weird. You don't need it. Some jobs require it, and teams use it.

I actually decided I like it overall now. It's kind of neato how it has all the automatic stuff. I didn't use to like it, because it used to be super slow.

I don't think anything in particular about the assignment actually required it, it's just being recommended as a good editor/IDE, and I have to admit, it now is! It is installed by default on my favorite OS, Knoppix. I used it a little bit for this assignment just on principle because the class talks so much about it, for participation in the class, not necessarily because I particularly like Eclipse, historically. But I will say it has gotten a lot better and faster than it used to be.

You don't need it - in that respect it could make Java a little more mystifying to learn, it also makes it easier too in some ways, so it's a trade-off. It's probably a good pick for beginners and teams because I think that's the whole point - it does something with versioning - I'm not sure how that works yet - I do versioning for myself my own certain way. I knock off points for it not being essential, but it's just Eclipse, its free open source software, so I can't really complain. Besides I kind of do like all the automatic stuff it does.

I'm answering prescribed questions here. They are: Have you used Eclipse before? What languages are you proficient in at this point? What is your desired field of Computer Science at this point? Update your learning journal from what you experienced this week with class.  The first answer is above, the rest are below:

I am proficient, probably even expert in Java, JavaScript, and PHP. I create my own paradigms in all of these languages and sort of also in Perl and C++ too. I haven't seen anyone else use C++ as hierarchically as I use it. I also created a Perl hierarchical framework for making huge programs in Perl. I make a lot of bash scripts too, and share what I make with whoever I can.

I am proficient and know a lot in Perl, JQuery, bash, CSS, HTML5 with Canvas, MySQL, C++, Python, Mathematica, NTShell, Facebook interface API, Drupal and HyperTalk.

My desired field of computer science is:
I love programming, math, skateboarding, tree climbing and maybe some other random stuff here and there. Programming is my favorite hobby. My dad gave me an old boat I was able to resurrect and use to learn sailing really quickly and easily, a very short but recent chapter in my life. I can fix anything with the right tools, but I can create anything - with computer programs. I have yet to dive into robotics - and I think that is a good logical direction for my skills - robotics - controlling robots with Java - or C or whatever they are using. I don't mind using other languages too, I'm just saying I've been using Java for 20+ years already, and I'm very good at Java, JavaScript, PHP, and using and learning other languages too, often bringing paradigms I know along with me.
I jokingly say some day I want to turn my boat into a RoBoat - not a Row Boat - a RoBoat - make the whole old boat controllable via a laptop interface. Someone made a car work via an old NES controller. THAT would be awesome!!

I would probably be able to help a company making robotics like MBARI, I applied there but they couldn't hire me because I didn't have a degree. Once I get a degree I think they or someone like them will hire me. I'm super good at programming. I've been doing it since I was 12. I'm 45 now. I've made whatever I've needed over the years including Super Bomb Reversi, a missing game, and paradigm shifting software.

I am the creator of AccountBlaster which is paradigm shifting accounting software - and like the game, it was missing until I made it.

Super Bomb Reversi is just down temporarily - maybe I'll fix it tonight - I just have to fix the facebook interface which keeps changing. I figured I'd fix it once Zuck settles down a bit. It's funny, that's why it's predecessor went down. I'm still friends with it's predecessor's creator on linked-in! And now mine's down for the same reason. But I'll fix it.

I also created AppraisalBlaster and CompBlaster - these are also invaluable paradigm shifting softwares. Their public corporate competitor is called DataMaster. AppraisalBlaster does more than DataMaster and obviously sounds way cooler. But I'm just a guy with software, I have no way of distributing that one. It's trickier. There's more to that story but the bottom line is that the software I made for helping me do real estate appraisals is ground breaking.

AccountBlaster is distributed, you can buy a subscription for 52c and/or a sale position for $9.99 which allows people to sell discounted subscriptions and get paid a percentage. So it's a money pyramid based on super useful accounting software waiting to hopefully explode with kids getting their accounting done, or who knows. It was built from the heart which was all that mattered to me - it was software I wanted - and created for myself and for the world. You can use it for free all day long - save and restore keeps the numbers from morphing. They just morph a little bit to be an incentive for the paid 52c version. 52c is low enough that lots of people can buy it. I never want to lower the price. It started at 25c but paypal transactions cost 25c so I raised it. 26c seemed a little slo-mo so I put it at 52c for now. Then I figure every 100 or thousand subscribers I raise the price a penny or 10c or something - that makes the original subscriptions actually worth money, as long as I never lower the price. I still wonder if I shouldn't start just a little lower, maybe 35c or something. The idea is - later - you won't be able to buy in again at the low price - and because it is actually super useful on a day-to-day basis - I think once it catches on, people will see that, and remain subscribers - especially since their subscription will actually gain value later. Then once that catches on, sale people will want to buy in. How will we do all that accounting? I already thought of that too! AccountBlaster takes care of pyramidal accounting! I even made a video about it a few years back: https://www.youtube.com/watch?v=f-vVdxv9jJw 
Wow, no views - that's years old. It's super awesome. Nobody else understands it yet. But it's super awesome.

This week we learned two spectacularly welcome new talents, adding closed captions to videos and video editing and creation. What I should have done, like Eduardo, is screen casting, so I will find out how.
I'm not clear on whether the closed captions are supposed to be set to automatically be on - for everyone - and if so, how to do that.
I did make it say what I said though, so that was cool! I did not know how that could be done until last night!

Wait a minute - I think they are automatically on - now that I've confirmed the text I uploaded with it! It looks like it. But I'm not sure how to make that turn on or off really.

And the automatic built-in closed-caption creator was very, very close! I almost thought it was perfect, until right in the middle, it turned one of my can't's into a can! Ha! That was right about when the 'processing' finished on my manual text script and it let me confirm and publish that, which includes other stuff too, the auto-bot didn't pick up on, like method parenthesis, and actually writing ".0" instead of saying point zero - which I guess would be fine - but the way it is, as I intended, is much better! So that was super cool to learn. But the video editing I discovered was super fun!

The last video we made, for the group project, for the last class - Edge Computing - took me hours of practice for the acting/narration, to get my speech correct. But that made me realize somewhere along the way that that's probably not how it's actually supposed to be done. So I decided to try and go the other route this time - just do one or two takes and then try and find some open source video editing software I could use to fix speech blips and extraneous stuff I wanted to cut out. I did not have to search long because my favorite operating system - Knoppix 8.6.1 - had OpenShot Video Editor built-in right there in the 'Sound and Video' menu, already ready to go. I'd never used it, or even seen it before - but there is a quick built-in tutorial I went through and actually took notes on, then watched a few basic how-to videos I found easily on Youtube, that were based specifically on how to do simple things with that software - OpenShot! I didn't watch all of any of them because after a quick skim I saw OpenShot is so easy that I was able to dig right in right away - the interface is so obvious, things I had no idea could be done popped right out at me.

And as I knew all along - rendering this monster takes a monster - but what I wound up doing - and it worked fine - is using the lowest rendering setting!! I tried to render higher quality videos (same video - just higher resolution) and got several crashes. That's fine, because I knew how to get past it - maybe that is the point of all this - programmers can do a bunch of random stuff like make video editing software do what they want even if they've never used it before - anyways - overall - I had a lot of fun with it - making videos is actually super fun. I guess I'm glad I never dug into it until now because if I did I would have zero disk space, even more fried computers than I have now and wouldn't have been able to use the time I've used to learn all the programming I've learned over the years - video production, processing and editing is processor intensive - extremely RAM intensive - time intensive - I have one tower with some good hardware in it I've used for years to make sure I don't get stuck rendering big PDFs for work, doing appraisals, but as a programmer I pride myself in being able to make use of the lowest grade hardware I can get. Luckily I also have a couple of newer hardware setups I was able to throw at the video editing and rendering to get it cranked it out. Not on time though, I didn't catch that it was due at noon, so I was off by about 18 hours. I'm still really glad I did it though, because I had no idea how to do any of that stuff until now.

What surprised me is that with 64Gb of RAM - only onboard graphics - no graphics card installed - (it's not for 'gaming') but with an octo-core i7 3.9Ghz Intel processor - without a graphics card - it still crashed on anything above medium rendering settings. I was able to render on a few medium settings, but wound up actually using the render from the lowest setting - because it was the only one that really rendered correctly. The other ones rendered like it was rendering on a slow computer or something. So - 3.9Ghz i7 with 64Gb RAM on a Gigabyte z170xpsli board - crashing on video rendering - that's because I didn't install a graphics card, right?

That's actually a question. I think, and I'm hoping, that the answer is - yes. Anyways, the low setting actually was fine - you can read everything just fine, so I'm not disappointed at all. I'm still curious how the big dogs in Hollywood do it though. I mean, they can't have much more than 64Gb of RAM, or, are they using cloud power for it - I think it's just having a graphics card. Maybe someone knows. I'll try to remember to find out.

So I switched hardware at one point, at the end, to render the video - because I started rendering on a laptop which does have a graphics card, I'm pretty sure, it's a 'gaming' laptop - I'm pretty sure - it has the little NVidia sticker on it - that's how you tell, right? That, and I think I read that it was. It's the UX333, I give it a - yeah, I have to say it's not too bad - thumbs up UX333. But - so - I was using it to render - and create the video. Once I had the video populated with all kinds of graphics and effects - ok - some of them are large .png files - but, yeah, as I filled it up with stuff it started crashing. Save saved me. So I could re-open and keep going. Save ... always worked, thankfully. Operations - started crashing here and there - sketchy! Ok, so I got it done - saved - and restorable! But I was using network files for graphics. So when I switched hardware - to the one with 64Gb of RAM - it was doing the file sharing for the files I was rendering with the UX333 - so for a minute, I didn't know how I could just switch hardware - because I'd have to replicate the file sharing somehow. But after a little unnecessary work then I realized a quick ln -s /source /dest could save the day! And my hardware setup was reversed, and I was rendering with a 64Gb machine, with big cooling fans in it. But it wouldn't render in high quality either! I tried low - and got it - first run - on low! That was the first successful render - and the one I wound up publishing! I rendered it again on medium - which just didn't render right. It was bigger and higher res, but much, much worse, as far as pulling the effects off. So I got it fine on low res, and it looks pretty good! Pretty neat!


I learned even more than that though - the other students were able to make their videos with slideshows! And I saw software mentioned on how to do it - and it wasn't PowerPoint! I took a picture to remember. Google Slides.
LucidCharts for charts - that info was from Dave's presentation! Thanks Dave! I'm going to check those for sure.

Module 1 Programming Project | String Manipulation
Weekly Video Submission by David Baker | https://www.youtube.com/watch?v=EKjkB1deRtg

And now I'm definitely also wondering how Eduardo did his screen casting from Kali Linux! https://www.youtube.com/watch?v=ot6aDd2Mpqs

After this week I should assure everyone that I'm not going for a future in video editing and production - I am here for the programming. The video editing was very fun however.

This is software design class for computer science, like software engineering, internet and game programming, in Java. This is the first week of introductory Java class, and so far the class has taught introductory Java including convention, string manipulation, and a little bit about system input and output, as well as independent learning on how to make a video, edit a video, add closed captioning to a video, and try and take a stab at hardware configuration for video rendering. I learned from other students that I should learn more about slideshow creation and screen casting.

If real programming exists anywhere, that is my choice. The videographers can film me in action!

In defense of the video aspect of the course - the student who did screen casting from Kali Linux - Eduardo Belman - https://www.youtube.com/watch?v=ot6aDd2Mpqs - I think he really got it, as far as what the point of the video aspect is. The way he did his video you could actually learn from, because it was screen casting. He had Kali Linux going for his demo which is exciting and cool. And since it was screen casting you could watch him do actual programming - or practice for it here anyway - he showed in a great way how this idea could be very useful for demo-ing programming paradigms. I'm going to have to ask him exactly how he did the screen casting! Great job Eduardo! I left a comment on his video.

I would definitely - by far - take video editing over real estate appraisal! And also - if you can't make a video - how can you make a computer program - that could be a lot harder really, I guess - if you didn't know how. Video processing is something fairly easy to learn, programming may not be, depending on who you are. Again, I'll take programming, if I had the choice.

And since it's basic Java, to get everyone on the same page - even the people who have spent their time playing around with video editors over the years and other stuff instead of programming - the Java is introduced slowly. For people that that's too slow for, because they already know Java - those people - (me) - they get to learn video editing!! So in a big way, it's really smart, it gets everyone on the same page slowly and gives people who know programming but not funner? did I just say that? things like video editing a quick chance to dig into video editing, which is actually super fun and exciting! Except when the software crashes for being so resource intensive - don't forget to save!

Last but not least - the marketing - is also known as SEO - and that IS the programmers job. Maybe not to come up with all the marketing content - but to get it all up and linked together is - I think - how you do good SEO. I'm not an expert at this, but that's my understanding. Please correct me if I am wrong, I don't have any training on this, but that's been my impression, that's sort of what I've done, and it has seemed to work for me over the years. https://santacruzwebfactory.com https://arlonarriola.com and all the other listed sites there - they all link together and I seem to have decent search placement for lots of stuff. Not the word Arlon. But Arlon Arriola, for sure. There's bigger Arlons, there's an Arlon car graphics. As Arlon the programmer it might be a neat prank-ish trick to somehow figure out SEO to the point where I get top search results for Arlon. I won't add that to my questions, unless I get really bored.

So I will add 'How to render high quality video?' and one more question to my short list important standing questions for a total of 11 important standing questions now: (and 12 if you include asking Eduardo how to screen cast from Kali!)

System and Network Administration:
1. Figure out how to dial past my router, configure my router to allow secure incoming http/https connections, and be able to use that as a LAMP hosting setup for websites. I might just get a separate internet to find out. I can't really mess with the one we use until I understand it.

2. Figure out how to dial past my router, configure my router to allow secure incoming SSH connections, and be able to use that as a remote SSH/VPN so I can administer the system remotely.
Those two items seem closely related, and - I mean - do this in Knoppix (and IPCop) I don't care about how to do it in other OS's - not in Windows, not in RedHat, not in CentOS - in Knoppix, specifically in Knoppix. Well I'd be happy learning the others, too, i'm just saying, just because you can do it in RedHat - doesn't mean you can do it in Knoppix, etc. And I'd need to make sure I knew how to do it in Knoppix with IPCop as a firewall.
     Like:   __                                                                                                                                                                                
              -->-World---
   ----Comcast xFinitiy Cable Internet over Coax---
  --------Cable Modem---                        __________<=====
------ethernet----IPCop--      /---------------<===    
     --------trunk router< ---------------<==   (Cont'd below...)
                                                                                            \____________<==          
Cont'd: Trunk Router branches:
________Sub-Network A-<=====
--------Sub-Network B-<=======
--------Sub-Network C-<=======
________Sub-Network D-<========Sub-Network E-<=== (Cont'd below...)
Cont'd: Sub-Network E:        /----------Sub-Network F-<========VPN - can I put one here without 
===Sub-Network E<====<                                                          re-configuring EVERYTHING? Or no?
                                             \_____________Sub-Network G-<========Hosting Box - same thing - can you even put one here?
Yeah, I think sticking it at the beginning, you just configure the ports of the cable modem, but I think it would be more interesting to branch the network and then put a VPN and/or hosting computer somewhere out in the branches. I already have all the branches and that whole setup, I'm just not sure how to open it up for VPN or hosting like I depicted without re-configuring every router - it seems like you could do it without reconfiguring everything in the path to it, but maybe you can't. It seems like if you re-configured everything in the path every time you wanted to add a hosting computer somewhere, you'd be doing a lot of reconfiguring - some of these routers can become hard to access - physically. I know you can dial into them, but once I put them in bridge mode, I don't think you can anymore, they become invisible. I'm sure someone knows the answer to this, so I'll keep asking! Networking is interesting and fun for some reason too, I think because I can run lots of programs on lots of computers all over the network, with apache, mysql, php hosting etc! And it's interesting maybe like hacking is, to find computers on the network # ping gateway;arp -a;#dial into them with ssh, and use vncserver and realvnc viewer for remote desktop. I pointed out Krfb in my video, that's for sharing the primary user's desktop. To get other (simultaneous!) users in I use ssh tunnelling and VNC. That's why I say, two of the missing pieces are how to make it so I can VPN in from anywhere, and how to make it so hosting works through to the outside. I almost know how to do it - I know the cable modem ports need to be forwarded - I just don't know all the details or options or how to do it without breaking or exposing everything, etc, all the implications of what I'm doing with it, and I'd like to do it somehow without reconfiguring every router in the path.
There's More:
3. How to build and back-build Knoppix, and be able to work around publicly available software dependency problems. I have been stuck for a few years now on 'installing that package will break bladebla whatever dependency software...'

4. Tunnel PulseAudio output with socat over SSH - for sound with VNC, among other applications. In Knoppix.
5. What exactly are all the netmask and gateway and all the network settings, how exactly to use them and understand all the network options.
And other similar networking and admin and troubleshooting questions.
Security:
6. Check and verify the security implications of the first two items, hosting and VPN.

Robotics:
7. Programming those little chips you can buy, making them connect to servos and then . . . . !!!! (Making an army of little Robots that does everything we need them to, and robotify everything mechanical around me....)
A Java Swing GUI with a slider that opens and closes a valve for water somewhere, somehow, in the real world. And/or turns a motor or pushes a servo.
8. 
#how to execute a command after init 3 in the same line
#like:
sudo init -e cmatrix 3 #but that doesn't work
sudo init 3 -e cmatrix #neither does that
sudo init -e "cmatrix" 3 #etc
I made some progress on this this week, but not much.
You can actually push commands to other ttys with ssh. 
like this:
ssh root@192.168.9.145 'aafire > /dev/tty1'
#or:
ssh root@192.168.9.145 'cmatrix > /dev/tty1'

But the init 3 still kills everything. So it doesn't help. Back to the drawing board. 
sleep 5 & ssh root@192.168.9.145 'cmatrix > /dev/tty1' & init 3
Isn't any better. It reminds me of crossing dimensions or something. Init 3 has no GUI, it's command line with networking - you can do everything with it - run apache, php, mysql, samba, ssh, whatever, cowsay, lolcat, fortune, just no GUI programs. To get the desktop back, just say init 5. But they're separate worlds, it's either/or. Well, sort of, because they do co-exist also - with the GUI loaded the command line environment is still there, hiding, and you can get it without init 3 by ctrl-alt-F1, which just hides the GUI, then to get back into the GUI you can ctrl-alt-F6. None of that tells me how I can enter the lower init 3 environment with a command like cmatrix for a screensaver without typing it after init 3 happens. The point is just curiosity and the end result would be a desktop icon program that enters init 3 and runs cmatrix, aafire, ascii-rain, asciiquarium, sneakers, or hollywood as soon as the init 3 environment is the primary environment, for light resource use and a neato screensaver to load with it. In other words asciiquarium is a text aquarium, install and run the command and you get a text aquarium on your computer screen. Seriously, what more could you ever want? The init 3 environment is all you need for like running an apache server for example, or a file server, but if you use an old laptop for that - then there's a screen sitting there with a cursor on it flashing or some white text burning the screen pixels off - unless you run one of those programs I just mentioned, which act as a text screensaver.

9. How to startx as a user other than knoppix in knoppix
I think I actually do know how to do this, I had just forgotten. You boot only into init 3, switch users and then startx. I think I remember that working, I will check later, and if that works I'll add it to my documentation and take it out of the questions for next week.

10. Do I have to get a 'graphics card' to make my mostly high-end hardware render high quality video? If so, how do I pick a good bad one? I actually did order a refurbished one for $150 on amazon - the reviews said it was just as good as the higher end ones. It worked one time so I sent it back. Just - one time. That was a few months back, before I was trying to render video - I just wanted to see if it could run this one sailing game I got to practice sailing. I like stuff I can recommend to other people, that's why I generally go for the lowest grade I can, see exactly what needs to be improved from there, macs. It's fun to rehab ancient dinosaur laptops and older computers. Don't even bring me your old computer - I'll tell you how to fix it yourself in a third of a sentence - burn Knoppix 8.6.1 or 8.1 to a flash drive with Win32DiskImager or Balena Etcher freeware, boot your computer with that, fixed! Use Mint though, if you want NetFlix. But now I'm seeing a whole new avenue of expansion - how to render quality video? Get a graphics card? Would that do it?

11. And for number 11, I will ask - how to use Kali Linux's graphical network mapping tools - I see them but can't get them to work for me. Who wouldn't want to see their network rendered graphically, automatically. It just seems like a neat concept. I think this also goes with #'s 1,2, 4, 5 and 6 too. Maybe I'll try that again on newer hardware.

12. I think Eduardo will tell me this week but - it is important - temporary #12.: How did Eduardo do his screen casting with Kali Linux? Between his screen casting technique, Dave's Google Slides and LucidCharts - and the OpenShot Video Editing software I found - and a beast of a hardware setup (see #10, above) - I (almost) now know how to make interesting programming videos!

For me a huge part of being a programmer is my own requirement that I have a good working knowledge of already built software. I wouldn't re-write Notepad++, FreeFileSync, you know, GIMP, the greats - Drupal - they're already done!! We literally get to reap the benefits made by other benevolent programmers. Linux!! There's tons of stuff we never need to make now - unless there's really good reason discovered for it. New paradigms will arise in hardware and in interface expectation - so there will be need for change - but I'm just saying - right now - I wouldn't re-write Notepad++, etc, or any of the other greats - or any other freely available good working software. So the flip side to that - is knowing where the holes are!! That is what let me create the software that I did create! I have some personal file-folder-de-duplication software I made - not quite worthy of publication but useful to me - I made it because there is Jorg Rosenthal's awesome AntiTwin - there's FastDuplicateFileFinder - both of those work great! There are other alternatives but either spam-ware or whatever - I found a hole - nothing I found compared folder content - not exactly like I imagined it could and should - at the time I had a lot of extraneous backup duplicate folders - coming from a time when we didnt have a lot of disk space - and I had a lot o separate backup strategies that didn't overlap - I wound up with lots of duplicate and semi-duplicate folders over time that needed to be sorted. So I was able to do this with a Java app most simply. That gave me customizeability and understanding of exactly what was happening in the program. So today, if I need to go through for duplicate files and folders - I name three programs - Jorg Rosenthal's AntiTwin - FastDuplicateFileFinder - and the one I made. I don't think I named mine, since I didn't plan on releasing it. FolderBlaster, I guess, if I did.

I don't ask actual programming programming questions because I don't have them - I'm really good at it - I know all of the answers to the questions I once had! I have Java, Javascript, PHP, HTML5 with canvas examples upon examples I've made for myself over the years, for fun, I love programming! I can't wait to be able to apply it to robots and more real world applications other than the sofware I've created for myself. Not that having WebBlaster hasn't been helpful, I was already able to use it to help my neighbor make a site for his art, and maybe even for the ILP site for this course! https://arlonarriola.com/?school/csumb/ilp
And where would I be without AccountBlaster? Definitely doing a lot more adding, subtracting, and scratching my head about finances than I do. https://accountblaster.com
Unfortunately I can't share the appraisal software I made with anyone yet but my friends and family know how much my programs AppraisalBlaster and CompBlaster have saved me - so big - over the years! I would have gone insane without them, and they came naturally, almost like they revealed themselves to me, and I somehow channeled them from the universe and wrote them into existence. CompBlaster is 9 years old, AppraisalBlaster is 3, and they are completely invaluable to my (hopefully temporary) career, real estate appraACHOO exuse me: real estate appraisal. I do have programming questions - mostly small ones - .htaccess files are a huge mystery to me, but I've gotten past them, it doesn't seem to matter much. Everythings up, with SSL, so...

Also, I'm really sorry for missing orientation this week. I could have sworn it was listed as being on Sunday. Evening. I was anticipating it since I saw it listed, planning for Sunday. Then Sunday morning I check it, I could have sworn it said Sunday morning that orientation was Saturday Morning. Lamenting, I look again Sunday night - I should have taken pictures - I don't know if I was looking at different things or what - but Sunday night then, it said orientation had been Sunday Morning! I was like what the holy switching times around Batman! But everyone else was there almost so it must have been me. Sorry guys. I love programming and I love Java programming and I'm pretty good at it so if anyone has any questions, feel free to consider me a resource. Underneath the Java API reference of course, between that and stackoverflow you can learn quite a lot. Even just building programs for yourself you guaranteed get stuck here and there, and have to work past things you can't figure out. Sometimes on algorithms you're creating - that's my favorite. The worst is when you can't figure out something because it's a half-done or half-documented component or something you didn't build but are trying to use. I've done that lots of times over the years, back engineered lots of programs, and that helped me be a better programmer. Also just looking up how to use various paradigms, in my spare time. For example JavaScript fits so many paradigms, you can use it functionally, in an object-oriented way, design your own hybrid way of using it, whatever! That's why I love JavaScript. Java has a lot of flexibility too - and what it lacks in flexibility you still have in capabilities of complexity - so you can still design your own hierarchical software with hierarchical functionality and hierarchical programming to match.

I'm in the process of helping show how you can do this in PHP too! Upvote me here: https://stackoverflow.com/questions/16424257/nested-or-inner-class-in-php ! This is really important because when you make a web program you want it to have full hierarchical functionality just like your Java programs, and if you do that you can match it as needed in JavaScript and it pulls the whole program together for a complete hierarchical web paradigm. Well that's how I made WebBlaster, and it seemed to work really well, and I got REST but also with AJAX retrieved pages, and then re-rendered again for animations with JavaScript/JQuery, all built and managed with a Java Swing GUI desktop app. CompBlaster is also pure Java and AccountBlaster had several stages and I think will eventually land, in Java.

Comments

Popular posts from this blog

Service Learning Journal 56, Friday week 8 CST-462s Race,gender, Class in the Digital World

Module 2 Learning Journal 1-19-21

Arlon's CSUMB Intro to HTML CSS JavaScript Node PHP and Web Programming CST-336 Modules 8 Learning Journal #8/#48 for the week Wed 12/15-Tues 12/21, year 2021