Gentoo – The Mashallah Edition

Chicago-student

Thomas Osadzinski

So, did you guys hear about the arrest of a 20 year old DePaul University student, Thomas Osadzinski in Chicago yesterday? It was all over the tech news circuit. Apparently, the dude is an Islamic nutbag who was into Python scripting to automate fetching videos from the social media handles of ISIS, saving and sharing them on other platforms. In addition, he was also developing a minimal Linux distro based on Gentoo for ISIS. His intention was to make it fast, lean and solely focused on the social media aspect of their operations. He wanted to remove a lot of packages and programs and according to him that would make his OS difficult to hack and take control of. All well and good goofball, but you did the age old mistake of talking to an undercover FBI agent, I am guessing in the dark or deep web. Not one, but to two agents, divulging his Gentoo fork plans. As he found out later, it was certainly not easy to fork Gentoo the way he wanted and FBI busted his sorry ass and as a result, will spend the next 20 years in the slammer.

Normally, I am no fan of convicting hackers who just did something stupid due to their curiosity. Remember Iceman? Poor dude is staring at a longer sentence due to his recent exploits. To this day, I wonder what would have been the case if he had never been convicted after his very first hack. But this case is different. Dude’s obviously a Muslim convert and based on some of his social media posts, was a big time ISIS fanboy. So, the punishment is kinda deserved. Still, the nerve of forking Gentoo? That alone deserves 5 years rigorous imprisonment. LOL! Instead of Larry the cow, it would be Lathif the camel.

Source, not Sauce + A Piece of Magic Mix

I just realized that I had completely forgotten to mention CRUX. Any hardcore BSD user ought to love CRUX. I used it occasionally back then and may be I should give it another shot. It was the legendary kmandla who persuaded me to give CRUX a shot. Due to my growing collection of older hardware back then, CRUX was a perfect choice. Anyhoo, time is ripe to install CRUX again.

Now, getting back to Gentoo, I am sure some of you might be aware of the famous Gentoo dance, courtesy of InstallmanGentoo on the tube. If not, here are a few clips. They capture the essence of every late night coder who is completely overawed with himself after compiling or installing some shit successfully. I have performed this ritual quite often with pants, without pants, you name it. These clips are for the ages. Sort of lets you know what’s on the other side that can only be accessed after a successful installation (its not just cookies!).

Without further ado, here they are. Marvel at these gems.

1. How to install Gentoo in less than a minute – LOL!

The song is called A Piece of Magic Mix by Lizardking. Remember the golden age of Amiga music? A huge collection of such songs are also available on YouTube. Great listening material for a night long hacking experience.

2. Install Gentoo for the first time – Oh that feeling!

3. My favorite – Getting some ass after installing Gentoo

4. Unrelated, but totally worth it – Fighting off filthy Mac fags

Modern Magic Nostalgia

Sorcererlinuxtan

Hey guys. Work and some health related things kept me out for a while. Anyway, let us get back to business. So, a relative of mine asked my help in setting up a Gentoo installation for college. He has been using Ubuntu for a year or so right now and he felt that he wanted to explore more. I advised him to use BSD, but he wasn’t ready for it, not just yet. He wanted help with Gentoo as he was focused on source based distributions. Most of my readers know about my love-hate affair with Gentoo. Still, I wanted to help him out. It was no hassle of course, but he was sort of confused after the whole thing. Gotta see how long he sticks with it.

When it comes to Linux, nothing beats the awesomeness of source based distributions. But time and other constraints have almost put them out of business. Gentoo is still the go to source based distribution and for a good reason. The other choices from back then are either dead or dormant, with very little to no active updates. If you checked out some of my earlier posts, I had spoken a lot about Lunar Linux, a fork of Sorcerer GNU/Linux (later Sorcerer OS). At a time, it was my Linux distro of choice. It is still under development, but not as extensively as it used to be. Source Mage is another fork of Sorcerer. It had a larger team back then, but their latest updates, at least in their webpage dates to 2017. Both Lunar and Source Mage are git managed right now, so you could pull the sources and build your own. But I wonder how many people still do it, at least in comparison with the much more straightforward installation of Gentoo.

Personally, I really loved Sorcerer and its forks Lunar and Source Mage. The simple philosophy of using nothing more than bash scripts to fetch, install and update a package was a testament to KISS, instead of using complex programs and tools other distros used to manage packages. Even the installation routines were pretty simple compared to Gentoo. That’s why it was pretty easy to sort of shift between Sorcerer and Lunar for me. Kyle Sallee’s Sorcerer was way ahead of its time back then and it is a shame that it is dead now. Anyway, while I was recuperating, I had time to put an older iso on another one of my Thinkpads and was able to hack a few shit and cast a few spells here and there and was finally able to set it up for use right now. It was awesome and took me back to that time when I used to do this kinda shit at 3AM in the morning with some bullshit still overdue at 8 in the morning. Exciting times.

2019-11-18-235031_1600x900_scrot

2019-11-18-201512_1600x900_scrot

Anyway, seen above are a couple of obligatory screenshots. I went for CRT green for this machine, as I initially used back then. WM is xmonad with my old config and the font is Monaco. Wallpaper is Pinstripe from my old collection. If you guys need anything else, please ping me.

P.S. Right click on the images and open them. If original size is compromised, please delete the width parameter following ? towards the end of the image address and reload. You will have the original size.

I ThinkPad therefore I am

As usual, how about a screenshot of one of my work machines? It’s a Thinkpad T420 with pimped up specs – i7 processor, 16 gigs RAM and coreboot (I should probably document my experience with implementing this in a separate post). Nothing beats the badassery of ThinkPads in my opinion, especially the older ones. I was given a brand new thin laptop with all the bells and whistles at work. I couldn’t survive a week with it. Hustling is a major aspect of my job these days and my boss was of the opinion that a thin laptop will help me with traveling light. Sure, but it ain’t no fucking Thinkpad. I was using this machine as my primary development box as well and not just for presenting shit. The backlit keyboard with the MacBook like flat keys was downright criminal and I could never get used to the fucking clear screen.

thinkpadt420

Thinkpad T420

So after a week trying, I returned this abomination back and told the boss I will find my own machine. She just had to pay. Long story short, found a fantastic dealer dealing exclusively with refurbished ThinkPads and got my current machine. It had been used very lightly and it looked and felt like it was brand new. Pimped it up as I had mentioned earlier and it has been my greatest companion ever since. Wife comes a close second.

I am running Debian Bullseye on it. It definitely wasn’t my first choice. But other devs are insistent on using it, so I had no other choice. Also, in spite of a being a coding heavy job, I am senior management and naturally some devs look at me as a code monkey. I don’t really care about it as long as the job’s done. Anyway, as I was saying, Debian was not my choice. Actually, I didn’t even want to use Linux. I put FreeBSD on it. Linux is better in this case, said top management. Wanting to get around systemd, I went back to Gentoo, after so so many years. Emerged out pretty quickly as time was becoming a constraint. Then I found Void. It was what I believed to be exactly what I wanted. But there were some strange issues with it after a few updates. WiFi used to drop quite consistently and a few other minor annoyances got me worked up after a while. Never really figured out a proper reason for this behavior. So, I finally relented and knocked on Debian’s doors again, after ages. It is my base OS now. I still run OpenBSD, FreeBSD on a couple of other machines, OpenIndiana Hipster and Illumos on my other laptops. I will post shots from those machines soon. For the moment, here’s Debian Bullseye on a ThinkPad T420.  KDE for a change. I alternate between xmonad and KDE.

KDE

KDE on Debian Bullseye -ThinkPad T420

KDE theme is Carl from jomada and also includes the wallpaper. Urxvt colors are just ported from Carl konsole color scheme. Icon theme is Candy icons. UI font is Roboto Condensed. Window Font is Fjalla One. Urxvt font is Pragmata Pro Mono.

If you guys need any other information, please comment.

BSD UNIX – Is it for me?

BSD UNIX – Is it for me?

I have spoken about this earlier as well. You can see the following link for an example.

OpenBSD – EEE PC

My Transition

I was recently asked by a blog visitor about why I use BSD UNIX over Linux and what advice can I give a prospective convert. Nothing special, actually. In my case, it was just a matter of choice. I started from the school of UNIX (HP-UX, Sun Solaris, IBM-AIX and some SGI-IRIX) and  then ventured into Linux (Red Hat, Gentoo, Fedora, Ubuntu and its variants, Sorcerer, Lunar Linux, SourceMage, LFS, and back to Sorcerer), before getting to BSD UNIX. Why didn’t I try BSD earlier? Good question. You see, during my Engineering and Physics studies, in addition to the aforementioned Unices, we were forced to use Red Hat or Gentoo. Apart from a HP-UX box at home, I had no other personal computers, so I sort of stayed with Linux. Since, I grew up in India, during those days, computers were really expensive. Then, when I began my Doctorate studies, something happened. BSD UNIX was always on the back of my head. But a chance encounter with another BSD power user over at box-look led me to BSD UNIX finally. And it was also the time I started developing my toolkits for high performance simulations at work. Since,  the C compiler and Perl with many ported libraries from netlib, was all I needed, I realized I could have a lean system without  all the bells and whistles, including X. So I took an older computer at work and installed FreeBSD. So, you see, it was my efffort to start anew that eventually led me to BSD, FreeBSD to be precise. It was the beginning of a fruitful relationship that persists even to this day. Apart from one rig that runs Sorcerer, all my boxes are powered by BSD’s

Installation Routines

It would be illogical for me to go into the merits of using BSD versus using Linux. There is plenty of information available on the internets comparing BSD with Linux. So, I will avoid it. All I can talk about is what can one expect out of a standard installation routine on BSD systems, just briefly. One should not be lazy to read the manuals. BSD documentation will knock the socks off of Linux. Trust me, it is not a joke. OpenBSD manuals, in particular are poetry. Detailed installation methods are explained in the manuals. So, its absolutely necessary to read them. Don’t expect details in this post.

In general, every BSD installation follows through stages. First, you install the base system that installs the kernel and important toolchains needed for further builds. Assuming you are doing an installation with a CD/DVD, on FreeBSD there is the time-tested, pretty old sysinstall that can be used to install the base system.  It is pretty intuitive and it must be very easy to follow. Although, I don’t use sysinstall anymore . There are modern methods to install a rock solid base system with ZFS enabled and getting it up to date with security  advisories.  For a beginner, this might be complex, so on your first trial, just use sysinstall. But that doesn’t mean that the highly motivated should not use the modern method. It is up to you.Once the base install is finished, you can install X that would pull in additional dependencies automatically.

OpenBSD’s installation is pretty easy with a CD. Once you set the filesystem up, you can easily install the base system with X. Remember,  Xorg on OpenBSD is called Xenocara, a unique build infrastructure of Xorg. In my opinion, it is more efficient than the standard implementation of Xorg. When you reboot, you can immediately  start using a customized fvwm implementation and can start customizing the system according to your needs.

NetBSD and DragonFly BSD are pretty similar in their installation infrastructure. You setup the base system from a CD or minimal boot iso’s and then you can start adding software, like X, window managers etc.

Speaking about filesystems, on BSD’s you have the opportunity to explore different filesystems on different flavors. ZFS, UFS, Hammer, so much variety. For the initiated, you can learn more about them.

Package Management – Binary or Source?

Package management in BSD UNIX is probably the best in my opinion. You have the option of installing binary packages, but for the functionally paranoid, you can use the source (ports, pkgsrc).

On my boxes, I always start out like this. Install base system. Then, important languages that I need, a shell like zsh, vim editor and then X server. You could install the full X server or even choose to get a lite version installed, depending on the BSD flavor. So, you see you have complete control over what you want.

You can install either binary version of the packages or you could install every package from the ports infrastructure. My choice is ports. The reason is, many packages have build options that make it easy to customize them the way you want. For instance, let’s take the rxvt terminal. If you install the binary package, you will just get the default flavor. But if you build from ports, you could choose to install various encodings, scrollbars, 256 colors, etc. So, you see, it is usually helpful to install from ports. But having said that, the developers have gone through the pains of generating binary packages to facilitate easier, faster installation of packages. Hence, sometimes, it would be better to just choose the binary package. It is the most preferred route for me when I use OpenBSD stable branch. I mostly install the binary packages, except for occasional port builds. On FreeBSD and NetBSD, DragonFly BSD boxes, it is ports and pkgsrc, respectively.

Updates/Upgrades

Patience is important when using ports to configure your system. Speaking of patience, if you are a bleeding edge fanatic, you would be better off without BSD. That brings us to the topic of updates. Yes, it is possible to keep your packages updated on BSD boxes, but it is cumbersome if one resorts to doing that almost daily. I do that on unstable branches, and have encountered many breaks and most of the times I had to rollback to get the system back up on its wheels. BSD is a complete operating system, unlike Linux, so if you are only bothered about the relative newness of packages, just use a rolling release Linux distribution, like Gentoo or Arch Linux. But if you are bothered about the stability of the system as a whole with emphasis on code correctness and proper vetting of packages, BSD might just be your savior.

The main updates that I do on all my BSD boxes are security and kernel updates (release to stable). They are the ones that matter the most to me, not whether I am using zsh 4.5.X1 or zsh 4.5.X2. I hope, I have made my point clear. The only time I do port upgrades on my stable machines is when there is a new release of BSD. Generally, a complete system upgrade. I have done system upgrades universally across all my BSD boxes, that it is child’s play these days.

It’s not easy to generalize Linux users, due to the various distributions. But all I can say is this – If you want to use BSD over Linux, your thought process has to change as well. What is more important? Stability or constant tinkering even on the kernel level and upgrades that might rock your system? You be the judge. Honestly, of late the whole bleeding edge concept has become some kinda disease, where using fresh off the stove software is more important than stability. It is a philosophy that has become popular these days, thanks to many rolling release distros. You might ask, when Linux does it, why not BSD? Again, at the danger of sounding like a broken record, I am gonna reiterate the fact that BSD UNIX is an operating system, unlike Linux.

In conclusion, what works for me is being up to date with security updates and full system upgrades when a new release is out on stable machines. Snapshot testing rigs are a different story altogether. OpenBSD is the only BSD that adheres to a strict release philosophy, putting out new releases every six months. FreeBSD is famous for prolonging releases. NetBSD and DragonFly BSD do release cycles pretty well too.

Hardware Issues – Do the research!

It pays to know your hardware inside out, if you wanna have a completely enjoyable experience, be it using BSD UNIX or even Linux, for that matter. You see, hardware can sometimes be a stumbling block in using BSD. Newest hardware, be it graphic cards, sound cards, wireless cards and many more might not function well, just because the drivers may not be available. It is likely that one of the BSD’s might have support for a certain piece of hardware that others don’t. So, it is essential to do some research. In my opinion, research has to precede the buying process. Every release information of BSD’s include details about the cards that are supported and by which driver. Even bugs are listed. Lets say, you have settled on OpenBSD. Now, you wanna buy a laptop. You dig into the release information and find laptops that more or less match the support information in the release document. Then, you will never ever have to complain. This holds true for new hardware. For older systems that you might be getting from work, friends or family, if no information is available about the hardware, you can cycle through all BSD’s to find the optimal distribution for your machine (Refer this post about my NetBSD experience on a laptop that I salvaged earlier). On legacy hardware, for instance, NetBSD is a killer. It flies on some of my very old rigs, without any of the hacks.

It takes a while to reverse engineer a driver even on Linux, but the wait would be longer on BSD. But that doesn’t prevent you from trying to reverse engineer yourself! That’s the beauty of OpenSource isn’t it? Still, on matters like graphic cards, you need to do some research before settling on a BSD of your choice. For instance, if you have an NVIDIA card, and you want to use OpenBSD, do not ever expect to find an official NVIDIA driver on the machine. You will not. Theo is very particular about binary blobs. That is the very essence of OpenBSD. People criticize the OpenBSD project as being very rigid in their philosophy and their emphasis on security. Linus Torvalds, once famously called OpenBSD developers a bunch of masturbating monkeys! It’s nothing but hot air. OpenBSD’s focus is on security and cryptography and not having the source code goes against their security emphasis and why should someone criticize them for that. You don’t like it, don’t use OpenBSD, plain and simple. As of this writing, FreeBSD is the only BSD operating system that has an agreement with NVIDIA to develop and use official NVIDIA drivers. FreeBSD’s focus is different. If you don’t like their agreement with NVIDIA, no one cares. You see, it could go both way.

Support Information

There is plenty of support available on the internets. FreeBSD forums, Daemon forums, mailing lists, etc. In special cases, if anyone needs help, you can always bug me as well. On FreeBSD forums, for example, you should definitely check out the Tips and Tricks section. There is plenty of gold there. Same holds for Daemon Forums. Most users of FreeBSD forums are also active members on Daemon forums. So these two places are great to start with when someone needs help. Otherwise, you always have mailing lists. When you use snapshots and daily builds, it is crucial that you check mailing lists, since anything out of the ordinary will be reported and it might help you in case you run into a bug.

Have fun with BSD UNIX. I promise, you will love it!

Stop the Windows Bashing!

This has been bothering me for quite a while. Of late, I have found some really bad postings, threads bashing Microsoft, and calling different names, that I don’t want to mention. Personally, I completely disagree with this attitude. If Linux or BSD works for someone, doesn’t mean they have to be thrust down someone else’s throat.

My personal experience with *nix began when I had to use Solaris for my simulation needs, ages ago. Though it was very intimidating in the beginning, I started liking it, and when I had a chance to get my own machine, I loaded Linux on it. Since my needs have always revolved around programming, and mathematical modeling, *nix provided me the best platform. I was never into gaming, so I didn’t miss Windows a lot. Same goes with Mac. Never used one, and probably never will, just because my needs don’t require one.

But thats just me. There might be a lot of people who are into hardcore gaming, high quality graphic designing and so on, and certainly in those aspects, *nix is not the best suited. So it would be totally ridiculous on my part to talk to someone who plays games a lot, and preach him about Linux and how his Windows Vista sucks and so on. This self righteousness is something that can be totally done away with.

Being a fan of an OS is something, but to start preaching it is a totally different thing, which i strongly disagree with. In my opinion, world domination is not the agenda of *nix, and a whole majority of folks behind most *nix distros will agree with me I hope. To make matters worse, you also have distro wars, desktop environment wars, and such. Seriously how is it going to help?

Of course, quite a few people I know have started using Linux after I met them. But mostly, it would be that they would see my screen, and ask me details about the colors, and configuration, and when I tell them its Linux, they would ask me for some help in setting it up for them. That’s about it.

So what is the cause for such hatred? For instance, an acquaintance of mine started using Linux a few months ago for the first time, and after a week, he was convinced that Windows was crap and stuff, and he started preaching a lot about Linux. The worst part, he visited me then and saw one of my Solaris boxes at home with the CDE and started complaining how crappy it looked and how Linux was so much better! I did not want to waste time by arguing or explaining about Unix to him, because frankly, I had a feeling that his mind was made up.

So do new Linux converts also have the same opinion? Have you people also come across such individuals? When you use *nix for a long time, you tend to realize how powerful and fantastic the os is, but at the same time, you also tend to learn a lot about the variety of problems that one might have to deal with in using it., especially related to X, wireless cards etc. Mentioning the common problems encountered in *nix is the first thing I do whenever someone asks me about my opinion on *nix.

Sorry about the rant. Just that I got frustrated about all the Windows hate and had to say something about it. Please post your comments if you have come across such things as well.

Color Me Bad Fluxbox Theme

On a related note, I released a fluxbox theme over at boxlook a couple of months ago or so. The idea was to make a theme that would merge with my Xdefaults colors then. You might have seen the old Xdefaults in action in one of my previous screenshots. And the colors are still available over at my dotfiles page, for anyone still interested. Anyway here is an old screenshot of my Color Me Bad fluxbox theme in action. Click on the thumbnail for full view.

Lunar_Linux_Fluxbox_SpeedDemon_by_pkmurugan.png

For Openbox users, there is an openbox port of this theme available at boxlook as well. Rydgel ported my theme to openbox. Anyway here is the link for both the themes.

Color Me Bad – Fluxbox

Color Me Bad – Openbox

Note: People who downloaded my fluxbox folder from my previous post, need not download this theme again, since it is already available in the folder.

Collection of my Fluxbox Themes

fluxbox-logo2

Since I have had a request to share my fluxbox folder, I decided to do so, and make it available right here for other interested people as well. Fluxbox is my favorite *box environment, and is installed on all my machines, both at home and work. Its very easy on resources, and very easy to configure to one’s own needs. I have collected a lot of fluxbox themes over the years, right from the very old ones, to the very latest. There are some themes, that I made myself, and some that I heavily modified, and unreleased, but they are all available in this archive. Mostly I will take a theme and rework on it to gel with a certain gtk theme I will be using. As you might have seen in my previous fluxbox screenshots, I am currently using the Royalty gtk and fluxbox themes made by the amazing artist, lyrae aka thrynk. The only thing that I modified is the fluxbox toolbar, which you can see for yourself. Royalty is one of the best themes ever. It’s color neutral and unobtrusive and can go with any background, which is fantastic. Anyway have a look at the themes in the folder and hope you folks find it useful.

I would like to mention another thing. You should modify the main files in the folder, namely, overlay, and init to modify the setup according to your needs. Though you can make a certain theme use a particular font setup, I always use the overlay file to bypass the theme defaults, so that setup is uniform. So have a look in that file. As far as the init file goes, you can change the Workspace names and such in there, and do not have to use my Workspace names, that is unless you are a huge Cowboy Bebop fan like yours truly. Also check the keys file, mostly it is default, except for an entry I added for gmrun.

I archived my fluxbox folder and have uploaded it over at mediafire. Just follow the link below, download the file, unarchive the folder, dot.fluxbox should be the name I think. Then rename the folder to .fluxbox, and make sure that this folder resides in your home directory, i.e, ~/.fluxbox. Let me know if there is any trouble downloading the file, and if anything else is needed.

My Fluxbox Folder@mediafire

EEE+Framebuffer

Nothing much, just thought of posting a screenshot of my EEE Pc in action. As I had mentioned in some of my earlier posts, I have a very barebone EEE setup. Obviously it runs Lunar Linux, and there are no window managers installed. I have dwm, and evilwm as my primary wm’s, and just now compiled fluxbox, just because I am a huge fluxbox fan, and tend to use it from time to time.  But most of the time I just code and don’t get out of the console, and when its not so important, elinks takes care of my browsing efforts. So during such days all I use it the tty console, with framebuffer enabled. That gives me a lot of screen real estate, and dvtm, gives me a great way to utilize the space. I have to try out the vertical patch fro screen by the way, may be over the weekend. Terminus comes to the rescue as far as the console font is concerned. I do like the default console font, but I am more used to terminus. Anyway here is a screenshot of my framebuffer on my EEE Pc. It runs on the latest stable kernel 2.6.29.2, compiled with framebuffer support. Of course I haven’t played around with 915resolution yet to get the right resolution.  But 800×600 is so much better than the boring console without framebuffer. So comment on the screenshot. Click on it for full view.