Saturday, June 29, 2013

Sublime Text 3 - Release information, features, and is it worth it?

Introduction
The popular text editor sublime text has just released its latest build of its public beta. Sublime text's claims-to-fame are its minimap, support for 45 languages and additional subsets, its built-in package manager, and other features.

Version 2 has been around for a few years, so 3 was made to add features that used to be supplied via Sublime packages. Sublime Text 3 isn't ready to be used in a production development environment due to being beta, but it's shaping up nicely.

Cost
As opposed to editors like Emacs and Vim, Sublime Text costs money. Sublime Text 3 is $70 normally, or $30 for an upgrade from Sublime Text 2. This is a nominal amount when developers are usually making $20+ an hour.

Features, bugs, etc.
Sublime Text 3 has not yet introduced many visible features, but a lot of stuff under the hood has changed. It now has an auto-updating system for Windows and Mac, many API introductions, and even an officially packaged .deb file, whereas before a Tarball is all that was included on the website (subl is the name of the executable after it is installed). Sublime Text has support for mainstream languages like HTML and Javascript, but also for languages that aren't as popular like Clojure and Haskell. If you use these languages and want to take a break from Emacs / Vim, then this is a very compelling feature.

Sublime also integrates with various build systems. Sublime knows how to compile ruby, python, java, erlang, c++, D, and Haskell executables. It can also integrate with Make, so the user can specify a build system for languages that aren't supported by the default builds. Sublime will end the days of saving a file and compiling / running it in a separate terminal.

The only bug I noticed while using it for Haskell development was that Untitled, the default buffer for a Sublime Text, ended up getting saved, making me "Save As" to name the file, and then delete Untitled. Bugs are being ironed out for release, and if you find any you can report them to the developer.

Competition
Is Sublime Text better than Emacs or Vim? That is largely opinion and it depends on your workflow. Sublime Text, especially 3, does not have nearly the plugin market the other development tools (Eclipse, Emacs, Vim) have. It is proprietary, which means that if there is a problem you are powerless to fix it. It also must be launched graphically, unlike its competition. Memory usage is even higher than Vim's, but tied with Emacs'.

But it does have more support out-of-the-box than any of the other editors mentioned. Whether or not you buy Sublime Text depends on how much time you want to spend configuring other editors. Emacs and Vim could certainly be made to do Sublime Text's job, but with much configuration. Consider this before shelling out $70 for a license.

Thursday, June 20, 2013

How to install D (dmd) in Fedora

Continuing our "Installing in Fedora" series is dmd, the compiler for the D programming language. Trying to install this in Fedora was a headache, but doable. How much trouble you have will vary but what system you're on.

x86-32
On a 32-bit system, all you need to do is
wget http://downloads.dlang.org.s3-website-us-east-1.amazonaws.com/releases/2013/dmd-2.063.2-0.fedora.i386.rpm
yum install libgcc glibc-devel
rpm -i ./dmd*

x86-64
On 64-bit systems, it gets more complicated. For some reason, you will need the 32-bit libraries (libgcc and glibc-devel) even if you have the 64-bit dependencies installed (which you probably do). The steps now become:
wget http://downloads.dlang.org.s3-website-us-east-1.amazonaws.com/releases/2013/dmd-2.063.2-0.fedora.i386.rpm
yum install libgcc.1686 glibc-devel.1686
rpm -i ./dmd*

Forcing the use of 32-bit packages on a 64-bit system is not recommended, but you shouldn't run into any problems with it. Now you can compile your D files with dmd from the command line.

Sunday, June 2, 2013

How to install Google Chrome in Fedora 19

I had some trouble installing Google Chrome within firefox. It downloaded the .rpm file to /var/temp, but was unable to install it with gPackageKit due to "insufficient permissions". If you have this error, or just want an easier way to install Google Chrome, here is how:
Dependencies
I had an issue as well with my package manager not automatically finding one of the dependencies, but this problem could have been on my end. To be safe, install the "lsb" package from your package manager.

The Command
This one-stop-shop command (as root) will Download and install the x86 version of Google Chrome.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm && rpm -i google-chrome-stable_current_1386.rpm

For the x86_64 version:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm && rpm -i google-crhome-stable_current_x86_64.rpm

Of course, both of these commands assume that you have read the license agreement here: http://pastebin.com/ExXM86Y1

Congratulations, you are now the proud owner of a Google Chrome browser.

Saturday, June 1, 2013

Fedora 19 Beta Review

The Red-Hat sponsored, community-driven Fedora project is gearing up to release its 19th installation of their Operating System; it is named Schrödinger's cat. In fact, there is a funny story regarding the name, and the first thing that this review will touch on. The name, containing the exotic ö unicode character, crashed the bug report system since it could not properly handle Unicode. It has yet to be seen whether or not this problem effects other software that will process the distribution's name, but it's impossible that the decision to put this character in the name will not cause any grief. It was silly to let something like a name cause technical uncertainty (they could have just as easily named it Schrodingers cat).

Now that that part of the review is out of the way, let's look at the meat and bones of the Fedora system.

If you do not already have the .iso, grab it here: http://fedoraproject.org/get-prerelease?anF19b. The .iso file is very large, coming in at 4.4 GiB (enough to fit on a DVD -- Barely. It will trim down a LOT after the release)

Installation
-----------------
I do not have pictures or video of the installation. In fact, this review is mostly text-based because of how little has changed from 18. The installer DID change in a positive way, however. My first impression was of a particularly weird boot with text that was semi-selected. I couldn't tell which option in the boot screen was selected, but I could tell if I was at the very top or bottom of the list, so it was enough information to boot the .iso.

The installer then presented the option to either install the system, or try and install the system. I chose installation. The installer is still similar to the installer from Fedora 18 (which caused a LOT of controversy for various reasons. Yes, it does still try to look pretty. Yes, the done buttons are in weird spots.) The installer felt snappy on my hardware, and it had some options I wouldn't have inspected, like installable software sources with really good developer support (like a patched Eclipse).

The disk partitioner didn't ask me what I wanted to do, but since I didn't have enough room to install the image (10 GiB for me when all was said and done) it dropped me into an advanced partitioning tool. In terms of aesthetics and ease-of-use, it was probably the easiest to use out of any of the major distros. Feature-wise it was lacking. I saw no option for full-disk encryption (but it may have it; I just didn't see it) and no option for BTRFS.

When the disks were set up, it began the installation with a slide-show down on the bottom of the screen like Ubuntu has. The slideshow's pictures were not antialiased, and the viewing window was unusually small, almost like an ad. Most of the screen space here was wasted, except for options to set the root password and set up users. The user setup was impressive, toting features like changing the username based on the real name in real-time. 

After-Installation
I installed the Gnome version, so if you went a different route that is where this guide will differ a bit from you. Later on it will converge, but I have to get a lot of Gnome stuff off my chest.

When you log into the desktop environment, there is a nice post-installation greeter (graphical) like (Arch|Crunch)bang's to let you move through some userland options. When all of that is done, it plays an annoying little Gnome video tutorial, which was unnecessary but helpful for people new to the system. Up to this point, all was going swimmingly. On the surface it was a good system, but Gnome had a way of ruining that.

Problems with Gnome
Why would I put this in the review? Well, Fedora is strongly tied to Gnome, therefore a majority of Fedora users will be running Gnome. I had a particular amount of trouble doing simple tasks, even logging out.

GNOME takes a weird approach when it concerns their users. GNOME believes that GNOME knows best, and that GNOME'S users are inherently stupid and need to be protected from their own idiocy. I have heard this grip from within the Linux community since 3.2, but it is only now in Gnome 3.8 that I have seen the effect full-on.

Problem 1: No Logout Button
Gnome has a policy now where it will not provide a logout button within the Desktop Environment unless more than one user exists. There's NO ESCAPE. Want to switch Desktop Environments? Nah, Gnome says you can get back to work in your crappy fisher-price diluted Environment that they give you. There are only a few ways to circumvent this, and more in-depth guides will come later. In short, running "sudo pkill gdm" in the terminal will terminate the display manager, which systemd will re-initialize, bringing you back to the login screen. This is a dangerous hack, but aside from adding a user it is the only way.

Warning: Technical
Installing Desktop Environments aside from GNOME is a whole other ordeal. Because of how gdm works, in some Desktop Environments X clients (windows) that are closed will remain drawn onto the screen. Completely changing the display manager is the only way I found to get around this. To do so, install one that you are comfortable with (lightdm is a good choice; I prefer lxdm) and then run "systemctl disable gdm.service && systemctl enable [your display manager].service" before rebooting. These are systemd commands that will disable gdm from booting and replace it with something else.

The Verdict
The Fedora Experience will vary judging by who is having it. Personally, I have very much liked the repositories, package manager, and some of the defaults that it came with, even if it was a pain for some reasons (i.e Chrome not being installed properly).

Technically this is not a production OS. TECHNICALLY. It is  strange, but I have had less usability and stability problems with Fedora 19 than I had with Fedora 18. Hats off to the volunteer developers and Red Hat backing for that one.

Fedora 19 could help Fedora regain its reputation after the crash that was 18.