Features I Would Love To See In Windows 9

Even though I recently purchased a MacBook Pro, I still use a Windows PC at home running Windows 8.1. There are so many quirks and issues in Windows 8 I would love to see version 9 fix and a few new features to make things better.

Start Menu
Supposedly already featured thanks to leaks from Microsoft themselves, Windows 9 will see a return of the classic start menu. The jokes about Windows 9 being Windows 7 with a different skin aren’t actually that far from the truth.

The original idea of removing the start menu in the first place wasn’t a very good one.

Give me the option to choose Metro or Desktop
I don’t get why this wasn’t ever an option in the first place. Instead of forcing users to use a new interface quite clearly meant for touch devices, if Microsoft wants to keep the Metro tile interface, they need to give us mouse and keyboard users the option of a plane desktop.

I don’t own a touch screen, I use a mouse and keyboard, so a normal Windows 7-esque desktop makes logical sense. Better yet, why not have two versions of Windows 9? One for desktops and one for touch devices. You could call them, wait for it: Windows 9 (Metro) and Windows 9 (Desktop), genius!

Path size limitations
In Windows there is a character size limitation for paths of 260 characters. This archaic limitation stems from the days of DOS and needs to be removed. See this article for more information.

In Windows 9 I hope the limitation is removed entirely, because it makes it impossible to work with deep nested Node.js package dependencies which I’ve encountered quite regularly exceeding 260 characters and being impossible to delete from within Windows.

Bring back Aero Glass
Some Googling seems to indicate I am not alone. When Microsoft removed Aero Glass from Windows 8, I was pretty disappointed. I think it looked really great, I loved the effect it added to my windows. In Windows 8, the interface took a step back in many regards, removing Aero Glass was one of those step backs. It is rumoured to be added back in Windows 9, but don’t hold your breath.

A virtualised command line terminal
We have the command prompt, but lets be honest, it sucks. For command line options we have Git Bash or CYGWIN and both are not exactly ideal. A virtualised unix like command prompt terminal with the power of Unix would be a boon for developers who rely on the command line and various tools/commands.

Childhood Nostalgia Level Unlocked: Commander Keen Source Code Released

Right in the nostalgia.

The source code for what was a good portion of my childhood for the game Commander Keen has been released. The source code is available on Github right here

I am going to compile this and relive my childhood once more, because I absolutely loved this game. For a 2D side scrolling platformer it was pretty advanced for its time, nowadays we take get better game graphics on our smartphones.

In one of the source code files, there is a section of cheat codes that I wish I knew when I was younger such as super jumping and whatnot. You can see a few cheat codes here.

It is easy to forget if it weren’t for games like this pushing the boundaries, we wouldn’t have the advanced games we do nowadays.

How To Remove U2, “Songs Of Innocence” From Your iTunes Library

After the amount of backlash it received for spreading U2’s new album forcefully upon ALL iTunes users, Apple have created a tool to remove the U2 album, “Songs of Innocence” from your iTunes library permanently.

While it was a creative attempt at trying to break a record for largest album release ever recorded, it was basically a form of malware. I am sure some people liked the new album, but many didn’t because it was a steaming pile of shit.

It was even enough to set outspoken Tyler, The Creator into a venting fit of rage on his Twitter account which was pretty hilarious. He equated the new album to waking up with herpes.

The tool is available here.

A Quick Review Byword 2 For Mac OS

Usually I write my blog posts in Sublime Text Editor using Markdown and then I copy and paste into a Markdown format convertor before publishing them, but it is tedious and feels a bit crappy.

I evaluated and read up on a lot of different options until I came across Byword 2 for Mac. Even though it costs $13 AUD in the Mac App Store and then another $6 AUD for activating the premium publishing features, I dived in and decided to buy it.

Byword believe it or not is one of the cheaper writing applications in the App Store, I’m not writing a novel here and like clean minimal interfaces for writing my blog posts, so it seemed to fit my purposes well.

WordPress Export/Publish

This is one of the features that drew me to Byword, the ability to write a blog post and publish it right to WordPress from the application itself. This is an additional in-app purchase, but a highly recommended one.

The publishing feature works well, the only downside is the lack of image support, but the Byword guys/gals are supposedly working on that, so watch this space.

Support for a select few other platforms is also include in the in-app purchase including; Evernote, Tumblr, Blogger and Scriptogram.

Lacks Support For Flat-file CMS’s

This is one feature that Byword 2 is missing: support for publishing via FTP to a flat-file CMS like Droplets or Statamic. This is a feature I would love to see added in for managing flat-file CMS’s that use Markdown.

This is not a deal breaker obviously, but a definite nice to have and no doubt, a highly sought after feature.

Conclusion

Byword 2 is definitely worthy of a purchase. I will admit in the beginning I was sceptical, but if you write your blog posts or anything in Markdown, you need this app. The interface is clean, and doesn’t get in the way of your writing.

How To Enable NTFS Write And Read Access In Mac OSX Mavericks

If you’re like me and you’ve just come to the Apple side or you have an external hard drive (client supplied or old drive lying about) formatted in NTFS, then you will have noticed that Mac OS does not support writing (delete, update or move) to the drive and only allows you to browse and read only.

There is a product out there by Paragon which is about $30 and I have used it before and it works incredibly well, but if you can’t justify the spend, there is a free alternative. Mac OS has a secret, it can support writing to an NTFS formatted drive with ease and it works quite well too.

Open up a Terminal window and type: sudo nano /etc/fstab

You should not see a blank screen with cursor, you’re in the Nano text editor. Now the next step is important, you will need to follow the instructions properly.

In the currently open but blank file add the following:

LABEL=DRIVENAME none ntfs rw,auto,nobrowse

Replace “DRIVENAME” above with the exact name of your external hard drive. For example, my drive is called “Thrice” so I would add in: LABEL=Thrice none ntfs rw,auto,nobrowse

Then press: Control + O to save the file, hit enter and then hit Control + X to exit Nano.

If your drive is connected, eject it and plug the drive back in. You will notice the drive is no longer visible in Finder, but it’s okay, because the drive is now mounted as a readable and writeable volume.

Open up a Finder window and at the top in the menu bar click “Go” and then “Go To Folder” (or you can simply press Command + Shift + G) in the popup field that displays, type: /volumes you should now see your drive in the new window alongside a volume called Macintosh HD

Drag your mounted volume to the Finder sidebar and it will add it as a favourite shortcut which you can access with ease.

This is a hacky solution, but it works. The Paragon application is $30, but it is probably worth the investment as it does not require editing fstab and knowing the name of the drive, it will just work.

MacBook Pro 13″ Retina (Late 2014) For Front End Development

I’ve officially gone to the dark side and bought a MacBook Pro 13″ Retina Display model (the late 2014 variant). I will be travelling a bit in the next year or so and I needed a laptop that is easy to carry around, use on a flight and has the power for development.

This is my first Mac, I primarily use PC’s and Windows because I love to game occasionally and well, it’s what I grew up using.

Why didn’t you choose the MacBook Air?

I almost bought the MacBook Air 13″ model with all of the bells and whistles which works out to be the same price as the MacBook Pro that I bought, but there are several reasons for choosing the Pro over the Air.

Even though the MacBook Air is more than enough for front-end development, at the same time it isn’t. I know developers who have used the Air for development and it served their needs well, but some situations require more processing power when multitasking.

I will be using it to work with potentially large Photoshop PSD files, running a terminal with Gulp/Grunt, web browser and listen to music on Spotify. While a MacBook Air could do all of that, I like things to be fast and this would put strain on the meagre processor it comes with which from what I’ve read isn’t built for multitasking many things at once.

My needs

  • Running Terminal applications; Grunt, Bower, Gulp, Yeoman, Node.js
  • Working with Photoshop files and Illustrator files
  • Smooth video and audio playback (Spotify and sometimes I use Youtube for music)
  • Ability to record demo music (I am an aspiring musician) and work with MIDI keyboards (Garageband appealed to me)
  • Basic video editing (not editing full-length cinema films)
  • Long battery life
  • Ability to easily be used on an airplane tray table
  • Occasional basic gaming (I mainly play DOTA 2 these days)

Why Not A Windows Laptop?

It is true you can pay the same amount I paid $1800 AUD and get an Intel Core i7 monster with 32gb of ram 512gb SSD and other crazy specifications, but as a front end developer I need the terminal a lot for running Node.js apps and working with Node modules.

There are a few caveats (although nothing stopping you) to using command line tools in Windows, especially when it comes to the nasty issue of nested dependencies in Node.js

Path issues in Windows

In Windows, when it comes to Node modules and deep dependencies, you can actually find yourself running into issues with not being able to delete or traverse Node.js module folders due to the sometimes deep structure going beyond 260 characters. Because modules use nested dependencies it causes massive headaches. See this Github issue here and all of the comments.

Terminal alternatives suck

You can either use Git Bash or CYGWIN, but as those who have used these before know: they fucking suck. Seriously, they are hacky alternatives to a true and proper terminal. Mac wins here being a Unix based operating system, development tasks are easier out of the box.

With this in mind the MacBook Pro 13″ with Retina Display seemed to be the best choice. Remember, if you’re needs are for travelling and you are a front end developer yourself, you won’t be just using this for development. Occasionally you will want to use it to watch a movie, play a game, listen to music and Skype relatives.

The only downside is the weight of it is definitely noticeably heavier than the Air, but it’s not that much heavier at the same time.

I have found that claims of the Retina Display making text look nicer to be quite true. Coding on a Retina Display is amazing, everything looks really clear and doesn’t fatigue the eyes as much as lower pixel density screens do (I alternate between my PC currently still).

If you are deciding what to buy, weigh up your needs. For me it made sense to have the extra power for when I need it and room to grow with it. Also keep in mind the latest MacBook Pro laptops are not upgradeable, so choose wisely as apparently the ram and drives are basically soldered to the board and locked to the system. There are OEM kits available, but you will void your warranty and they come with no guarantee.

If you choose the Air, you might end up regretting it later on considering the Pro isn’t really that much extra in terms of price difference, in a lot of instances it probably makes sense to go a little bit bigger.

Using Laravel 4 + Eloquent With WordPress

Before I used Laravel, I used Codeigniter and I had the perfect workflow of being able to use WordPress as the administration panel, taxonomy system, authentication, users and post types.

I hate having to create administration panels, the admin packages out there are complicated, don’t work correctly and are severely lacking in the features department.

In Laravel 4, the process for integrating WordPress is basically the same. You disable the theming functionality and include the WordPress blog-header bootstrapping file to include WordPress’ core functionality and features.

In the file public/index.php simply add the following:

define('WP_USE_THEMES', false);
require realpath(__DIR__.'/wordpress/wp-blog-header.php');

You now have WordPress integrated into your Laravel 4 installation. You can use functions inside of WordPress like wp_query, get_posts and more.

Using Laravel Eloquent With WordPress

Do you want to work directly with WordPress database tables using Eloquent? See below for an example to work with the wp_users table

<?php

class User extends Eloquent {

    // WordPress uses differently named fields for create and update fields than Laravel does
    const CREATED_AT = 'post_date';
    const UPDATED_AT = 'post_modified';
    
    // Set the table including database prefix used in WordPress
    protected $table = 'wp_users';

    // WordPress uses uppercase "ID" for the primary key
    protected $primaryKey = 'ID';

    // Hide the user_pass field
    protected $hidden = array('user_pass');

    // Whenever the user_pass field is modified, WordPress' internal hashing function will run
    public function setUserPassAttribute($pass)
    {
        $this->attributes['user_pass'] = wp_hash_password($pass);
    }

}

Some things worth noting in the above example when using Laravel with a WordPress table is that WordPress uses ALLCASE “ID” as the primary key, the created and updated fields are different to what Laravel expects by default too.

Based on the above example, you should be able to work with other tables with ease. If you require examples, I can happily provide some more.

How To Check And Get The Post Thumbnail Outside Of The WordPress Post Loop?

Recently I needed to get a post thumbnail in a WordPress project I was working on where using the function setup_postdata() would not work for me. The has_post_thumbnail() function does not accept any parameters and the_post_thumbnail() only accepts the size and an array of attributes.

Checking for the existence of a post thumbnail outside of a loop

Wordpress has a function called get_the_post_thumbnail() which as you can guess, gets the post thumbnail and accepts two arguments: the first argument is the post ID and the second is the optional image size.

Under the return values section, the WordPress documentation lists that the featured image will be returned if found or an empty string.

This means we can check if we have a featured post thumbnail using a check like the following:

    
        We have a post thumbnail...
    

Displaying the post thumbnail outside of the loop

Now we can check if it exists, we can add the function to our markup:


A complete example of showing the post thumbnail outside of the loop inside of a foreach


		    		

Is Malaysian Airlines MH370 A Cover Up?

In what sounds like a crazed conspiracy theory, it actually might turn out that the Malaysian Government and authorities have been covering up the fate of missing flight MH370 the whole time.

General Sutarman the head of the Indonesian Police Force apparently made the claim during a meeting of senior police and airline officials.

Apparently he said:

“I spoke to the Malaysian Police Chief Tun Mohammed Hanif Omar. I actually know what had actually happened with MH370.”

Whether or not there is any truth to this remains to be seen. But if there is, imagine the countries who have been spending their own cash (like Australia) to fund the expensive search operations and how they will feel?

It also begs the question, if any of this is true, who else knows about what happened to MH370 and why was it covered up? Was the plane brought down by the supposed 200kg cargo of lithium-ion batteries the plane was carrying, or maybe it was just shot down?

Whatever it is, lets hope we hear the truth on this matter soon.

Getting The Casio CTK-800 Keyboard To Work In Garageband On Mac OS Mavericks (MacBook Pro)

Recently I bought a MacBook Pro 13″ with Retina Display and the first thing I wanted to do was connect my Casio CTK-800 keyboard to it and use it with Garageband.

The driver for Mac OS can be found here and even though it specifically states versions 10.7 and 10.8, it will work on 10.9 and presumably later versions of Mac OS when they’re released.

If the link is broken, I have also uploaded the files for downloaded on this sites Amazon S3 bucket here.

All you need to do is download the package and then install it. Then plug in your CTK-800, open up Garageband and start hitting keys and it should just work.