Wednesday, September 19, 2018

The History of why I shouldn't buy things I don't know too much about or how I learned to configure a Sun Server SunFire v100


Introduction:

This paper contains information regarding the initial opening, setup and deployment of a Sun Server SunFire v100. The paper may or will contain technical terminology including detailed information regarding every step taken on how everything was performed.

Opening:
The server came wrapped in bubble wrap, packing peanuts, air bags and was inside a cardboard box, the item is as described and as shown in the pictures provided by the eBay seller, it is a SunFire v100 Server, no rails included, has mounting ears, one of them has some oxide, on the back there is a Sun card which is used for configurations, the inside is in great shape and clean, seems as if it had been recently pulled out of production. Inside there are two IDE hard drives, 40 GB each, with 2GB of PC133 RAM split up in 4 modules of 512MB each one. The processor seems to be mounted with the heatsink but to avoid moving or messing with anything at this point, no cable has been included or any other accessories are available with this item. Final cost of item was 35 USD on July 2018 of which 12.50 USD was the cost of the item itself, the rest was for shipping and handling. This item was opened on July 14th, Saturday, 2018.

Setup:
Connecting the server to a light source did not turn it on as it is with most servers nowadays, there is a switch but it was not flipped, to connect to the console a Toshiba Satellite machine with Windows 98 and serial port was used, a DB9 to RJ45 cable was used to connect to A/LOM on the back of the server, as it turns out LOM indicates that the server is on stand by mode through most of the commands and can power on through this method, doing so does power on the server and a full boot up took the server onto Solaris 5.10 which was configured with an AT&T business IP address, there was no information available or anything critical leftover on the server two hard drives.

Rebooting the server did not bring the system back to its original mode, it would seem as if the server has fallen back into net mode for no apparent reason and wants to forcibly boot into a PXE Server or some other server that will provide it a kernel so that it can work (this seems to be normal from back in the day on what Sun was doing). Going through the options it seemed logical to install another OS into the Server since Solaris was not working properly and the version, while still supported, was of no use to me and I would rather have anything else than this, such as Debian or Gentoo.

One of the initial issues found with the system, aside from the problem of not booting up, was making the Sunfire v100 stop trying to boot through net and go into anything else, on the LOM prompt this can be done first typing on the LOM prompt bootmode forth, this will stop the current boot process and take us to the OpenBoot prompt, in order to get to this prompt the Sunfire v100 has to be powered on (LOM>poweron).

Once the server has been halted it is easy to boot from the CD (or DVD, depending on what you may have on your machine, by the looks of it this has been somewhat rigged to use a slim CD-ROM but it could easily use a CD/DVD Burner from the looks of it, while I do have some slim readers/burners I have no intention of burning any CD/DVDs from this machine at this point), type the command boot cdrom and it should go into the CD, in my case it would not read the CD or would give me the error Fast Data Access MMU miss with, by all means, could mean that anything is not working properly inside the server and thus this is why it is not booting up.

Following some instructions I first disabled the auto-booting, this can be done (as indicated in this link: https://it.toolbox.com/question/fast-data-access-mmu-miss-in-sunfire-v120-061010) by doing setenv diag-level? max, then, setenv auto-boot? False, then, reset-all. If all commands are followed correctly the server will throw up all the things that it is currently doing and will not boot towards anything, it will simply reach the OpenBoot prompt and stay there (I have yet to find a way for ALOM to forward logs to a SIEM or any other log storage method so that these can be read elsewhere).

While doing so I got a warning about a possible issue with RAM, DIMM0 was the probable culprit per the initial boot-up so after shutting it down I removed it and booted back, the error still came up but I ignored it, at this point I wish I had not lost a whole day figuring out what to do when the error was in front of me the whole time.

Booting to a CD worked, I had issues probing for the drives but I decided to ignore it (later this issue would be resolved through a different method as provided by Oracle on some documentation they still have on their website). It took about a whole day for Debian to run the installation and in the end crashed, OpenBSD and NetBSD did the same, I had looked at a YouTube channel, Backyard Tech, in which he explains to another user the possible issues he could be facing with a Sunfire v120 (originally I had only intended to buy the Sunfire v120 but I found the Sunfire v100 at about the same price so I also went for it, the Sunfire v120 is another story that required a whole different document to explain the ordeal it will be to get it to work). One of the things he had mentioned was to burn the CD as slow as possible to have the least amount of errors, one of the steps I took to make sure that the system would load, but had mixed results. Having the Sunfire v120 at hand I changed the CD-ROM but found the same results with the CD which made me suspicious of the internal controller.

Since I had no way to change the controller or do anything else at this point I went back to square one and removed all the RAM, in the end the problem with the server was indeed the RAM, it would seem that either some of the sticks or ports were not working properly, leaving only one stick of RAM, on DIMM 3 (remember that RAM is inserted from back to front not the other way around, this is important and is notated on the documentation and the images provided on the cover plate of the Sunfire v100). At the moment 512.

A link with assistance on configuration of OpenBoot can be found here, the website contains all the necessary information to properly configure OpenBoot to boot to the correct disk once formatting has been performed and also to troubleshoot properly since I was originally not able to probe for SCSI or IDE drives, once the procedure was followed everything was showing up and working fine, boot up now takes me directly to Debian when turning it on so there is no real necessity at this point to go through the Windows 98 machine to work on LOM, this is being used only to monitor resources consumption at the moment: https://docs.oracle.com/cd/E23824_01/html/821-2731/gkkvd.html.

With Debian installed there is another issue, installing it was no issue, interestingly it would not pickup the repository for sparc64 from the ports repository, could not add it manually either at that point so running with whatever the netinst CD had was what needed to be done at this point, the site for the sparc64 port indicates that some commands need to be run in order to get the proper software installed once the source.list file is corrected (all the information can be found here: https://wiki.debian.org/Sparc64). The problem in the end is that the security repository for sid is not working, not sure why this is, and there is a considerable lack of packages available for the platform. While I could install apache2 and the compilers through build-essential, python3 and pip3, the packages for MariaDB Server 10.1, MongoDB or any other database aside from PostgreSQL are missing, as a matter of fact most of the libraries required to build MariaDB are missing from the Debian repository, for the last two days (Thursday 19th and Friday 20th) I have been compiling libraries to get MariaDB to run on the Sunfire v100. I know I could use SQLite or PostgreSQL but I would like to have MySQL/MariaDB available in my current Debian build

Wednesday, July 4, 2018

Why do I keep buying and using obsolete hardware?


Friends and co-workers have brought this up many times in the past, why would I ever buy used and obsolete hardware when you can find reasonably priced modern hardware on the market?

While this is fine, and I have nothing against it I have a predilection for old hardware that can be put back to effective use for two very specific reasons, one is Linux and the other one is a man by the name of K. Mandla.

Back when I started getting into Linux, some 10 years ago, I was struggling yet was always fascinated by the level of control you had over your operating system, want to install some software? It’s probably in a repository, don’t need a GUI? That’s fine, run it through the command line, and on the command line is where I found myself more intrigued, this all mighty black screen held so much control over everything, an esoteric world in front of me that I could not wait to tamper with, every mistake was a lesson well learned, every success was a thrill, but to learn that you could run video and audio directly from the console was something that completely changed the way I saw computers coming from a purely Windows environment.

When looking for more things to do I hit a blog of someone named K. Mandla and there my love for the console grew but furthermore my appreciation for old hardware and the possibilities of what I could do with it, repurposing it to do very specific tasks, I got into it so much that I went to flea markets and PC stores to pick up old hardware, in most cases I could get it for free because the owners just wanted to get rid of all the trash they had because they could not push it into the market, I was rebuilding old PCs and selling them for 10 or 20 dollars back then, whatever happened to those computers I would not know but at least I managed to rescue them from the garbage dump and gave the opportunity to a lot of people of finally having a computer back when having a smart phone was either having an iPhone or a Blackberry, either option was expensive so a cheap computer, no matter how slow or short lived, was a viable exit.

While I am conscious that also using old hardware may mean higher electrical bills and this is in no way helping the planet or my wallet there is a very important issue with e-waste being dropped on Africa and Asia, the link contains a very informative overview on what is going in Ghana and e-waste literally killing the country: https://www.youtube.com/watch?v=mleQVO1Vd1I

There is another point aside from repurposing or saving the planet, one way or the other as this is again very debatable, and that is collecting some old hardware that I had worked with, that was very reliable and apparently very long lasting, an example of this being the IBM T60, T61 and T400 laptops I have at home which I continue to use even to this day with Debian as they are more than enough for what I need to do, the T60 and T61 are stored but these I have used for 8 and 7 years respectively and the only reason why I stopped using them was because I could not put 4GB of RAM in them yet I could see some tasks that I could use these laptops for, then there’s the Pentium III Laptop that I use to write and play old videogames, because emulation is fine but sometimes I just doesn’t work and writing without any interruptions can be golden when trying to put every ounce of effort into it.

Also there’s trying out old hardware that I had never worked with in the past such as SCSI drives, this was more of an accident actually as I did not read on the specs of the PowerEdge 1850 on what type of hard drives it used but at the price of 30 dollars with shipping included I could not pass it up and the hard drives, two 136GB and one 73GB, ended up costing 20 dollars with shipping, or DAT Tapes, which I actually worked for some time with but I never got the chance to do it myself and while backing up something on another hard drive or the cloud is fine I could always have a spare backup for emergencies on a tape.

And to add to the inventory I have recently purchased a SunFire v100 and SunFire v120, one of them is IDE and the other one is SCSI so I do not have a problem with getting them to work, they already have RAM and everything on them it’s just a matter of connecting through a DB9 to Ethernet type cable to the console of these servers to get them to boot onto a CD, which I still have plenty laying around surprisingly, and install an operating system so I can fiddle around with them, probably to make a small web server or even a firewall/proxy, we’ll see about that one but this was all because I wanted to play around with these old machines as I’ve read about them and have been intrigued about how good they are.

Now the only problem that I have left is buying a server rack and start building up a room to put the servers and all the retro-hardware that is just piling up.

Saturday, June 9, 2018

Why do I watch playthroughs of videogames?

"Why do you watch a playthrough of a game? Just play the game!" I have heard that plenty of times, here are some of the reasons why I do not play the game that I am watching:

1) Lack of time: This is an oxymoron, I know, but the case here is that I work, do other stuff, I sometimes do not have the time to directly dedicate to a game as much as I would like, the whole nine yards, while it sounds stupid to say that I could have dedicated the 20+ hours watching the game to actually playing the game this takes me to the next point;

2) It's just background noise: Yes, sometimes I am not even watching the thing, I just have it as background noise and from time to time turn to it, while this sounds weird to some people I rather have this as background noise than music (yeah, sue me on that). I only alt-tab or turn to another monitor when I hear some commentary on something that could be potentially important (or stupid, maybe something cringe worthy).

3) Do not have the resources to play it: While I have several computers in the house none of them, well maybe one of them, are built on the last decade (2000-2009) which leaves me out of playing most of the games I could potentially be interested in, I could surely invest on a new machine but I also have to pay rent, utilities, a car, food, etc. So a new computer is at the moment out of the question until I can either find a good enough discount or manage to scrape enough money to build something out of parts I get from flea markets (of which I already have half to build a decent computer).

4) Do not want to mess with emulators or old hardware: Now looking at the other way, I have enough old hardware to mess with and play some really old games straight from the CD or Floppy, even from 5 1/4, but going full retrogaming means I need a CRT (which I actually have stashed and needs to be checked by someone who knows how to fix a CRT because it shorted out) and an old keyboard and trackball mouse (of which I have all), did I mention you need an old PC for the whole experience to be as close as possible to how it was back in the day? Most will not try to figure this out, no matter how cheap the parts could be, and sometimes figuring out an emulator can be a pain to some (and Linux doesn't make this any easier apparently).

5) No demo available for the game, not willing to spend money on something I can't try out: This is probably the main reason I watch most new games on YouTube first before buying them, while I could make a risky decision of paying 50+ dollars for the latest whatever game or 20/30+ for the latest indie game I do not feel this is not a sane choice, this hits harder in a time in which demos are no longer available, developers barely give a hint of the game through their available material, piracy becoming a more viable option before making the final choice, there are so many more reasons that require demos to be back on the table, urgently, so that we as players can either dismiss the game or build a more appropriate hype around the thing that we are looking forward for (perfect example, Alien: Colonial Marines was an obscene kick in the ass to everyone who was looking towards the full experience of reliving those very tense moments only to find this carcass of a game).

6) Kickstarter/Indiegogo campaigns banish into thin air: Not so much as a playthrough but I mostly end up finding out about games that become vaporware from YouTube, testers and the like, sometimes I wonder what could have been of a game had the developers not dropped the issue for whatever reason they decided to do so or not scammed players (remember that game in which you would become an Ant, another perfect example of what happens when you have the wrong people in your team and then get robbed of everything).

Tuesday, June 5, 2018

Why I decided to relearn HTML after programming for so many years

Lately I joined the #100daysofCode to pump myself while reading stories from others who are learning new technologies, I jumped the gun and tried out static pages and PyGame but noticed a common mention of freeCodeCamp, being curious about it I jumped the gun and found it’s a website to learn how to code HTML but it does not stop there (more on that later once I go through the whole thing) so I decided to take it and see what it was all about.

To say that I have lived in the past these last years regarding how to code would not put the whole experience on the table, I am shocked to learn how many things HTML5 brought to Web Programming, so much that I noticed that some of the things I kept using from HTML4 are no longer in use while some others changed (for the better, because HTML4 could be weird at times).

This took me back when I started learning about how HTML worked (this was more than 10 years ago) when building a table and making it look right was so complicated in my mind it took me two days to actually figure out what every part of the table did, how to nest them properly and then I would still mess it up (I admit it, I was trying to make some funky stuff with the tables but it worked out in the end, trust me).

When I took some programming jobs early on during my learning days I was baffled by the amount of code that was used back in the day for the front-end, most of the websites I got to see had been built with some type of software which eased the soul of the designer but not the soul of the programmer, I am talking about software like Dreamweaver. Then there was Javascript (and in some weird instances I remember seeing .asp and .vbs somewhere in the code, yes, this was a time of trying to figure out how to make it work and leave it as it was).

At one point a company (not giving out the name) wanted me to make a website which automatically marked some of their items as sold when doing a live presentation for potential customers, this would in turn make people think about making a quick purchase and dumping tons (and I mean tons) of money into something that was worth 20% of the shown price, I am pretty sure some of this stuff continues to happen nowadays and this is why I keep a clean policy when building websites and working with computers belonging to my customers, their privacy is my number one concern but if I see that they are doing something that is completely immoral or against the law I will distance myself from them.

Back onto 2018, what has freeBootCamp taught me about HTML? A lot, it does bring me back to the days when I was learning for the first time but I also see that I now understand most of the logic behind of what I am doing (back then it was hard to grasp something so… esoteric), there is YouTube, GitHub and Stack Overflow in case I do not fully understand it (imagine, back then most of this did not exist, I think none of it did so it was either finding some reference lost in a forum or reading a book!).

To others trying to learn HTML, take this chance and go through the whole tutorial, HTML, CSS, JS, move further and continue pushing through, ask all the questions that come to mind, keep moving forward and when you look back do it with pride because the road ahead can be very long but also very satisfying.

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

Why I decided to replay the old Fallout series and loved it

Recently Bethesda teased the gamer community with the possibility of a new Fallout game, they simply showed a "Please stand by" image and apparently left it there, still unsure if a confirmation was given or not about what was it but I dismissed the game, I simply don't like the new series and I tried all of the recent ones, it just isn't Fallout and even if heretical to some I think the last true game on the series was Fallout: Tactics.

So for the purpose of proving myself either right or wrong about how good was the series back in the day I took the task of installing the original Fallout and here I found myself in an ordeal I had not dealt with in many years. I spinned a virtual machine for Windows XP SP3 (I got legitimate licenses, leave me alone) and was successful on installing the game there, to my surprise the mouse was going all over the place with the slightest move so this was not the way to go, no matter how much I fixed and tweaked I could not get the thing to do what I wanted.

Next step was to use Wine and here is where I re-learned what a pain it was to setup, Wine is a Windows emulator for Linux, you can install programs and interact with them as you would in Windows, but you’re on Linux, and the thing does not get any less complicated from there. Turns out that every time I want to give Wine a chance it’s always a hassle to setup, installing is simple as the repositories for Debian contain the packages, but doing the whole thing, getting the setup right, making sure everything worked, it was trial and error until I managed to get the thing right and for this I took around some three hours to figure out what I was doing wrong. (Turns out I just had to leave the latest version of Wine as the default for the program to run, silly me eh?)

Once Fallout was installed I found another peculiar issue, I could run it windowed but I could not switch to other windows or things on my desktop while this window was running and I did not want to go through another hassle to figure out why this was the case, the whole reason behind this was that I wanted to record a play-through of the original game and eventually Fallout 2 and Tactics, but I could not even do something as simple as ALT+TAB to press record, eventually I figured that if I ran the thing full screen and setup the right coordinates on the recording program I would get the whole thing and this is how it will work from now on.

After this I finally met this jewel again and I have so many fond memories, everything came back to me (even things that I know I have missed so far), exiting Vault 13, finding Shady Sands, doing the radscorpion quest, figuring out that Vault 15 is a pile of rubble and your quest is going to take you a very long while to figure out and you got less than 140~ days to get to it before everyone dies on the vault, the first armor and new weapon you get (that Mad Max leather suit, because that’s not a jacket that’s the whole thing, and the SMG that has the lamest sound ever, the handgun sounds far more brutal than the poor thing and they do the same damage as far as I recall, unless of course you do burst).

Tweaking my character was also a personal no-brainer, I found that in the world of Fallout, a world that was blown to pieces by a nuclear war many years before you were even born (if memory does not fail me), you can find a ton of ammunition, way too much, so I never really bothered with melee as I could always find the ammo I needed for my weapon, I can’t wait to get the power armor and harden it, the .223 handgun (which is a nod to Blade Runner), fighting some of the weirdest and toughest bosses of the series, getting the random encounters that are very random indeed, finding meatdog (eventually, hope Ian doesn’t kill him as usual or me for that matter).

This is why I know this game is a jewel, it’s been more than fifteen years since I first found the dual-case that contained Fallout 1 and 2 for the bargain price of two dollars at a Wal-Mart, I remember installing them humongous version and my dad being furious at me for filling up the hard drive on the computer (we had a 3GB hard drive back then, imagine that!) but managing to run the game so smooth and fast it didn’t matter, so much I played both games that they skip from time to time and I think they are at the end of their life, so sad as it will be hard to find such a bargain again (unless GOG or Humble Bundle gives them away for super cheap again but I highly doubt it).

With all that being said, give it a try, enjoy it, take the time to learn probably one of the best and easiest systems for a role-playing game (because AD&D sucked in Baldurs Gate although it was an awesome game nevertheless).

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.

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...