viernes, 12 de julio de 2019

My Home Theater PC

I wrote about my first self made PC build,  in which I talked about my first experience in getting PC parts myself and putting them together.  This PC however, became eventually outdated and was replaced as my daily driver by my current build (which is better in every way). But just because I don't use it everyday doesn't mean I have no use for it.

The Home Theater PC

With the passing of years I've found some purpose for it, like live backups, as a repository with file sharing, as a computer to lend others when in need, and most importantly as a computer I can give time consuming tasks in a way I won't notice it. Like downloading a lot of files over a few days uninterruptedly.

It also got the role of a Home Theater PC, which led me to move it to the living room and connect it to the TV and Speakers. Whenever we wanted to watch something from my PC, I would boot it up (Windows), play the file, set full screen and configured whatever was necessary. This approach got us through several years, albeit my not-so-tech-savvy family were always hesitant in using it without my presence. Now, my living room is not near my bedroom/office so when it came to managing the system I decided to control the PC over Windows' Remote Desktop Protocol.

However I wanted to manage my downloads on a Linux environment, and at the same time wanted to make it more transparent for all the people I live with to access the media contained within the PC.  After some time I discovered Plex.

The Content Distributor: Plex

Plex is amazing, in my opinion, for it takes my media files and present them over the local network through a platform similar to popular streaming services. Since my family is already used to streaming services like Netflix, this approach was definitely a right one. I installed it and we began to use it.

Unfortunately our living room smart TV isn't Android, and whatever OS it uses doesn't counts with the client application for Plex. So no Plex for the time being.   I would then go on to research for Android devices compatible with Plex that I could hook up to the TV. Eventually I found the Roku.

Plex and Roku

So I bought one. Fairly recently by the way. The Ultra version, and then an Express+ version for the non-smart kitchen TV.  They work quite well, though I get no web browsing on them. But they are quite fast, while some nice brand Smart TVs come with sluggish hardware.

Thanks to the Roku, my family no longer has to interact with my computer anymore. And although they have yet to use Plex on their own, I expect them to pick it up without too much hassle.

The Switch of Operating System

The separation between the Home Theater PC and the not-so-tech-savvy humans allowed me to switch the OS to a Linux distro. I was managing the Windows OS in a separate Solid State Drive. I decided to buy another SSD for the Linux and probably dual boot them. However I've never really like boot loaders, and on top of that this computer will no longer use a screen. Meaning that if I wanted to switch OS I would have to plug a screen and select the OS before going back to my computer and remote control it.

So I decided to install a SATA switch, therefore ending up with what seems like a hardware level dual boot. This device adds a few buttons on the back of my PC and each button represents a SATA drive. If it's pressed the SATA drive is powered with the system, otherwise not. It's a fun gadget and as long as I don't leave both drives set for use I won't have problems switching over and neither OS is aware the other exists. Each believes they are my one and only. Guess that makes me a two-timer. Shame on me.

Since the PC is still away from my usual premises, and even away from a screen, I was expecting to use xRDP for remote access.  Since I got it working once not so long ago on Mint with KDE, I chose to install Mint.

The Remote Access Problems

However . . .  never again did I manage to get xRDP working. This shattered my initial dreams of connecting to the IDE from my Windows daily driver via the RDP. This forced me to use an application that I don't really like that much: TeamViewer.

TeamViewer provides free use for non-commercial purposes. And that is fine, and generous too. But it's not smooth enough. Of course the experience depends on network quality.  If LAN connections isn't enforced in the server machine, then TeamViewer won't care if both machines are next to each other and will communicate them over their cloud service. After I made sure it was LAN only enforced and added the rules to the Firewall, the quality and response was not that different.  So I ditched TeamViewer. Actually, I decided to ditch the IDE all together.

Now that I decided that I won't be connecting to the IDE, I had to make sure to enable a few things and leave them ready so that I can still make use of the machine. So . . .  no IDE means I will use console.

For console, I installed ssh and then connect with Putty.  This allows me to open the console from my computer and since there is no IDE it is all very snappy.  This also needed a new rule for the firewall. So far so good.

Since Plex is a web application, I can manage it through my browser in an OS-agnostic manner.  Other needed cares since switching to Linux is auto-mounting the needed partitions with enough rights so that Plex can find the content sources when the system starts. Also, firewall.

But if I want to add stuff to Plex, then I need to move files.  And I might want to move the files across different systems over the network. I can use the console for this, but if becomes a bit complicated with long URL's or when more selectiveness needed.  So I decided I will be sharing the folders with authentication and enough privileges so that I can use any file explorer. So I installed SAMBA. Also, firewall.

For downloads, Linux comes with this pretty useful Torrent client, called Transmission. I think it's my favorite client ever since Opera stopped embedding one with their browser. So I installed a "client" version in my Windows machine, and configured it to connect to my Linux machine. In my Linux machine I set it up so it starts automatically because I haven't managed to start Transmission with the GUI from my ssh console. So, with this set up I can add magnet links from my computer and stop or start downloads. Of course, this also required a firewall rule.

Aftermath ? 

It's been a couple of months since I finished this set up. I like it. Can't say I pay much attention to it as much as I want to but maybe that's an indication that it works well. Guess my experience as a web application developer has helped me come up with good home experiment ideas.

martes, 14 de mayo de 2019

My first PC build

For the sake of writing something, I've decided to recount about the first time I decided to build a PC for myself.

I can only vaguely remember how the idea started to form in my mind. However I can recall some of my experiences that I'm pretty sure led me to it.  They can be summarized in two:

I had a laptop back in 2006, which was pretty much entry consumer level. It served me well for a while (a year or so), until I decided to do something beyond standard web browsing and watching 480 resolution videos. It also overheated heavily. I tried installing Linux back then, and while it was a whole new experience on its own that granted me a bit more control on graphic settings, it came down to the same. I had a better experience playing videos on Windows (and believe me I tried everything, different software, different configurations, different codecs, and I even tried demuxing and remuxing the video to lower quality). With this I had concluded that even though it hadn't been the norm until now, that software was innocent and the real culprit was the hardware.

My second experience was later on, when I discovered that a friend of mine had a very similar laptop model and was dissatisfied as well.  He had similar problems; reduced performance and overheating. He was more experienced than me, and decided to build a PC on his own.

By then I had accepted that any laptop would not suffice my performance demands and only a desktop would give me what I want.  I learned up from my friend, and also online, and slowly began to form the PC build in my mind.  As a university student my budget for the PC was very tight, so I knew the progress would be slow. Therefore I had to plan the pacing and steps in which I would acquire the hardware.

The plan:
It would take a while to get every single piece of hardware, and you don't want to end up with an outdated build. Therefore you should buy first the pieces less likely to change over time, and buy last the pieces that are the most changing with time.  To start, you need to know which parts you are going to need.  What makes up a PC?
  • CPU
  • Motherboard
  • RAM
  • Storage (could be hard drive)
  • Power Supply Unit
  • Case, a usually metallic box that holds everything 
Optionals include optical drives, additional storage, other I/O. Other hardware that you will need to use the PC, but you don't need to "build" the PC are keyboard. mouse, monitor, speakers, etc.

So, what was my plan? I already had a laptop, and while fulfilling the build was a long way to go for now, I could emulate the desktop experience. And even if I didn't care for it, it's probably something most laptop users get for themselves anyway: keyboard, mouse, speakers and a monitor.  All of these were parts that I could use right away and hopefully could use on my build when finished, so there was added value on getting these first. I doubt the mouse and keyboard survived, but the speakers and the monitor did and I still use them to this day.

The next one was maybe a little less obvious: a hard drive. I bought a hard drive with the purpose of using it for my build, however in the meantime I could make use of it for storage with a SATA to USB adapter.

The next parts would be unusable until everything was ready, so this is when buying the least changeable parts rule comes into play. These parts in my build where the PSU (power supply unit) and the case.  It was important to take into account when choosing the PSU the wattage you will need, and when choosing the case take into account how many bays will be needed, as well as PCI slots and motherboard form-factor.

Finally, you should buy the remaining parts in a single group. The CPU, the motherboard and the RAM share the most delicate compatibility. Why is this? For starters, CPU's are manufactured into a single socket type, and can only be mounted on motherboards (through the CPU socket) that support that specific CPU socket. This means that if you have to get a different CPU that uses a another socket, you will have to change the motherboard to match the new socket.  CPU's also determine which type of RAM is compatible. A few years ago, DDR3 RAM was phased out into the newer DDR4, which was a nightmare if you wanted to upgrade a CPU and motherboard that use DDR3 memory because you would have to upgrade the RAM too.

How it played
Those where the steps in which I followed the plan.

I got the mouse, the keyboard, the speakers and a 20 inch VGA monitor.

Then I got on Amazon the hard drive: a 650 GB Caviar Black from Western Digital, 7200RPM and I think it was 64 MB of cache.

Circa 2011 I searched locally for a semi modular Corsair PSU but found nothing near 750 watts, therefore I bought it on Amazon once again.   The computer case local market was also scarce for my tastes, so I tried to buy it on Amazon again, however shipping was very expensive and it came pretty wrecked. So I returned it and had to compromise with a Raidmax mid tower that I found locally.

I didn't manage a time frame for completion, and when the time came to buy the final parts it was 2013.  Though I wanted a boost in performance I didn't want to go all in on my budget with this experiment. The compromise was the CPU, which was back then the most expensive part. I got an Intel Pentium Dual Core CPU (G630 LGA 1155)  clocked at 2.7 GHz. For motherboard I went for a Gigabyte GA-B75M-D3H. I had calculated to use the onboard graphics so I wouldn't have to invest on a GPU just yet.

Parts arrived and when I started to build I realized that I forgot the RAM. I ran the next day and bought a 2 GB dim with a local vendor.

Outcome
In the end, albeit not everything went as planned, and I got stuck using the laptop far longer than I wanted, everything came together very nicely and turned out OK. Ever since, I've made several changes to that build. While a laptop is very restricted in terms of what I can update, with a desktop build I've managed to make many changes. I have:

  • Easily added more storage.
  • Changed my RAM to dual channel 16 GB.
  • Added a 3 GB Graphics Card.
  • Added a FireWire PCI Card.
  • Added an ODD.
  • Added SSD for OS storage, shortening boot up times amazingly.  

Later on I created a new build, salvaging everyday use parts from this one and adding brand new parts. I replaced some parts so that I could continue using the first build:

  • I moved the parts to a very discrete mATX case.
  • Moved the ODD, FireWire, GPU, Corsair PSU to my daily driver build.
  • Replaced the PSU for a full modular Seasonic one.

It currently uses a 240 GB SSD for the OS, the old 640 GB and a newer 2 TB drives for storage. I use it mostly as a PLEX server at home, and sometimes for work by hosting development environments and database services.  I also expect sometime soon to hand down to it my 3 GB GPU, and add a SATA switch. By now I can't think any further changes to make to it, but so far so good.




domingo, 1 de mayo de 2016

Web server configurations

I've started using an old office Dell Optiplex as a web server.  So far I've used it plugged to the TV at the TV Room, to watch Anime, YouTube, and listen to some music on that room. It runs Windows 7. Now, I've seen the day when I update my hardware growing near, and I hope to move my current machine to the TV room, leaving idle the Dell machine.  I already went ahead and created a new user, installed VMPlayer, installed Ubuntu Server on it and began running LAMP on it. I set on my router a DHCP reservation so that I don't have to set static IP on each PC.  I installed Wordpress on the LAMP server at the Virtual Machine, and now I want some workspace for PHP without creating a site inside the LAMP server.  Therefore I installed WAMP on the Windows 7 real machine.

To work on them from the machine at my bedroom, I've been using a mix of filezilla, remote desktop, and just accessing the Wordpress on the browser.

For such access, chmod and chown commands were used on the LAMP server, for the WAMP server I required some configuration that was new to me.

On WAMP's /alias folder there's phpmyadmin.conf and on the bin /apache there's httpd.conf
On both, I edited them to add the following line after the Require local.
Require ip 192.168.1

Require local makes wamp accessible only on the machine running WAMP itself.  Since I wanted to access it from another computer on the same LAN, I added that line that allows access from any IP within the same LAN. Otherwise I'd just get 403 errors.  The other option was to change the Require local to Require all granted; however that doesn't sits well by me as it gives anyone access and even if it's only running on a local machine at my home, it's not good practice.

martes, 5 de febrero de 2013

2012


Here are all the songs that I managed to create in 2012, and a link to my FB page. As for 2013 I won't stay idle, there's more to come.

http://www.facebook.com/pages/Fenrir88/234974566563188?sk=app_178091127385



lunes, 4 de febrero de 2013

Change your author name displayed for a single blog

On this site I found some very useful info on how to make my other blog post with another author name rather than the name of my blogger profile. Just in case I'll copy it:


Change Post Author Display Name Without Changing Google Profile

The details:

1. From the blog Dashboard, go to Template -> Edit HTML-> Proceed -> put a check mark in front of the the "Expand Widget Templates" option. 

2. On your keyboard press the "Ctrl" and "F" keys at the same time to bring up the search box.

3. In the search-box, type in <data:post.author/> then search.  The first <data:post.author/> will be highlighted. Replace it with the author name you want to use.For example, I replace it with my author name BJ.

Once replaced, search for next, replace again, until there's no more <data:post.author/> come up in the search result.

Note: in the Blogger template, there are 4 or more <data:post.author/>, just replace all of them with the author name you want to use.

4. Save the template. You done !

jueves, 26 de enero de 2012

Google in search engines

If you ever want to use google.com as search engine in chrome but google somehow seems to impose your national server you will have to change the search engine through your browser. Probably all that's required is to change the URL into

http://www.google.com/search?{google:RLZ}{google:acceptedSuggestion}{google:originalQueryForSuggestion}sourceid=chrome&ie={inputEncoding}&q=%s


viernes, 25 de noviembre de 2011

Ranting about Windows and Linux

This is the list of software that I use and they don't come all in the same OS therefore renders me incapable of using only one OS.

For browsing I use Opera and Firefox. Both come on windows and linux.

For IM I use WLM and Empathy. WLM is pretty but bloated, comes only for M$. Empathy is very simplistic but comes only for Linux.

For Media Players I use SMPlayer and Windows Cinema Classic. SMplayer comes for both but I'd really like just to use Cinema Classic which is only for windows.

For Music I use Foobar2000 and Audacious. I wish I could just use Foobar but it only comes for windows. Therefore I have to use audacious on linux. With Foobar I can use the Now Playing status message on WLM, with audacious there are Pidgin plugins but they don't work. Also I don't use Pidgin, I use empathy.

Office Suite I don't give a crap. Anything works for me.

Games: StarCraft, StarCraft 2, Warcraft3, Counter Strike 1.6, Diablo 2. They run only on windows xp and only SC2, WC3 and CS run on Windows 7. Linux has no cool, stable games.

I use Gimp and Inkscape. They work well on both OS.

I use GuitarPro, Reason, Amplitube, Sonar. GuitarPro latest release was also ported to linux but for the others there must be windows.

mp3tag is such a great tagger and renamer to be left out of linux. However there is Audio Tag Tool for linux but it is not good enough. For renamers there is pyrenamer (linux) and advanced renamer (win)

Sure we can all argue that viruses are common for windows and hard but not impossible for linux. I don't care about it much. But sure, I like that I feel secure with the penguin.

I like how gnome looks (gnome 2 that is). I hate how Windows looks. I hate all that transparent glassy sh!t. I am right now looking for packs to style up windows to match my taste. However M$ makes sure that it is hard for me to get it because otherwise people would start thinking windows is not that good. I am looking for Linux/Ubuntu packs. They are of course, resource hungry (just like most themes). Which takes me to my next point: native stuff that comes in linux that windows lacks (I tried to think of the opposite case but found none.)

With Linux I have several workspaces. With Windows I have one.

With Linux I have Compiz and a wide variety of cool, sometimes not so smooth effects. In Windows I have smooth but boring effects. I don't really effects other than the expo, ALT TAB with preview and the one in which all the open windows line up so that I can see them all at the same time but in miniature.

I MUST have one panel for menu's and launchers and another for the windows list and notifications. Windows only has one taskbar, with linux up to 4. Docks are too retarded and resource hungry.

I hate my life in which I have to choose one or another. The only that contents my heart for now is to have 2 pc's on. One running linux and one running windows 7, whilst I must keep my old laptop with windows xp for the days when I want to play starcraft and diablo 2.