Archive for Linux

Linux Adventure Pt 3 Skylake Hell

My adventure in the world of Linux continues and I’ve come to the point where I have purchased a Dell XPS 13 non touch and went ahead and installed Ubuntu 16.04 on it. It’s important to note that I did not spring for the Dell Developer Edition, since there was a sale on the regular (read Windows 10) version of the machine and since my intention was to immediately upgrade to 16.04 once I got the machine.

My first day working with Mate, things were great, but there was a lurking problem hidden by the fact that I was running my XPS to an external monitor that entire day. You see the XPS model that I have has the newest Skylake hotness in it. Unfortunately, Skylake has been problematic in terms of screen flickering issues on Windows 10 due to driver issues – the Linux situation is just as bad if not work. The screen flickers every few seconds and is basically not usable unless connected to an external monitor.

Because of this issue, I was forced to use the recovery tool provided by Dell to reset my machine back to Windows 10 and am using it with Windows without issue. This is a pretty disappointing problem but is not necessarily the end of my adventure. My plan is to simply wait until the community or Intel provides a driver that resolves the issue. In the meantime, I’ll be checking out Windows 10 as a development environment and try out that BASH on Windows stuff.

Let me know what you think on Twitter.

Linux Adventure Pt 2: Ubuntu Apps

UbuntuMy Linux adventure continues on my modest Dell workstation. I’m pleased to say that so far things are going very well and Ubuntu continues to bring new life to my otherwise underpowered workstation. After getting over a few hurdles, what’s really impressive about my experience working on Ubuntu daily is how uneventful it is. Still, there’s always some room for improvement and the most glaring pain point is the lack of decent apps available for the operating system. Ubuntu just doesn’t have a good app ecosystem compared to MacOS and the Software Center is little more than an embarrassment.

Developer Interest: The simple and most basic cause of this is that there just aren’t many apps available, since developers don’t see Ubuntu as a platform worth developing for. Unfortunately, that’s probably true to a point. A simple Google search for developers considering moving their app project over from MacOS or Windows to Ubuntu, doesn’t yielding very heartening results. There also is something of (what I believe to be a misconception) among some developers where they believe that Ubuntu users are unlikely to purchase software.

App Distribution: Canonical, the developer of Ubuntu, released the Software Center several years ago with the hopes that it would become the equivalent of the App Store on MacOS. Unfortunately, the Software Center was poorly implemented and little to no effort was made to draw developers to the platform. Failing the Software Center, developers are left to their own devices for delivering their apps and there’s little standardization on Ubuntu or Linux as a whole for that matter when it comes to the easy distribution and installation of GUI apps.

The advantage of Ubuntu and Linux operating systems in general is that there are steps that the community can take to resolve issues on the platform. For instance, the community could develop an open-source alternative to the Software Center and encourage its adoption. Of course, Canonical could accelerate the process by throwing their development and financial weight behind such an effort and making a clearer statement about where the platform is headed.

Let me know what you think? Do you see Ubuntu as a viable development platform? Reach out to me in the comments below or on Twitter.


UPDATE: I have been made aware that the Software Center launched before the Mac App Store. I appreciate the correction. This only makes Canonical’s failure deeper, since they’ve had more time to work this out. Maybe the GNOME store will be better but I don’t think being first is in any way valuable in terms of being a developer and considering developing commercial software on the platform.  

Linux Adventure pt 1: First Look

Coder Radio listeners will know that I started using an Ubuntu workstation a few weeks ago for over about half of my general development work. While it’s true that I can’t do any native iOS or MacOS development on my workstation the majority of my current work tends to fall into one of the following technologies: native Android (Java), Ruby on Rails development (Ruby), Ionic development (JavaScript). Due to the death of my Macbook last week, I’ve spent about a week 100% on Linux at work and it’s really given me some perspective into how much things have changed on desktop Linux since I last used it seriously sometime around 2009.

The machine I’m running is Ubuntu 15.10 on a slim Dell tower with no graphics card and 8GB of Ram – it should be noted that it started with 4GB but I found that I had a spare stick lying around, so I went ahead and pushed it to eight. Overall, the performance has been phenomenal and there have been no obvious speed or animation issues in the Unity desktop.

However, the general UX has been a little more problematic. Many applications have small visual bugs in Unity under the default theme and rounded corners in particular proved problematic, leaving a dark triangle near the edges of the application’s window. I ended up solving this problem by using the GTK Arc-Dark theme. There was also an issue where the cursor kept getting stuck on the loading icon that I had to solve using the GTK Tweak tool.

In terms of actually getting work done, things are going fairly well. Installing my Android and Rails development tool-chains was a breeze with the exception of Postgres, but Postgres tends to be terrible on MacOS as well, so I don’t hold that against Ubuntu. Once I really got down to coding, my JetBrains tools were just like their MacOS versions and Git was well Git.

On the whole, I like the workflow that I’m developing on Ubuntu and am going to stick with it for a while. Another striking aspect of the changeover was how much of my workflow is Chrome dependent rather than being operating system dependent – ie I find myself using a wide variety of web (and particularly Chrome) based software. I expect that my usage of it will evolve as time goes on and as I find more sophisticated Ubuntu applications that fit and expand my workflow.

If you’d like to follow my continued Linux usage and get other development / tech insights, please follow on Twitter.

2014 Predictions

I hope that you have all had an awesome New Year’s Eve! I’ve decided that I’ll start off 2014 by making a fool of myself by trying to make some predictions for the tech industry for the new year. This is not a what you will see list, but nor is it a what you won’t see one; in reality, I am trying to focus more on trends than anything else. Overall, 2014 is looking to be a transition year rather than a real game-changer. This is in no way a bad thing and makes sense for where we are in what is usually a twenty year tech cycle; it is important to remember that the mobile revolution is not even half way done and there are still a lot of incremental advancements that need to be made in that area before it can be considered complete. Still, this article will not focus on mobile exclusively but will rather jump around with no other aim than what I find interesting.

Docker: Docker is the darling of the developer community right now and for good reason — it solves a problem that (outside of the BSD community) hasn’t really been properly addressed. There is however a risk of certain segments of the community drinking a little too much of the Koop-Aide and using Docker in ways that it wasn’t intended to be used; just think about what we saw with Rails a few years ago and the hype surrounding that and you will have a good idea of what I am concerned with. Still, at the end of the day Dockery is going to be a major tool in a lot developers’ (including this one’s) toolboxes for 2014 and probably beyond.

Windows 8: In the consumer market, Windows 8’s RT offering is in a lot of trouble — that is undeniable at this point. Windows Phone suffers much the same fate as Windows RT, though Windows Phone does enjoy a good holding in South America and some other parts of the world. Microsoft has already hinted strongly that they plan to merge WinRT and Windows Phone into one mobile operating system alla iOS. This is a great Idea but is several years too late. It also undermines the “one Windows” pitch that Microsoft has been making for Windows 8 over the last few years. In 2014, Microsoft will still be dealing with the fallout of their bumbling launch and marketing of Windows 8.

Azure: Azure has grown far beyond Windows in the cloud and at the close of 2013 is a rival to Amazon Web Services and pretty much every other cloud offering. I’ve used Azure several times myself over the year and am pretty impressed on the whole; there were some bumps in the beginning and middle of the year, but these have largely been addressed and it looks like Microsoft has some ambitious plans for Azure in 2014. Over the last month or so something called Midori has been leaking out of Microsoft and, though the pundits seem to think it is something to do with Windows on the client-side, my bet is that this is some sort of evolution of Microsoft’s cloud offerings. Either way, 2014 is going to be a good year for Microsoft in the cloud and for Azure.

Mac OS X: Twelve months ago it looked like OS X was veering dangerously toward an iOSification that would have proven intolerable for professional users. With Mavericks however Apple has found a good balance between their desire for control and the reality that the pro-market has been driven to OS X due to its being a UNIX system that has a late vendor for support and an attractive user interface. Despite the apparent back peddling, it is important to note that Apple has gotten one major change in the OS and managed to implement it in a way that is both useful to the average consumer and acceptable to the pro users — this feature is called Gatekeeper. In Mavericks, Gatekeeper does not allowed unsigned applications (to sign an application one needs to be an approved Apple developer) to be installed on the system by default. The key is that this is a default that any sophisticated user can change. However, I must admit that I have kept this default. Going forward, Apple’s belief in signed applications (or perhaps some slightly watered-down version of it) makes a lot for sense for the future of computing and I actively support refusing to install unsigned applications from untrusted sources. If the current path holds, Apple will be balancing making OS X simpler for average users and new users who came over due to the halo effect of iOS while balancing the needs of the professional user market.

Ubuntu / Linux: Canonical has done an amazing job of sullying the Ubuntu name over the 2013 and has done little more than make a fool of themselves with their naïve attempt at breaking into the mobile space. Ubuntu will still be a very popular desktop Linux operating system among new Linux users and will continue to be a major player on the server-side. Canonical the company however will fail to monetize their offerings in any significant way. The only ray of hope would be some sort of re-focusing of the company to be an enterprise focused organization much like Red Hat. Even in that case, Canonical will not be able to be a true challenger to Red Hat in 2014 and it is unlikely that they will even decide to try. The continued flailing of Canonical will contribute to a “brain drain” of passionate and talented Linux enthusiasts out of the Ubuntu community and into other Linux communities. Another side of effect this is that desktop Linux will continue to be the proverbial tempest in a teapot that it has always been. This internal discord will guarantee that 2014 will not be the year of the Linux desktop in any significant way.

That’s it! Those are my foolish predictions for 2014 — foolish as they may be, I am pretty confident that most of them will be, if not correct, then on the right track. I know they are not earth shattering and basically boil down to 2014 will more or less maintain the status quo. In a way, that’s a good thing. If we are constantly reinventing new technologies and never refining the technologies we are already have, then we will always be using unstable and half baked first generation technology. Have a happy new year and feel free to comment on Twitter.

Fingertip Tech, INC Goes Linux with Spindl

spindl_256x256x32Yesterday my company, Fingertip Tech, INC, acquired Zane Swafford’s Linux application Spindle. Spindl is a great tool for managing and tracking your time. I couldn’t be happier with the application and look forward to an awesome 2.0.

I hope that this acquisition communicates my and my companies commitment to Linux as a platform for desktop software development. I’ll be making more announcements before the end of this year and do follow Fingertip Tech, INC on Twitter to stay in the loop.

Stepping Off the Edge

imagesUbuntu is my preferred flavor of desktop Linux by far. In fact, I consistently used it as my daily driver for over two years and only left because I was having trouble with Pulse Audio (who wasn’t back then) and I started to doing Apple development which required a Mac. Despite moving to OS X, I’ve kept a close eye on the development of Ubuntu and have run it on several machines and plenty of desktop VMs. Recently, however, it has been taken in a somewhat perplexing direction culminating in the absurd $32,000,000 Indie GoGo campaign for the Ubuntu Edge.

Before you get your knickers in a knot, no, I don’t have an issue with Unity or Mir; in fact, I think Canonical is doing the right thing by moving away from the aging and bloated X and it is haar to deny that the recent releases of the Ubuntu desktop have been the best looking ones they’ve had.

Usually, I’d be happy about a Linux-based operating system taking user experience seriously; after all, that’s pretty much the basis for Apple’s rise. Canonical, however, doesn’t seem to be acting in the interest of desktop Ubuntu and the gains in user experience feel like little more than side effects of the change in focus to mobile.

Not that I am against making a great mobile operating system! I’d love to see someone branch off the code and create Ubuntu Phone or something like that. My feelings regarding iOS conventions bleeding over into OS X apply here as well — basically, I believe that a desktop OS and a mobile OS should be two totally different products and, given the failure of the Surface, it seems the market agrees with me.

There may be an opportunity for Canonical in the mobile space and I could of course be wrong. In fact, given Canonical’s willingness to get in bed with the mobile operators and willingness to allow them to pervert and mar the system’s user experience, the carriers are somewhat likely to embrace Ubuntu on mobile.

Users, however, are likely to disagree. Sure a lot of people who don’t want to pay for a smartphone will take the carrier’s freebie and that’s great for Canonical if that freebie runs Ubuntu, assuming Canonical is getting some sort of financial remuneration per handset, but this group of people is pretty much worthless to developers, since, as the statistics on the low end Android phones show, these users are unlikely to even download many apps let alone pay for apps. These low value users are unlikely to warrant even passing attention from quality developers. If Canonical wants Ubuntu to be an app platform powerhouse, it ought to focus on the platform where it already has high value users — the desktop. The current state of the Software Center on Ubuntu is a disgrace and should never have been released to the public. Beyond being buggy, it is an insult to any developer that would publish any app on it.


Ubuntu Phone OS: Initial Thoughts

ubuntu-logoLooks like Canonical is serious about making 2013 a big year for the Ubuntu project. As I am sure you are aware, Canonical revealed the Ubuntu Phone OS earlier this week. Unfortunately, like most Linux enthusiast, I have not been able get my dirty little mitts on a device running the new operating system but have been reading everything that Canonical and other sources have written about it. I really would love an Ubuntu-based phone, but have some serious misgivings about the OS: Canonical  doesn’t have carrier relationships, the mobile market is maturing, and you can’t buy an Ubuntu Phone today.

Carriers are incredibly powerful in the mobile space and it is more than a little difficult to release a product without their approval and cooperation. To date, Canonical has no public relationship with any carrier and has never released any sort of device that uses cellular technology*. If you know the history of the iPhone and Apple’s interactions with the major US carriers to get the original iPhone on the market, then you know how difficult dealing with them can be. The telcos are old companies and they run their business in a very old school manner, basing a lot of what they do on relationships.

For the sake of argument, let’s say that Canonical can get a good carrier relationship to the point where the carrier actually promotes and pushes the Ubuntu Phone; make no mistake here — the carriers do push certain phones over others in the stores via ‘sales incentives’. The last time a carrier really stood behind one platform was a huge success for the platform — the platform was Android and the campaign was Verizon’s ‘Droid’ campaign. It’s fair to say that Verizon made Android a household name and can be credited with a lot of the platforms early success, but would they do it again? Would any carrier when they can just work with any of the hundreds of Android manufactures and get a platform they know they can sell? It is widely held that the ‘Droid’ campaign was designed to compete directly with the iPhone, an AT&T exclusive at the time. The market today is different, however, and if the carriers want to push handsets other than the iPhone (perhaps because they can strike a better financial arrangement with a different manufacturer than Apple), they already have the Android powerhouse and the Windows 8 darkhouse. The market is matured and there isn’t just one platform anymore. Worse still for Canonical (and Microsoft but more on that later), a lot of everyday users have spent a lot of money on apps for Android and iOS. I believe that this creates something of a platform lock in scenario that most consumers would be unwilling to move from one platform to another, because they have purchased apps and other content that cannot be moved between platforms.

It’s 2013. You can’t make a huge mobile announcement and not actually have anything consumers can buy, but that’s just what Canonical did. Of course, they will get a lot of Ubuntu fans (myself included) installing the OS on a spare Nexus but, for the mass market, they have just squandered the excitement that the market displays around a new platform launch. Worse still, they have not announced any retail partners. The sad truth is ‘normals’ (non-geeks) buy their devices in carrier retail stores or other outlets. If the Ubuntu Phone does not have a retail presence, then, for a huge market segment, it might as well not exist.

This article has been focussed on showing the issues with an Ubuntu Phone. That does not mean that I am not an Ubuntu fan. In fact, I would it to do well, since more competition in the space is good for developers and the market as a whole. Questions? Comments? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, INC.


*UPDATE: Thanks to Arthur for pointing out that they did in fact release a netbook running Ubuntu in cooperation with Vodafone. However, they have never released a phone with carrier support.

Dell XPS 13 Review pt2: Software Side

If you haven’t read it already, please take a look at my last post for a quick review of the Dell XPS 13’s hardware; this review will take a look at Ubuntu 12.04 on the laptop. A few things of note: Ubuntu was installed via the standard ISO, Dell’s Sputnik PPAs were added via apt-get after the installation was completed, and any and all proprietary drivers are being used on my machine.

The Good: Ubuntu, as always, installs cleanly and easily. The system promptly notified me of a number of updates and provided me with a helpful GUI for installing them. Ubuntu runs stable on the XPS and Dell has done a good job of providing any extra software for the XPS’s hardware via its PPAs. Unity, Ubuntu’s relatively new and somewhat controversial desktop environment, performs almost flawlessly on the XPS 13 and is a welcome update to the somewhat retro GNOME 2 desktop environment that preceded it.

The Bad: The system is for the most part fine, however, there are a few small but noticeable issues. If when the laptop comes out of sleep, adjusting the screen’s brightness does not function until the system is restarted. By default, the user is forced to enter his root password each time the system starts to connect to wifi; this is relatively easy to change for an Ubuntu power user, but the ‘out of the box’ experience is not ideal.

The Ugly: Canonical has done a great job with this latest long term release of Ubuntu and there really isn’t anything ugly about it; though, it is likely that Unity detractors would disagree.

The Verdict: Despite the XPS 13’s abysmal screen and finicky trackpad, it still runs Ubuntu (with the help of Dell’s Sputnik project) quite well.

Dell XPS 13 Review pt 1

Listeners of Coder Radio will probably know that my primary mobile production machine is no longer a Macbook Pro but rather a Dell XPS 13 running Ubuntu Linux. I’ve received a lot of emails and questions over social networks asking how the machine is to work in for a full time software developer, so I’ve written up this review of the hardware. To be clear, I will be publishing a second piece on working (more or less) full time in Ubuntu that focuses on the software in the next week or so.

The Good: The Dell XPS 13 is a great looking machine in terms of industrial design. In a lot of ways, it looks a bit more modern than even the Macbook Air which it clearly attempts to emulate. In terms of weight, it comes in just under three pounds. The battery life is more than acceptable and the machine boots and resumes from sleep almost instantly due to its SSD hard-drive.  In both Windows and Ubuntu, the XPS feels peppy even with its relatively diminutive four gigabytes of RAM.

The Bad: The trackpad is one of the worst laptop trackpads I’ve worked with in years. On both Windows and Ubuntu, modifications to system settings had to be made in response to the trackpad’s general clumsiness; out of the box the pad seems far too sensitive to accidental swipes and taps from the user’s palm. Another pain point is the fan — it’s loud. Worse still, the fan starts even while doing the most mundane of computing tasks; for example, I currently have this Google Chrome tab with three others and the XChat IRC client open and the fan sounds like the small aircraft of an amature pilot.                       

The Ugly: The screen is so bad it’s offensive. Where Dell has managed to match or even surpass Apple’s attention to detail in terms of the industrial design of the case, they quickly revert back to the subpar quality we have come to expect from PC manufacturers pinched between the demand for low prices and razor thin profit margins.

The Verdict: The XPS 13 is by  no means a bad machine. In fact, it is more than serviceable for most users, however, it would be advisable to wait to see what the next model in the series is like if you do not need a machine today. Does it stack up against the Macbook Air? Sadly, no. Dell’s failings in the screen and trackpad only further highlight the quality of the Air’s screen and elegance of it’s trackpad. If you don’t mind Mac OS X, you’ll be much happier with the Air.

Dell’s Project Sputnik

Been to a developer conference or meetup recently? If you have, you might have noticed something odd. A large portion of the attendees using Macs. Now if that conference was an iOS or OS X developer event, then it probably makes  a lot of sense, but what about web and backend developers? Is there are reason for all those Macs? Well, that’s a question that Dell has set out to answer with their Project Sputnik.

Sputnik is an initiative to design a custom spin of Ubuntu 12.04 LTS for the Dell XPS 13. If you don’t know the XPS 13 is one of Dell’s ultrabooks. Dell wants to address the web developer market that is so fond of Apple.

I am really excited about this. Ubuntu was at one time my dev OS of choice thanks to apt-get. Currently, dell is not offering a pre-configured machine with the 12.04 image, but you can download it here and they claim that if there is enough interest they may start offering XPS’s preconfigured with Ubuntu, so if you are interested in one of these machines or just a Linux fan, let them know.