Thursday, July 8, 2021

$20 Dollar Computers

 I picked up three Optiplex 3050 mini computers for $20 each. They came sight unseen, untested and without power supplies. I would have offered more, had the systems come with no power supplies and could not be tested. I purchased a single power supply so I could test the three system. All three are working and took a Debian install, so now I need to buy two more power supplies, which only cost about $17 each, so I am still under $40 for each of them.

Where I am now, is what to do with them. They each have i3 processors, 4GB of RAM and a 500 GB hard drive (not SSD's) and they are less than 4 years old. I am tempted to build a Beowulf cluster, doing this would allow me to do some interesting projects, like find out just how long it would take to break a Windows password or perhaps experiment with machine learning and unleash a Twitter Chatbot on the world just for the LOLs.

Two of them would also make pretty good media servers, as you can see, the middle one in the stack is pretty beat up and probably will not clean up well, having that sit next to a TV would just be unsightly. I am also not sure if the Intel graphic would be up to 4K video playback and there is not much I can do about that.

There are other options for using these machines, but really, I think the Beowulf cluster is the most interesting of ideas. I have a laptop that I use for testing different operating systems and such, I think I will use it as the master node in the cluster. This would remove the need for any keyboard, mice or monitors, since the three nodes would be headless and the laptop would be used to manage the cluster. The laptop also has both an Ethernet connector and wireless, so the Ethernet connector can be used to communicate with the nodes, while still having access the rest of my network and the internet via wireless. I can also setup network sharing on the laptop to provide access to the nodes for updates and such.

At the moment, I am waiting on the 2 power supplies and a network switch. I expect to have those by Wednesday and after that I will begin setting up Skynet.

Saturday, June 26, 2021

Summer catch up post

 A few things have come to the fore front of my life recently. 

I have had both vaccine shots now, and the U.S. has exceeded 50% vaccinated and will likely hit 70% by September. This makes me feel much more comfortable about being out and about, even though I still wear a mask most everywhere I go, The reason for this is, just because I have had the vaccine, does not mean I cannot catch COVID-19, it just means my body will fight it off much quicker and I could still be a carrier for a couple of days while my immune system is at work. I would feel really bad if I were to give it to someone who cannot get the vaccine.

I have pretty much been self quarantined for more than a year, my only major in person social interaction since last June has been with my wife. Since my wife and I live in different houses, I have spent the vast majority of the last year by myself. When I went on vacation back to Billings, I thought it would be really great to finally get some real and meaningful person to person contact. It was not great, I found I was very uncomfortable with a house full of people, even if everyone was vaccinated and everyone were people I knew. I had a whole big load of social anxiety. I did not like cramming myself into real cloths everyday instead of throwing on sweat pants and a ratty T-shirt. I did not like wearing shoes, I desperately wanted to go barefoot. I love my family, I did enjoy seeing everyone, but in the end, I just wanted to go home and be by myself again.

I am not sure I want things to go back to the way they were before the pandemic, I kind of like not having to entertain people all the time, I like not having to make excuses for not joining co-workers for lunch, or after work drinks. I like not having to go to movies i don't want to see because my friends want to go see it. I like not having to do small talk to fill uncomfortable silences, I like being able to ignore what people are saying (texting) to me for days and then responding with "Sorry, didn't see this", knowing full well they have lost interest in whatever it was and you know what, I also realized, I don't really care if people do not respond to my texted either.

I read PostSecret every single Sunday, and almost every Sunday I see something profound, this week, it was this one.

Sunday, May 23, 2021

Thoughts on the Raspberry Pi aftermarket

 I have owned many raspberry Pi's over the last decade. For the most part I have been pretty satisfied with them as development and project platforms. The Raspberry Pi is well thought out, well designed for its purpose and is well supported by both the manufacturer and the community that has grown around it. What I have not been satisfied with is the third party hardware market that has popped up.

Let me say upfront that not all the hardware I have ordered over the years has been terrible, some of it has worked perfectly. However, the vast majority of these things have failed in some major way making the product either barely usable or not usable at all. Case in point, I recently bought a HyperPixel 4" screen from a company called Pimoroni. This product came highly recommended and was well reviewed and the instructions for getting it working were on the surface fairly easy.

My problems with this device started very early, at first, it would flash on for just a second and then the screen would go blank for no apparent reason, the Raspberry Pi was working fine, I could plug it into the HDMI and get video fine, I could plug other devices into the GPIO and get it working perfectly fine. After 2 days of troubleshooting this, I figured out that the I2C drivers interfered with the screen working properly, when ever those drivers polled the GPIO pins the screen would blank and not come back until a hard shutdown occurred. Completely disabling I2C and SPI on the system made it slightly better, as I could then use it for several hours before the screen blanked. There was absolutely no mention of this problem in any of the documentation anywhere, nor was there any mention of the problem on the Pimoroni forums. I thought maybe I simply had a bad screen, maybe it was just sensitive to the voltage being put out by the GPIO, so I put in an RMA request and pretty quickly, I received a replacement, same exact problem. At this point, I just gave up on it.

Again, if this had been the first time I received a half ass product, I probably would not think much about it, but over and over it has happened. It is a really sad state of affairs when I can jury rig something up on a breadboard from spare parts that works better than the professionally built version. Unfortunately I do do not have any good advise on how to tell the good from the bad here, these crap devices are often well reviewed and have very few publicized problems. All I can really say is, if you can build it yourself, do it, if you can't, well, "May the buyer beware!".

As a side note, if you are looking for a 4" screen for a Raspberry Pi, Miuzei makes a pretty good Touchscreen that works as promised with very few issues, my only real issue with it, is it does use the HDMI port, but that is not a show stopper, it just adds a cable I was looking to avoid.

Sunday, May 9, 2021

Building a PC

I do not build computers very often, my daily driver is an Alienware and I am not ashamed of that. The fact is, I am generally too lazy to build out a PC to my spec, when I can generally just go buy a pre build with 99% of what I want at the time. This is not to say I have never built a PC, I have in fact build probably 50 or 60 computers over the years, I simply do not do it anymore. The last time I build one was when I needed a system to run my website on and I needed a lot of memory to run multiple virtual machines and a redundant RAID array, this was perhaps 6 or 7 years ago

A bit more than week ago, I was on vacation and having lunch with the wife where she works. I noticed an older Pentium brand processor sitting on the shelf for about $70, more out of curiosity than anything I asked what type of CPU it was, the wife said it was an Intel G4400 dual core 3.3 Ghz Processor that had been sitting in inventory for over 2 years and she would make a deal with me if I bought the MSI B250I Motherboard they had on the shelf for, that had also been sitting on the shelf for awhile. So I said, sure throw in some RAM and lets see what the bugger costs, it came to just over $200 with 8GB of Crucial 3200 RAM. Not too shabby really. I of course still needed a case and storage, so when I got home I went on Amazon and found a nice small form factor ITX case, yes, the motherboard is an ITX board. The motherboard supports an M.2 card for storage, so I decided to grab a 256 GB SSD M.2 card, with shipping and handling, it came to about $120 total.

I got the case and m.2 card on Wednesday and was ready to put it all together. Two things I already had, was a 1 TB hard drive, that I intended to use as a 2nd drive to install games and store data. The second thing is I decided to use an old AMD R 5440 I had laying around. My experience with integrated video has never been good and with the current pricing of decent video cards being nothing less than outlandish, I figured this was a better option than not. The one thing I lacked was a copy of Windows 10. Yes, I know, I am a Linux guy, but I decided I should probably have at least one system in the house that ran Windows 10. However, for the moment, I decided just to install Linux on the thing until I decided where to get a copy of Windows from.

Assembly of the system took me maybe 20 minutes, sans cable management. System posted on the first power up, and I was mildly proud of myself. The install of Linux took another 20 minutes, and dame that SSD is fast, the fucking machine literally boots in 5 seconds. The next day, I looked around for what a copy of Windows would cost me, which was somewhere in the $130-$140 range, I was not thrilled about this, since that would constitute 25% of the cost of the machine. After thinking about it, I decided to sacrifice the Windows 10 virtual machine I had, that I never really used for anything. I removed the registration key from it, deleted the VM and then used it to activate windows on the new system. 

Keep in mind, this is not supposed to be a power house machine, it is supposed to be an adequate secondary machine. I am pretty satisfied with this build, it has a low profile, it is quiet and it is reasonable fast with the M.2 card in it and even the 1TB spindle drive is not terrible.

Saturday, April 24, 2021

Debian Unstable and Brave Web Browser

 Last week I install Debian Unstable on my test machine and as usual, I try new software as well. I find it useful to try other things, because you never know what might end up being useful. In this case I decided to try LXQT as my windows manager and the Brave web browser. None of these things were life changing, but rather mildly interesting.

Ubuntu at its core is based on Debian Unstable, Cannonical grabs Debians development branch, fixes some bug, picks out some reasonable defaults for installed software, adds some shine and calls it a day. I make this sound cheap and easy, but it really isn't, Cannonical does a real service to the Linux community by providing a stable new user friendly distribution. I personally use because it just works. Debian Unstable is not too unlike Ubuntu once it is installed. I update the system in exactly the same way, I have access to exactly the software. The only real difference is, with a default install of Ubuntu I can expect most of the software I use to already be there, with Debian I have to install it after the fact. This is not a big deal for me, because I know what I need and can crank out a script to finish installing everything. For a new user this would likely be a challenge. Otherwise, I found the experience to be or less the same.

LXQT was a bit of a challenge. Mate Desktop is pretty easy to configure, generally I have what I want in 2 minutes on a fresh install. LXQT does not have the easy to configure interface and I had to dig for things, even adding a launcher icon to my taskbar was way too many steps. It is also mildly annoying that it does not automatically enable wireless networking on boot up, I am sure there is a place to change this, I just have not found it yet. The big draw here however is just how light on resources this window manager is. As I have said in the past, Mate on a fresh boot up takes up more than a GB of RAM and once I start opening applications, that can quickly build up to 5 GB. I have a 16 GB machine as my daily driver, so this is not really much of a problem, but if I were using an 8 GB or god forbid a 4 GB machine, this would quickly get get tight. On boot up LXQT takes up around  250 MB and even after I start running applications, does not seem to exceed 1 GB very often. It also does not seem to eat much CPU time either, which is a nice bonus. The affect all this has is a much more responsive system, even large bloated applications like Firefox feel snappier

Finally, the Brave web browser. I have changed web browsers pretty regularly over the years, I am not a madman fan boy about this, I simply want a web browser that gets me where I want to go, I really do not care how it gets me there. Like most of us older computer guys, I started out using Netscape, moved to Mozilla and then Firefox. Once Chrome fixed all of its annoying problems, I started using it, and I used it for a couple of years before Firefox did a near complete rewrite of its code base and caught up with Chrome and surpassed it in many ways. I had heard some nice things about Brave, it is based on the Chrome and has a built in ad blocker, well not quite an ad blocker really. What it does is, it strips out ads from the website you are on and puts in ads of its own. This does not bother me, mostly because I block ads before they ever get to my browser, so even this has little or no affect on me. I have to admit, Brave renders web pages significantly faster that Firefox, I mean seriously, it is noticeable, even javascript heavy web sites load fast. Brave consumes less memory than Firefox, even with 6 or 7 tabs open, it consumes half the RAM Firefox does. While I am not ready to switch my daily driver over to Debian or LXQT, I am switching to Brave, I am impressed with it in almost every way.

Saturday, April 17, 2021

Trying out Debian Linux

 So I had some questions about my blogging about trying out different Linux Distributions, along with FreeBSD. The questions mainly concerned why I swapped OS's a couple of times a year. The answer is, I don't. My daily driver machine has been running Ubuntu since I bought it and has only been reinstalled when new Long Term Support (LTS) versions come out. The laptop I carry with me when I travel, closely mirrors my desktop. I have a 2nd laptop, which I refer to as my flop around the house system. This is an older i5 system without an SSD or M.2 card, this is the system I try these different OS's with. There is rarely anything important on it and if there is, it is usually backup to Dropbox, so wiping the OS is never an issue.

Having clarified that, my latest adventure has been installing Debian Linux. I figured having some insight into this was a good idea, since Debian is the upstream provider for Ubuntu. This basically means, the Ubuntu team simply takes the latest testing or unstable version of Debian, add some flash to it and call it Ubuntu. The idea being that if I ever need to, I can always fallback to Debian if Ubuntu fails me.

You would think this would be easy as pie, but there are a couple of bumps in the road. My first instinct was to install a very minimal amount and then build up from there. This was a mistake, I should have installed the GUI upfront, trying to install it afterwards was to be blunt, a shit show. The second thing is, the basic install of Debian does not include the proprietary drivers for common wifi cards, skipping the step where you provide them upfront, makes it geometrically more difficult to get wifi working after the fact. The first install was a terrible pain in the ass.

The second time I did the install, I also downloaded the firmware package and extracted it to a separate usb key and when the installer asked for it, I plugged it in, the firmware was installed and all was good. The next thing I did was during the install it asks you if you want to install a desktop environment, unless you plan to work solely from the command line, you should definitely do this. They give you a choice of several, I chose LXQT, although I could have just as easily chosen Mate, Gnome or KDE. I did have to install the gnome-network-manager package to get the wireless configured properly once I was into my desktop, but otherwise it was pretty painless compared to the first time around.

Once this was done, the next step was to upgrade to the unstable version, the reason for this is, the stable version is geared towards old, tried, tested and stable as fuck. I wanted access to newer software and stability is not necessarily my main concern here, Keep in mind, unstable in Linux does not mean the same thing as it does in the Windows world. Doing this is fairly easy all things considered, I simply updated the repository links from stable to unstable.


deb buster main non-free contrib
deb-src buster main non-free contrib


deb unstable main contrib non-free
deb-src unstable main contrib non-free

After that I simply did an "apt update" and "apt full-upgrade", a little while later, it was done. Start to finish, this took me around 3 hours, including the the first install. I think had I started out following the instructions properly, I think this would have taken me maybe an hour or an hour and a half. In my next post I will let you know what I think after I have had a chance to mess around with things and configure things to my taste.

Monday, March 22, 2021

Review: Middlesex by Jeffery Eugenides

MiddlesexMiddlesex by Jeffrey Eugenides
My rating: 5 of 5 stars

This is an interesting book, it is actually two stories that blend together to make one long fascinating multi generational family drama. From the incestuous grandparents, through the post WWII parents building a mid 20th century nuclear family, to Cal, born as an intersex (hermaphrodite) and raised as girl, this story is captivating on many levels. The central character is supposed to Cal, but he really is not, he is just one character among a cast of equally interesting characters.

The story starts with Desdemona and Lefty, a brother and sister couple escaping post WWI Turkey, to remake themselves as a married couple in America. The Desdemona and Lefty relationship is an uncomfortable one, the author tried to build an epic love story here, but there is a definite ick factor here. Their story is not really about the oddity of the relationship or really even the relationship itself, but rather it is about transformations and making a new life for ones self.

This transformation and building of a new life, parallels Cal's own story, upon the discovery of Cal's condition, she runs away and starts a new life as a man. There is even a bit of an ick factor, while Cal is a teenage runway he becomes a performer in burlesque show where his genitals are displayed for the entertainment of paying customers. Interspersed throughout the book is the story of a middle aged Cal meeting a woman who excepts him for who he is, this part of the story is very short and told in single paragraphs throughout the book.

In between Cal and his grandparents is the story of Milton and Tessie, Cal's parents, who are also cousins. Their story is not so much about transformation, but more about what life was like for ethnic immigrants and their children in the mid 20th century as they build a life together and have children. Their lives fall apart a couple of times, but always they seem to bounce back, stronger than before.

Over all, really good book, strong characters, interesting story lines built with strong writing. I liked the way the author faded from one story to another, with little to no transition. In one paragraph you will be reading about Lefty's gambling problem in the 1960's and in the next reading about Cal spending time with a women in the early 2000's. The transitions are smooth and a couple of times I did not even realize they had happened, it just felt like the natural flow of the story.

View all my reviews

Thursday, March 11, 2021

I do stupid things sometimes

 I have been using Linux for decades. At this point I have it down pretty well, even to the point where it is easier than Windows 10 for me. Sometimes I get bored with the "It just works" shit I take on a task just because it is hard. If you have been reading this blog for any length of time, you have seen me switch Linux distributions, and even try out FreeBSD.

This wee, my project has been trying out tiling windows managers. Normally I just use Mate, which is pretty straight forward and not too different from using Windows, although it is far more configurable. A tiling window manager, to quote Wikipedia, is 

"a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more popular approach of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop metaphor."

Something like this:

In other words, instead of windows floating all over the place, the windows are nicely lined up, wasting no desktop space. The really nice feature of most of these tiling windows managers is they are light on resources. When using Mate, it is not unusual for 5GB of RAM to be in use at any given times. While using one of these, I have never seen RAM usage climb above 1 GB. Of course there is a trade off in functionality and ease of use. Of course this was not about functionality or ease of use, this was about abusing myself. I tried two of them out, DWM and 13, compared to Mate, neither were great, but one was definitely better than the other.

DWM is made by the Suckless organization, I have some really bad news for them however. DWM does not suck less. I get it, these guys want to build light weight tools, with a minimum of features. Okay, got it, but seriously, it should not be necessary to recompile from source code to change the colors of the tool bar. In fact any changes at that you might want to make, require you to change the source code and recompile. Apparently, to them, this is a feature, not a bug. In my mind, reading and writing a configuration file would not be a terrible leap in bloat. To their credit, they do provide patches for the more popular modifications people make, unfortunately, it is exactly no ones job to maintain these patches, and I found 80% of them I could not even apply the patch without jumping through hoops and when I did get the patches installed properly, many of them  failed to function properly. So after fucking with this for 2 days and getting little more than a basic install working, I decided this was a non starter.

i3 is slightly better in terms of configuration. They at least understand the utility of a configuration file to make small useful changes. Mind you it took me the better part of a day googling things to finally get a usable desktop so it was not all fun and sunshine, however once I figured out the basic syntax of the config files, it was relatively easy to add functionality. I would not consider i3 to be easy by any means, but it sucks less than DWM. The thing i3 really had over DWM, is once I got everything setup more or less the way I wanted it, it was pretty easy to save the config files and write a script to automate installing all the needed software and placing the config files where they needed to be, so duplicating my setup on another system would be trivial.

Overall, I am a bit meh! about this whole tiling windows manager thing. I like the idea of this kind of organizational structure and desktop management, but honestly there is no reason why it should take 7 hours setting up a decent working desktop with my preferred colors, properly sized and readable fonts that do not make my eyes bleed, and some useful applets like WiFi, Battery and volume control. Now that it is done, I will probably use it for a while, but if I ever decide to seriously change windows managers, I will choose one that has a setup wizard, not one that requires me to know that #012FFF is the hexadecimal value of my favorite shade of blue.

Thursday, March 4, 2021

RE: Raspberry Pi 400

 One of the things I thought I'd talk about with this machine is configuring it to do something useful. On the outside this appears to be pretty easy, the basic Rasbian boot image pretty much has everything you need to be reasonably productive. The problem is, I don't particularly like the basic setup or the choices of applications. On top of that, I prefer Ubuntu to other flavors of Linux, so I wanted to start there. The basic Ubuntu desktop never appealed to me, Gnome 3 is just not my thing and on my desktop, I use Mates. There is a Mates version I can use, but I wanted to do something a little different. The Raspberry Pi 400 is a pretty decent machine and is very capable of running Mates, but it is still somewhat constrained my modern standards and i have no desire to overclock it, so the less resources the windowing system uses, the more resources I have available for applications and multitasking.

My choice for Window Manager is Dynamic Window Manager (DWM), it is the core of the Suckless Desktop, whose design goal is simplicity in desktop design. The whole thing runs on less than than 300K of memory. It does have some limitations and irritations, but the trade offs are acceptable. DWM is very configurable, but this requires you to recompile it to even change the default color scheme and upgrading it, forces you to make all the changes again before doing so. This is a no thanks for me, the default colors are fine, all I really want to do is change the background and that is easy enough without recompiling anything. So I will simply be using apt-get to install and update it.

I will start off with the Ubuntu 20.04 Server image, I choose this because it does not have xorg or graphical applications preinstalled, it is totally command line and is a blank slate for our purposes. I am a lets script this shit kind of guy, so that is what i did, I created some basic config files to get me started and write a shell script to install the software I regularly use, so once I get Ubuntu Server installed, updated and a new user created, I simply copied all of these files, plus the image I wanted to use as my background, over to my home directory via ssh and ran the setup script.

Some notes about what I did here. I removed snap because i have found snap applications run significantly slower than the normal repository versions, so I remove it to keep from accidentally installing from the snap store. I removed gdm3, because I want the system to boot into text mode by default, I will start DWM manually when I need it. You will note that I have two fairly complete sets of applications, text mode and GUI, I would say I am in the GUI 80% of the time, but I do have a bit of a fetish for the command line and sometimes I will spend a lot of time working in text mode only, and this gives me both for when I am in one of those moods. To answer the obvious question, yes I can be fairly productive at the command line, about the only things I can't do is play videos and the internet experience is less than optimal.

Well that is it folks, I have posted all the files below, so you can use them as a template for yourself so you can customize your setup without too much fuss.

Setup script:


# Update the system
sudo apt-get update

# Install text mode applications, tools and libraries
sudo apt-get install mc links cmus htop neofetch wordgrinder emacs-nox tmux alpine sc finch tpp net-tools i2c-tools build-essential -y

# Install GUI and applications, tools and libraries
sudo apt-get install xorg dwm suckless-tools dmenu feh rxvt-unicode firefox thunderbird gnumeric abiword pidgin pluma audacious vlc -y

# Clean up
sudo apt autoremove --purge snapd -y
sudo apt purge gdm3 -y
sudo apt-get autoremove -y
sudo apt-get clean

# Copy config files and fix some things
cp x.tmux.conf ~/.tmux.conf
cp x.xsession ~/.xsession
cp x.Xdefaults ~/.Xdefaults
mkdir ~/pictures
cp background.jpg ~/pictures
sudo cat wifi.txt >> /etc/netplan/50-cloud-init.yaml

 .tmux.conf file

# loud or quiet?
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none

#  modes
setw -g clock-mode-colour colour5
setw -g mode-style 'fg=colour1 bg=colour18 bold'

# panes
set -g pane-border-style 'fg=green bg=white'
set -g pane-active-border-style 'bg=green fg=white'

# statusbar
set -g status-position top
set -g status-justify left
set -g status-style 'bg=green fg=white'
set -g status-left ''
set -g status-right '#[fg=white,bg=black] %d/%m #[fg=white,bg=black] %H:%M:%S '
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-style 'fg=white bg=black bold'
setw -g window-status-current-format ' #I#[fg=white]:#[fg=white]#W#[fg=white]#F '

setw -g window-status-style 'fg=white bg=green'
setw -g window-status-format ' #I#[fg=white]:#[fg=white]#W#[fg=white]#F '

setw -g window-status-bell-style 'fg=white bg=green bold'

# messages
set -g message-style 'fg=white bg=green bold'

 .xsession file

# set background image
feh --bg-scale ~/pictures/background.jpg

# puts a clock in the upper right hand corner
(while true; do xsetroot -name "` date +"%I:%M %p %D"`"; sleep 5; done ) &

# starts DWM
exec dwm

 .Xdefaults file

URxvt*termName: rxvt
URxvt.buffered:         true
URxvt.background:       black
URxvt.foreground:       green
URxvt.cursorColor:      green
URxvt.underlineColor:   red
URxvt.scrollBar:    False
URxvt.perl-ext:         default,matcher
URxvt.urlLauncher:      /usr/bin/firefox
URxvt.matcher.button:   1
URxvt.transparent:    True
URxvt.shading:        50

 wifi.txt file to setup wireless

            optional: true
                "Access Point SSID":
                    password: "Password"
            dhcp4: true

Tuesday, March 2, 2021

Raspberry Pi 400

Recently I bought a Raspberry Pi 400. This is a neat little device, basically it is a Raspberry Pi 4 (RPi) built into a nice slim white keyboard. Like the RPi, it has GPIO headers for attaching interesting devices like sensors, servos or small LCD panels. It is powered off a USB-C connector, it has 2 Mini HDMI ports so you can run 2 monitors on it and has USB3 ports. The most important thing about it is the 4 core ARM processor that runs at 1.8Ghz and it has 4 GB of memory, which mean it is fast enough to function as a proper desktop computer.

Now, would I use this as my main computer? Probably not, but as a backup machine, why not. If I were buying a computer for a kid, this would definitely top my list, coming in at $70 for just the system itself. A more complete kit with power supply, Mini HDMI cable, mouse and an SD card preinstalled with an OS is about $100. It does all the basic things a computer needs to do, surf the web, check email, basic document creation, plays MP3's and videos with very little trouble.

There are a couple of downsides as you would expect. For one the keyboard is a bit cramped, I typed this post on it, and I found it to be just a little uncomfortable. It boots of an SD card, which are notoriously slow for disk access, so if you are reading and writing large files, the system will pause for a bit. i found attaching a USB3 Hard rive to it fixes that problem pretty well. Finally, this is not a problem for me, but many other people will, it does not officially run Windows. Some clever hackers have gotten Windows installed on it, but there are missing drivers, and will be missing features like WiFi and Bluetooth support. For me this was not a big deal, I am a Linux guy, so this did not bother me even a little.

Overall, not bad, the RPi 4 was certainly the best Raspberry Pi to hit the market and this does it one better by making it an integrated easy to use computer.