Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Saturday, June 2, 2018

Why I took the path of Python 10 years ago and continue to walk it

10 years ago I found myself looking for a programming language to learn., I had tried HTML back then and had learned some CSS and JS which I had put to practice, then I tried C, C++, VB6, Java, but all these languages turned out to be too complicated for me to learn easily and without any formal education on the subject I had an issue figuring out most of the things and what to do with all of it, in the end this did not take me anywhere and I dropped the case for a while until I decided to put my heart into one particular language and it all started with a google search:
really simple programming language for beginners
The above returned some obscure languages and web programming but one of the first ten options was Python, I had never heard of it but going through the whole thing made me see they were not joking when referring to a simple programming language, it was easy to learn but could be very powerful when there was purpose and intention behind it, I tried some tutorials but found that while I had learned the basics I still had no real purpose on using it as I was not working in anything related to IT.
One idea that eventually came to mind was to make a text game in Python, my endeavor did not go far but I did learn a lot which in turn would help me a couple of months later when I started working Desktop Support, inside a very large environment I could test some of my theories on how far I could push Python and I did get a lot of stuff done back then by double clicking one of my Python scripts (most of which I still have with me to this day but have little use in the company I currently work with).
It didn't take me long either to figure out Python was a really big thing, so big it was part of Debian (figured this out when I was trying something out and noted I could run Python scripts from the get go) and most if not all Linux distros, the ease of use and power it holds really turn many wheels, what also surprised me and made me understand that I was looking at the right language to learn and practice was finding out that Civilization III and IV have Python in them which moves many of the things in the background.
Recently I decided to retake Python in full strength by figuring out how to use PyGame and make a platformer game, looking around in YouTube I found a very comprehensive tutorial by Tech with Tim which has really put the library into such an easy perspective that I have already figured out how to hack through some of the code he provides and add some stuff. I also noticed that it was important that I already knew Python otherwise I would be a bit lost in the whole deal as he goes by fast to `economize time to provide the most related material on this subject.
Why do this though? A while back, talking to a friend, we decided to work something out in RPG Maker, but the engine is limited, most of those engines are from what we have seen, and we really wanted to do something great but neither of us was intent on learning Unity for this matter (probably too much to learn for such a simple thing, uneducated opinion though). I also remember trying RenPy a while back and may retake the idea of either mixing ideas from visual novels and a platformer/RPG or something else, who knows, this time it is taking more of a solid form than the last times I have tried to do something like this.

Tuesday, May 29, 2018

Learning Ansible and Vagrant or why I really need to put myself to date

For some time, I have heard Ansible this, Vagrant that, Docker and Kubernetes, Cassandra, and a bunch of other names of applications, services (or micro-services, whatever that is), APIs and whatnot, these are all foreign to me and come surprisingly fast to me in a time when I'm trying to pick up coding again because I want to try my hand again at doing something interesting.
I have learned first that I keep doing things the wrong way as I go through the Ansible from Beginner to Pro by Michael Heap (which by the way needs some revisioning as I find some of the wording confusing as hell) when doing development and provisioning of my environment.
So let me backtrack here and explain what I’m talking about, some years ago I used to work at a company that handled auto parts for the entire country and our plans of expansion were putting a real strain on our current inventory system (something built in Access 2010) so the company needed something different, enter me as a Junior Programmer to figure things out together with my boss, we handled it the best we could but in the end we did not manage to push the project through and parted ways with the company.
From my tenure there I learned a lot about PHP, jQuery and MySQL together with Linux, but I was still lacking in many ways the knowledge I needed to do what the company needed (I was Junior anyway, but you get my drift, you want to eat the entire world). As time has gone by I have kept up with programming through different methods, either building Bash or Python scripts, a small website to keep track of something very specific or some random requirement from a friend.
About a year ago I decided to get back into the whole thing now that I have figured out how to really handle my free time and through the magic of Humble Bundle I have acquired about forty to fifty or so books (of which I have used maybe one or two, I am behind on reading but I’m doing my best to keep up) which lately include Web Development (I mentioned previously this as I was interested in the whole Static Sites thing).
For this whole purpose I wanted a server, a real rack-mounted server, which now sits on my desk (and works as a nice extension of it) that I got for cheap (thanks eBay!). At this point in time the PowerEdge 1850 has been partially upgraded (still waiting for other parts), has the highest version of ESXi it can handle (which is 4.1 update 4) and has been tested out to see how it performs and for the price I spent I can’t complain, it does a very good job and frees my laptop from the hassle of having a test environment on the same machine I use for other stuff. My problem was that I needed to handle the deployment and installation of the machines and I did not want to go through the whole damn hassle of replicating everything item by item, so I went and looked through the books I see the Ansible thing and I think, well, better give it a shot (I know I could try Docker and containers but bear with me as I struggle to figure out most of the stuff I have to get up to date with!).
So far trying Ansible and Vagrant have been as usual a very mixed bag of results, Ansible was easy to install, Vagrant not so much and it was throwing a fit due to the version of VirtualBox I had installed so I had to download everything from the respective websites and install it on my laptop, after figuring that out I got to work on some playbooks and provisioning, when I saw how it worked and what it did I was shocked, I had thought about this same idea a couple of years ago and even thought about how to do it, I knew there had to be an easy way to deploy virtual machines and then push a script or something to install all the stuff it needed before it could get to work, little did I know that such a thing existed in the form of Ansible (not dissing or ignoring Chef or Puppet, Ansible is what I have at hand and that’s what I’ll work with).
My other problem with Ansible is the way playbooks are coded, at first it felt a bit esoteric but once I understood the logic I figured out that it was more of a be very careful of how you write stuff otherwise it won’t work approach than anything else, frustrating at first but once you get the hang of it the thing seems pretty obvious what you have to do and how to do it. Also, there seems to be a considerable number of playbooks available to go through, so I’ll have to give them a check once I am done with this book and get everything setup the way I want it.

Sunday, July 10, 2011

QuickBASIC Modern Programs

Roaming around on the vast ocean that is the internet I found this site that offers QuickBASIC applications for old systems which can perform tasks such as sending and receiving e-mails up to TCP/IP traffic and HTML handling. While e-mail clients are not that uncommon in programming the Apache server is something I haven't seen, yet, in QuickBASIC so if you ever need to revive an old PC with dos then give some of this programs a try.

Installing OSSEC 3.7.0 on Debian 11 (Bullseye) How-To

Now that version 3.7.0 has been released I took another deep dive into how this is compiled from Source, as usual I brought this onto me bec...