Saturday, December 17, 2016

Using Xubuntu 16.04 in VirtualBox

I have been using Ubuntu 14.04 since August 2015, then I realized that I need to try out other Linux Distributions for certain purposes, but I am intimidated by the software repositories I am not familiar with. I wanted to use a Linux distribution inside my VirtualBox virtual machine so I could mess around with it, revert back to its previous state, and not have it mess up my computer. Since it will run inside a virtual machine, I need a lightweight operating system, without loosing functionality. I ended up using Xubuntu 16.04 for all of my virtual machines.

Xubuntu is one of the most lightweight distributions I am familiar with that happens to be popular and well maintained by its developers. I came across it by browsing the Ubuntu website and searching for its derivatives. Installing it inside VirtualBox is as easy as installing a regular Ubuntu in a physical pc, but in my experience, faster, due to the fact that there is no spinning CD involved. The performance of the Xubuntu virtual machine is smooth and sresponsive in the Acer Aspire 4750G laptop which has an Intel i5 2nd gen @2.3 ghz and and Nvidia 540m, with Ubuntu 14.04 as its host machine. The guest Xubuntu machine never crashed or experienced any performance drop, while the host Ubuntu system still operates normally.

Xubuntu comes with several useful software by default. Some of which I install in my Ubuntu host machine separately every time. Xubuntu's “Software”, which is its application for browsing and downloading programs from the repositories, opens and run smoothly. Since I have Xubuntu 16.04, it has Libre Office 5, I find its version of Gedit to be very helpful for programmers like myself, packaged with Linux kernel 4.4, and a lot more desirable features. Xubuntu's RAM consumption is very minimal; it only consumes 700MB while running Firefox with 3 tabs, LAMP stack with PHPMyAdmin, Ninja IDE, and a few open file browsers.
   
I was surprised on how customizable Xubuntu is out of the box, due to my main Linux system is customizable to an extent, and I have to download additional software for other customization options. Pulse Audio Volume Control is installed by default in Xubuntu 16.04; this made me very satisfied with my choice of virtual machine due to it is a necessity for my audio recording. GUFW, a graphical user interface for Ubuntu operating systems, also come by default and this makes my multiple installations easier by saving time in installations.

Like other tools, the kind of technology you are using matters, but the way you are using it matters more. What I do with my setup is I'll create multiple virtual machines with different software and settings, thus, different purposes. I am aware that any network connections that reaches the guest virtual machine wil of course go through and affect the host machine, therefore the concept of using virtual machines to browser untrusted websites is not viable. But since my hardware can handle multiple Xubuntu virtual machines and it may still add some layers of protection, and at least the browsing data of the virtual machine will not affect the main browser I am using in the host machine, I setup a dedicated Xubuntu virtual machine for browsing in an attempt to protect my main web browser. My most important tool in my system is my dedicated software development Xubuntu virtual machine. I open several applications and some of which runs continuously while I am using the host machine and using other virtual machines. Despite the hardware I am running this system is outdated, everything in every virtual machines perform great. I look forward in the future release of the Linux distribution.

Friday, December 9, 2016

When I switched to Ubuntu 14.04

After experincing issues with my previous operating system which is Windows 7, I considered switching to Linux, not only due to it being free while being legitimate and continiously supported by updates, but for its freedom-centric open-source solutions for several Windows-based program counterparts.

The only thing I am skeptical about is Linux's support for games. After a hours of research, I was baffled when I found out that Linux has support for games, which consist some known games played on Windows. At that point, I was sold in using Linux on all of my computers. But there is a question that remains: Which Linux should I use?

There are large numbers of Linux distributions, excluding there variants and versions, making my task of choosing one even more difficult. A lot of my attention went to Fedora and Kali Linux, apparently too complex for me at the time. When I searched for simpler, user-friendly, and general accessibility, I discovered some Debian based Linux distributions. Then I narrowed my choices to the Ubuntu distributions: Ubuntu, Xubuntu, Kubuntu, Lubuntu, Ubuntu Gnome, Ubuntu Mate due to them being well-known, ease of use, and actively supported by their developers. In the end, I opted for plain Ubuntu distribution for its longer update support, which is five years for my Ubuntu 14.04 compared to the shorter support for the other distributions which are three years at most for the Ubuntu 14.04 counter-parts.

I was satisfied on how easy the installation process was and surprised on how fast it got finished installation for older, lower-end computers. After installation, there are a few things I had to do in order for it to be as secure as it can be, without spending money, using “helpful” free-to-download software that would either not do anything helpful, or cause problems to the computer instead, and doing overly complex methods.
   
Updating the operating system: A required step not only to make it secure, but also to make the system function better. I can be done via graphical user interface, like using any other programs we use today, or via terminal, or some Windows users call the “command prompt”. Depending on the time between you are updating a newly install Linux OS and the time the Linux OS became available to be downloaded, your update time will vary. So far, I never experience an update the downloads more than 600MB.

Settings: Checking the settings for privacy and security is easy. It would only take a few click at toggles and other selections.

Firewall: By default, the operating system's firewall is turned off. As of this time, the plain Ubuntu does not have a default GUI for its firewall, so the only way to interact with it is via terminal.

Clam virus scanner: A free scanner, but unlike most known anti-virus in Windows, it does not actively protects the system. It only scans directories when you activate it. Like other scanners, it updates its database at least once a day.

These things may not make the OS unbreakable, but combined with discipline, common sense, updated, and research it is enough to make it more secure unlike other computers reported to be victims of exploits.

For productivity, the OS can do basic office tasks like word processing, spreadsheets, slide shows, etc. Image editors can be downloaded like GIMP. Wacom tablets, drawing tablets known by graphic artist and animators, can be used. There are a few choices for CD burning. Recording audio is easy and efficient with audacity.

Playing games is satisfying when the game itself is optimized for Linux operating systems. During December 2016, I Find it hard to work with AMD gpu drivers for my R7 250. Nvidia drivers works well with my GTX 750. Unless you are downloading from official sites, Ubuntu reposetories only offer the latest stable driver. While you can download games in the Ubuntu software center, I prefer downloading games from steam. Here are the game I played in Ubuntu:

DOTA 2
Counter Strike: Global Offensive
Half Life 2
XCOM: Enemy Unknown
Borderlands 2
Transistor
Bioshock Infinite

All mentioned games run well on my system. Although most of the time, Linux versions of games are more or less inferior to their Windows counter-part, you can still enjoy the games at higher settings if your system meets the requirements.

Since I'm a programmer, obviously I require my computer to have tools to develop software. Setting up developer tools and environments in Ubuntu is most of the time easy. Some, like LAMP stack (Linux + Apache + MySQL + PHP) can be tedious, but put in the right notes and patience, it is manageable.

When converting to Linux coming from other operating systems, it is a common problem that there is a particular application that you need to use but cannot be installed or does not have an alternative in Linux. What most Linux users do is to install the required operating system along with the application they need in a virtual machine. The virtual machine I installed is called Virtualbox. Ubuntu runs Virtualbox smoothly with Windows 7, and other Linux distributions I used. I have never experience any issues with it even if I run it in my Ubuntu system everyday.

Once I installed the applications mentioned along with other tools I found needed in the past, I still need to overcome the learning curve for my new operating system. I have to be updated to Linux Kernels, software versions, and other things needed to keep my computers in good shape. I also have to memorize terminal commands I realized I needed everyday.

Even though many Linux users in the world are not satisfied with Ubuntu, I find myself enjoying the features it has and appreciating how easy to troubleshoot and find solutions to my needs due to its ease of use compared to other distributions in my opinion.

Tuesday, December 6, 2016

Hard Drive Alternative

SSD stands for Solid State Drive. It is a storage device that has no moving parts. Comparable to the concepts of memory cards or flash drives. Since it does not rely on moving parts to function like a hard drive does, it reads and writes file faster and subquently is more durable.

Having an SSD as a boot device will significantly decrease the boot time of a computer, which is an ideal thing especially if that computer is used for work. When demanding applications like games, animation, photo editing, video editing, etc. are loaded from an SSD, it will not only decrease startup time, but the performance, reading, and writing speed while being used will be improved.

Of course since it's more advanced compared to hard drive, it is commonly priced higher per gigabyte. Some consumers may opt for an SSD due to its durability, but it doesn't mean it is completely unbreakable. The most unavoidable cause of SSD degradation is writing to a file. Reading from a file does not put stress on SSD's much, but writing files constantly will shorten it's lifespan, like any other storage device. Overheating is always an issue. SSD's may be shock (vibration) resistant due to the absence of moving parts, but it's still vulnerable to temperature.

As of December, 2016 the price difference of SSD's compared to hard drives are closing. And the quality and lifespan of SSD's are also improving, probably making it the ideal choice in the near future for storage. But, while this is happening, there are other technologies being built like M.2 drive; to over-simplify things, it's just like an SSD, but in a form remotely similar to a  RAM module, and has faster reads and writes due to its utilization of PCI expansion slots, instead of the traditional SATA ports.

Monday, November 28, 2016

Ideal Programming Languages to Learn in 2017

As of the time this post it being made, 2016 is coming to end while programming trends change. I Figured I'd point out ideal programming languages to learn in 2017 since I'm trying to understand new languages due to the fact that programmers are most efficient when they are updated. Note that the following are based on from what I experienced and what the progrmming language actually has to offer in terms of performance, jobs, opportunities, and popularity among companies.
C++
C++ has been around for quite some time now, yet newer programming languages that can compete with its speed. Its a go-to languages if you are figuring out what to use when you are developing a video game and critical programs that require short processing time.

Java
Potentially slower compared to C++ when handling multiple complex processes, it became dominant in  jobs market. It is used for online and offline applications, easy to maintain and debug. A lot of documentaion. One well known feature of java is that if you code one java program in one computer, you can run that same java program in another computer even if runs a different kind of operating system as long as that computer is installed with the Java Runtime Environment or JRE. Java is also used in Android app development.

Python
A prefferable first language to learn if you are new to programming due to its easy-to-pick-up nature. It can be used for a lot of purposes in a lot of ways. It's a high level programming language, meaning its code is mostly easily readable by humans when you are developing applications.

Javascript
Very widely used in programming websites' front end development. Javascript utilizes libraries like jquery. Node.js is based on javascirpt but works in the backend isntead.  If you want to develop websites, you MUST learn Javascript.

Friday, November 25, 2016

Experience with Dell 7559(GAMING LAPTOP) as of November 2016



    The Dell 7559 has always been the best laptop for me in terms of price to performance basis for me ever since I have seen its specs during the first quarter of 2016. For more or less $800, depending on the date and country you are reading this, you will get:
       
        5th Generation i5 or i7
        GTX 960m
        8GB RAM(single module)
        1TB HDD
        1 Empty Slot for M.2 SSD
        Back lit Keyboard with numpad
        15 inch screen       
       
    It was the only gaming laptop at its price range that comes with a GTX 960m, and the cheapest among the gaming laptops that offers that same video card. The downsides to this laptop are its lack good software like backlit customization, macro customization, and the monitor is may no be accurate enough for graphic artists.

    The Dell 7559 is thin enough to fit in a slim back pack with its power brick. Built quality is decent. But the monitor flexes when you try to apply pressure on opposite sides, the middle part of the keyboard is a bit soft, the rubbery finish may attract stains later on.

    The Dell 7559 that not have trouble maintaining its temperature. This is due to its three vents located at the left side, and two located near the monitor hinges are. After running heavy loads for thirty minutes and idling it after that, it will gradually cools itself. While using its keyboard while gaming, my hands did not feel any discomfort or excessive heat from the laptop. The battery is playable for forty minutes at most when runningTomb Raider 2013, Borderlands 2, Injustice, Deus Ex: Human Revolution, and Witcher 2 on my Dell 7559 with its setup.

    Running most games smoothly in medium to high settings is not a problem with Dell 7559's GTX 960m. In my experience, Nvidia video cards 560, 660, 760 and 960 are the suite spots for gaming if you are not willing to spend more in gaming laptops. The audio is not the best, but has better quality against other laptops with the same price.

    I ran Crysis 2 on high settings and it was able to maintain FPS above 50, and would sometimes drop to 40 or below depending on what's happening on the screen. I played Crysis 2 for more or less 2 hours per session, I did not experienced crashes or issues for the whole game.

    The most ran game by my 7559 is Rainbow Six Siege. I play it mostly on high settings, with anti-aliasing turned down to X2. It does not crashes, heats up, or experience random frame drops.

    The Dell 7559 is not the best gaming laptop available due to its mid range video card and especially now that gaming laptops with new architecture will be available soon. But its price combined with its suite spot specs is what makes it a good choice for gamers willing to game on medium to high settings, and is on a budget.

Linux Introduction


Linux is an operating system designed to be packaged in different ways, meant to be deployed in various systems, primarily computers but often used in other electronics, such as cameras, routers, phones, and appliances. As an operating system, it counterparts Mac and Windows, while it is known for being more secure, customizable, lightweight, and flexible. Linux can do what Mac and Windows can in ways that may impress or underwhelm you as a free, legitimate operating system.

When starting out with Linux, you begin selecting for a Linux distribution, a specific version of Linux that is package with certain software that you may or may not need, developed by a company, group or individual. Download its installer and burn it on a blank CD or put it on a flash drive and install it like other operating systems. Update the whole system, and download the addition software that you need from it repositories. The important part of starting out with Linux is getting information for your questions or problems, which can easily be answered by other users on the web with varied solutions.

Linux is maintained by developers from around the world and is updated constantly to handle new hardware and software, eliminate security risks, and become generally a better operating system. The updates for a Linux kernel, the critical part of Linux that makes it work, is more or less the same as other kinds Linux kernel updates. The distinguishable difference a Linux system will get depends on the Linux distribution it is based on.

There are hundreds of known Linux distributions, discounting the ones that are not yet released and the unique versions of Linux that can be built by programmers for their own reasons or requirements. These distributions can specialize in everyday ordinary computer use, gaming, software development, video editing, system administration, website servers, or even hacking. As years go by, Linux, as a whole, grows in user base, productivity, popularity, and in variety.