Vaio Pro 13 vs Dell XPS 13 (2014)

Since two ultrabooks are better than one ultrabook, I added a Dell XPS 13 to my toolbox. It is pretty much identical spec-wise with my Vaio, so the real competition is fit and finish. Here’s how they stack up.

2015-02-11 (1)

IMG_20150211_124200

  1. Screen Tilt

    Winner: Tie

    They both stop at the same point.

  2. Keyboard

    Winner: XPS

    Dell easily wins this battle. The key’s have a better feel and more bounce.

    IMG_20150211_124017

  3. Trackpad

    Winner: XPS

    Another easy win for the Dell. The Vaio’s trackpad is in the way more than it’s helpful. The Vaio needs to be planted on a firm, fat surface, for the clicks to even register. The Dell boasts a confident click even when raised off the desk, even though it does grab and hold on to fingerprints like no other.

  4. Battery Life

    Winner: Tie

    I haven’t noticed any difference in battery life. They both can go a long time between charging.

  5. Weight

    Winner: Vaio

    The Vaio is about a pound lighter. It adds nothing to my backpack and is easy to carry to and from meetings. I’m not sure that the Dell’s extra pound would affect this very much, but the Vaio is king of weighing very little.

  6. Ports

    Winner: Vaio

    While they both have two USB ports, I prefer the Vaio’s full size HDMI port. I haven’t adopted display port at all. This is more personal preference. The Dell might have a leg up by having one USB port on each side of the computer. One issue with the Vaio is that when using a larger USB stick, the neighboring port gets blocked. The thing that clinched this battle for the Vaio is the power cable. Having a bend in the connector makes me far less concerned about the health of the cable and the port. The extra charging USB port on the power brick was a stroke of genius on Sony’s part.

    IMG_20150211_124433

  7. Ability to handle linux

    Winner: XPS

    I know the Vaio Pro can handle linux. I’ve heard that Linus Torvalds has one. I just had a bunch of problems with wifi on linux with the Vaio that aren’t present on the XPS.

    2015-02-11 (2)

Conclusion

After several months, the Dell XPS 13 has been my go to development machine. It feels better and is more comfortable. I’d recommend it over the Vaio Pro 13.

Aurelia/JSPM Command failed: ‘unzip’ is not recognized

Presently, Aurelia’s navigation-skeleton isn’t playing nice on windows. When you get the the part where you run

jspm install -y

I was getting the error

Command failed: "unzip" is not recognized as an internal or external command, operable program or batch file.

This makes sense, because windows doesn’t have a command line ‘unzip’ program.

To solve this, I grabbed unzip.exe from here: http://stahlworks.com/dev/index.php?tool=zipunzip. I have a “utils” folder that is in my path that I can toss executables in, so I put it there.

The next error that comes up is is similar.

Command failed: "chmod" is not recognized as an internal or external command, operable program or batch file.

This command isn’t necessary for us, so I created “chmod.sh” in my “utils” folder and added the line

echo "noop"

as a Noop executable. JSPM was then happy.

Sony Vaio Pro 13 + Windows 10

I was early to the party with windows 8 on my Vaio Pro 13. There were a few issues with Visual Studio. I think they were graphic driver issues, if I remember correctly. Windows 10 Preview was a lot smoother. There were far fewer issues, and the big ones were just waiting on proprietary drivers. The only functionality I lost that I missed was Cisco VPN, but it’s probably been resolved by now. Visual Studio 2015 installs nicely and gave me no issues.

I am now running Ubuntu 14.10. My plan is to get a bigger SSD and dual boot Windows 10 and Ubuntu.

All Glory to the Hypnotoad!

Show me the glory!

hypnotoad

Ok, I get it. Make it stop.

When I saw a really neat one line random color generator in a blog post, I saw it as an opportunity to glorify the hynotoad. This is the magic part:


(~~(Math.random()*(1<<24))).toString(16) 

In that line, ".toString(16)" gives us a hexadecimal value. We need to constrain our random numbers between 0 and ffffff, hexadecimally speaking, or 16777215 when converted to an integer. "1<<24" is a fancy and short way to achieve 16777216 using bitwise operators. The double tilde is a shorthand to lop off the decimal places that the call to "Math.random()" gives us. It could also have been achieved using "parseInt" on our random value.


(parseInt(Math.random()*(16777216))).toString(16)

This works just as well, but isn't nearly as cool looking.

Dropping our random color generator into a setInterval produces pleasing results.


setInterval(function(){
  var toads = document.querySelectorAll('.hypnotoad');
  [].forEach.call(toads, function(toad){
     toad.style.backgroundColor = "#"+(~~(Math.random()*(1&lt;&lt;24))).toString(16);
  });
}, 80);

Apply your hypnotoad class to any element you want to begin glorification.

Here's a link to a codepen, if you like that sort of thing

Spinning Diesel: Knowing What You Don’t Know

The article I will be referencing:
Huffington Post Takes A Piss On Diesels

Huffington Post incited (rage-induced) enthusiasm today. For that, I thank them. The lead picture also gave me a pretty good chuckle. Thanks for that, too.
safe_image

I can start with the obvious: this isn’t an anti-environmental group agenda and it has NOTHING to do with Obama. Sure, there are jerks that smoke screen people (I have personally had “coal rolled” upon me). I put this in to the same category as having my house egged, TP’d, or graffiti’d. It’s unwanted, unwarranted behavior that should have consequences. If that was the slant of the article, this blog post wouldn’t exist.

The environmental issue
Yes, fossil fuels take carbon from far below the earth’s surface and throw it into the air we breath. This is a consequence of our reliance on combustion engines of all kinds. Did you know that the Rudolph Diesel’s first diesel engine ran on peanut oil? In fact, the aim of the engine was to allow farmers to grow their own fuel. It wasn’t until later that fossil fuels were used to power these engines and get Rudolph’s name offensively slapped onto the product.

Diesel engines carry just about everything you buy from the source to the shelves. Diesels are used because they have more torque (ability to pull heavier loads) and operate more efficiently than spark ignition engines (the kind that use gasoline). Most of the rest of the world prefers this engine due to the fuel economy and fuel flexibility they offer.

The debate rages on about whether gasoline engines or diesel engines are worse for the environment. Speaking in terms of the United States, gas engines have far greater numbers, get worse fuel economy when compared to their diesel counterparts, and are used frequently to carry light loads (a person or two) very short distances. Diesel engines distribute more particulate matter (soot), but get better fuel economy and are used to carry heavy loads long distances. Ultimately, both engines are burning what was once crude oil.

Why is this even happening?
Mechanics (hobbyists and professionals, alike) have been modifying pickups for generations. These trial and error modifications have lead to advances in power and fuel economy that winds up in stock production models. More power means more efficiency when power is needed. A handful of idiots abusing this power does not an anti-environmentalist group make.

I will attempt to explain black smoke and diesel exhaust. The article was correct in stating that too much fuel in the chamber leads to partially burnt fuel exiting the tailpipe. To achieve power in a compression ignition engine, the main variable to play with is the amount of fuel injected into the combustion chamber at each compression stroke. Eventually, you reach a tipping point where more fuel is being injected than can be thoroughly burned. Simply put, you get a lot of power at the expense of excess fuel use.

My thoughts
This is an example of sensationalism. How social media can be used to whip people into a frenzy. I think it’s a fair assumption that a writer at Huff Post was a victim of a cloud of exhaust. They then set their pen (keystrokes) against their attacker. The outcome is an uninformed witch hunt against the vehicles that get work done and their performance modified cousins.

It all comes down to knowing what you don’t know. I have a very limited scope of knowledge. I just so happen to stumble on an example that I do have education and experience in. This enabled me to read between the lines and see the truth from the exaggerations and spin. How many other instances are there were I fall into the sensationalist trap and get riled up over spin? I’ll be sure to watch out for that.

Receiving Emails in Redmine with GMail on Dreamhost

Setting up Redmine to create issues from emails, the way I did it, mostly involved getting a cron job running to rake redmine:email:receive_imap. The basic steps are:

    1. Create a GMail Account
    2. Add a script to run at intervals (I am running it every 30 – */30 * * * *

I created shell script in it’s own file that reads like this:

#!/bin/bash
/home/xxxx/.gems/bin/rake -f ~/xxxx/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=imap.gmail.com ssl=SSL port=993 username=xxxx@gmail.com password=xxxx project=xxx tracker=bug priority=Immediate allow_override=project,tracker,priority --trace

One thing that hung me up was that for ruby gems to be in the path in the cron execution context, you’re crontab needs to look like this:

*/30 * * * * . /etc/profile && /path/to/script.sh

Without the “. /etc profile” part, your script won’t know what the hell a “rake” is.

I can’t get the “assigned_to” default to work, but I’m happy with it running properly for the time being.

Windows 8.1 and Visual Studio

I upgraded my Sony Vaio Pro 13 to windows 8.1 immediately after taking it out of the box. My intention was to use it as a development machine, so I planned to slap Visual Studio 2013 RC on next.

I grabbed the web installer and ran it. It started, ran for three seconds, and promptly crashed. Odd…maybe an issue with the web installer? I grabbed the .iso and mounted it. Same thing. Ok…ok…all part of trying to install a release candidate. I retreated back to the safety and comfort of VS2012. Oh no! Same problem!

At this point I did some googling and found out it has to do with a combination of Windows 8.1 and an Intel display driver. I changed my display driver to the generic one using the device manager and tried again. VS2013 still had issues, but VS2012 worked. I haven’t tried updating my display driver back and launching it yet. I’ll come back to this.

UPDATE
After several Sony and several Visual Studio/Windows updates, the issues are no more.

SVN Repo Admin – Commands to Remember

Things I need to remember about SVN on my server that I use less and less:

Make A Repo:

sudo mkdir /var/svn/
sudo svnadmin create /var/svn/
sudo chown -R www-data:www-data /var/svn/
sudo service apache2 restart

Add a user

sudo htpasswd2 -m /etc/apache2/dav_svn.passwd

document.getElementBy Whatever I Want

During re-factoring of a dreadful legacy app, I often came across javascript like this:

document.getElementById('firstName');

with HTML like this:

<input type="text" name="firstName" />

I was confused as to how this ever worked and made it into production. I always assumed that getElementById would get an element by it’s Id. This is for the most part true. However, in earlier versions of IE, getElementById would also work with name attributes. It’s this kind of “IE Logic” that did immeasurable damage to both development practices and the web at large. Even as a convenience feature, it should not have been used. When a function explicitly says what it does in it’s name, don’t use it any other way.

In hindsight, if you were of the opinion that “we only use IE here so it doesn’t really matter”, you were wrong. It does matter.

The Book of G’Kar

What is Truth? What is God?

When a question like this is asked on TV, the best answers come from science fiction. Babylon 5 presented this answer through the character G’Kar:

If I take a lamp and shine toward the wall, a bright spot will appear on the wall. The lamp is our search for truth, for understanding. Too often we assume the light on the wall is God, but the light is not the goal of the search, it is the result of the search. The more intense the search, the brighter the light on the wall. The brighter the light on the wall, the greater the revelation upon seeing it. Similarly, someone who does not search, who does not bring a lantern with him, sees nothing. What we perceive as God is the by-product of our search for God. It may simply be an appreciation of the light, pure and unblemished, not understanding that it comes from us. Sometimes, we stand in front of the light and assume we are the center of the universe – God looks astonishingly like we do! – or we turn to look at our shadow and assume that all is darkness. If we allow ourselves to get in the way, we defeat the purpose – which is to use the light of our search to illuminate the wall in all its beauty and all its flaws, and in so doing, better understand the world around us.

The writing for G’Kar rarely disappoints. For that, I will continue to suffer through season 5.