SSMSBoost – the plugin you NEED for Microsoft SQL Server Management Studio

There’s a couple of plugins/tools that I want to cover over the next few weeks that I use on a daily basis and this one is jam packed full of features.

It was introduced to me by co-workers (who I won’t name and shame) but we will call them Lurker & Mod.

SSMS Boost – http://www.ssmsboost.com/

I won’t cover all the features straight away, but slowly introduce you to them all over time.

SSMSBoost is one of those all-in-one tools that you just NEED to have. It saves you time and I won’t be suprised if future versions of SSMS use some of these features in the main build.

The plugin comes as a Free trial (via a license key registration – just basic deets) and a Paid version. I’m currently just using the Free trial and it’s amazing.

One of the great features we’ve been using is the Script data as… feature that allows you to export into the common formats you actually require as a Developer or DBA. No more having to copy/paste and fiddle with Spreadsheets and accidentally forget to Copy Headers.

I use this tool for backing up data from tables to spreadsheets for a “just in case” moment. But the real power comes when you need to script up dummy data for a new table. Using the INSERT INTO or SELECT templates make light work of something that could’ve taken 10-15 mins to get right.

I’ll try post up some examples of SSMSBoost in action, with some real world scenarios.

 

Collingwood Forever launched

Yesterday Collingwood Forever was launched at a big gala event. It’s all about the rich history of the largest sporting club in Australia – my club!

http://forever.collingwoodfc.com.au/

collingwoodforever

The best part of the site I like is the Timeline, its a nice interactive page that’s very simple yet elegantly put together. But you can explore all the players, stories, match stats and more.

It’s a great achievement by the club, but also the company behind it all. Penso (http://pensoagency.com) not that they need any further leg up in marketing, but I as a developer would love to give recognition to the blokes who worked behind the scenes.

One thing I love is the fact Collingwood acknowledged the same talent and actually did a “behind the scenes” tour of Penso (video: http://www.collingwoodfc.com.au/video/2014-08-27/the-club-the-collingwood-forever-site) and explaining how they went through the process of launching this site.

I really like seeing how other companies and agencies structure up – it looks like a typical studio. Lots of macs, sticky notes, storyboarding and whiteboards and just very clean cut and professional. Using what looks to be PhpStorm and WordPress as their platform they’ve built a great fully functional site – even if it is slapped with the ‘Beta’ tag against it. They’ve made mention there is still improvements and more content to come, so I just can’t wait!

Error casting an object of type coldfusion.compiler. ASTsimpleVariableReference cannot be cast to java.lang.String to an incompatible type

Error casting an object of type coldfusion.compiler.ASTsimpleVariableReference cannot be cast to java.lang.String to an incompatible type. This usually indicates a programming error in Java, although it could also mean you have tried to use a foreign object in a different way than it was designed.

<cfloop from="1" to="12" index="#idx#">
#idx#
</cfloop>

Samsung Galaxy Wallet Style Case Review

In my previous reviews I talked about tough strong tradie style cases, today I’m reviewing two cases that go head to head in the wallet case division.

Samsung Galaxy S4 – Leather Style Wallet
vs.
Samsung Galaxy S5 – Spigen Slim Wallet Case

Size & Weight

Both cases are great for their size considering it needs to try hold some of your wallet contents. It’s a big difference coming from a tradie style protective case that weights so much and is a bit larger than your average case. The S5 case is larger due to the phone being larger but otherwise between the two they are, what I think is a perfect size for a case that is pratical and protective. In terms of colour range, the S4 has two black & purple, as the S5 has black, brown & white. Dead rubber between both cases here in regards to size & weight.

Installation

Straight out of the box, there is a one important thing to consider. When putting your cards in, ensure that the cards have the black stripe facing the inner side of the wallet case. This is due to the magnet on the case that will latch on to the outter side. Otherwise your phone will just click into place with a snug fit. The actual slim fit inner case is quiet tough and I found will protect any minor drops and provide sufficient protection.

Look & Feel

The S4 case I find perfect, it’s good a touch of leather look to it and it feels great in your hand. The S5 made by spigen is traditionally a little more plastic which I assume is due to making it a bit more protective and last longer in the elements over time. There isn’t a huge difference if you were using it day to day, but side by side. The S4 definitely feels better and looks a bit sharper.
Both cases are fitted with three slots for cards with an additional pocket. The S5 having such a large case makes his pocket usable for almost anything. I actually store noted money in this section and leave my wallet behind and just use the phone case.

Buttons & Cut Outs

No buttons on this case since it essentially just wraps around your phone. The cutouts are rather important with the S4 only having the two cutouts for your camera and speaker. The S5 on the other hand will cater for the same cutouts but with an additional one at the front for your front earpiece. One of the minor drawbacks of having a wallet style case is that when answering or talking on the phone, you need to open it up and either put up with the case flap hitting your face or holding it open therefor exposing contents and possibility of losing your wallet contents. This added feature in the S5 is a huge bonus and just goes to show the manufacture is listening to reviews and critics.

The S4 does have an additional extra the S5 doesn’t – which I found a bit useless but someone else may find it cool. There’s an extra hole on the middle part of the case to tether it to a keyring or key chain or something. I’ve just ignored it.

The last feature that I guess was a version 2 improvement, is the fact that you can now stand your case up to watch movies/videos. In the S4 case the slim fit inner case is completely glued on to the wallet case. But in the S5, they’ve allowed for movement which double as a stand. The amount of times I’ve watched videos/movies and needed to find an object sufficient enough to help stand the case up annoys me beyond belief. This is another killer feature that just completes the phone.

All up, between the two cases. They are both standouts compared to other cases in the market, for such a cheap price you must try one! To date, these case is the one I’ve been using the longest, as it meets your every day needs and gives you piece of mind with the protectiveness and stylish look. The S4 case builds the solid foundations of a great overall case, but the S5 upgrade knocks it out of the park.

Sorta Test Driven Development using Selenium IDE

Okay, well firstly. This is probably not Test Driven Development or more commonly known as TDD. The idea behind TDD is more testing and writing a whole bunch of test cases and blah blah blah waste a lot of time. Just to remind you, I’m a developer and not a tester! (haha) So I’m more about what’s my next project and make testing least priority. In my current role, I’ve been doing more DevOps. Okay, I’m using lots of terminology here, I better start explaining everything and use my awesome Wikipedia and copy/paste skills.

Test Driven Development (TDD) – A software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.

DevOps – is a methodology of software development. It emphasises communication, collaboration and integration between software developers and information technology operations personnel. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services

Okay, so on the same page as me again…

My current role… DevOps, basically instead of having departments and teams to manage our product we have software and procedures to allow one developer dual role and go from start to finish. Anyway, to my point – part of my role is testing the software I write. This is quiet simply – sh-t. It’s time consuming and really one of the things I hate doing. But over the years I’ve started to cherish testing my code than deploying epic fails. It’s much easier to deal with a late deadline than a massive f–kup. So that’s the problem. The easy solution is having a dedicated tester or some really awesome testing software, but with that comes the overhead of having a dedicated person, a tester. So far, everything points to having another tester.

In comes Selenium IDE. A record/playback component of Selenium, software testing. In a nutshell Selenium IDE allows you to record your actions on a website and then play them back and various speeds. Why is this so good? For the product I’m developing there’s a lot of front-end client side work to test. It’s split in equal shares between DB / Server Side with ColdFusion / Client Side with JavaScript – so I can’t really do Unit Testing which is where something like MXUnit would work well. Back to the point. In most my cases (as an example) I need to click on a page, then fill out a form and expect a result and complete. Basically a person needs to click and fill out these actions – a monkey or something. Selenium IDE works pretty much like marcos.

Check it out Selenium IDE!

http://www.seleniumhq.org/projects/ide/

Error ‘java.lang.InterruptedException’ occuring during cflock on Railo

Received this error the other day in our application and was trying to figure out if this was anything bad or not. Happened only a couple of times so I wasn’t too worried. After a bit of Googling and some word un-jumbling due to the awesomely written Railo documentation (seriously who the hell wrote this thing?)

Railo Documentation for LockManager – http://www.getrailo.org/javadoc/railo/runtime/lock/LockManager.html

LockData throws LockTimeoutException, java.lang.InterruptedException – “locks a thread if already a other thread is come until other thread notify him by unlock method”

I found that it’s possibly due to my cflock timeout being too short. I had it set at timeout=”5″ but considering a few factors including the server I figured to up this to a more indstury standard of timeout=”10″ – a couple of blogs floating about that support this setting.

Not sure if this will fix my problem, but it was a rogue error that occurred anyway.

CFWheels MUST HAVE PLUGINS!

Since starting back development with CFWheels I remember a couple of plugins that are just life savers. I figured I’d do a quick round up for anyone who’s either been using CFWheels for a while or rather novice still…

Firstly, if you don’t know what CFWheels is…

CFWheels – Coldfusion on Wheels is a framework, based off Ruby on Rails but really is MUCH better and more fun to development in.

For first time users, hit this up —> http://cfwheels.org/docs/1-1/chapter/beginner-tutorial-hello-world

Okay, by now you’ve installed CFWheels and you’ve got Hello World and a User CRUD happening! You’re half way there to making the next big multi million dollar application that Google will eventually buy up!

Here’s my round up of the MUST HAVE plugins for helping you with development in CFWheels. Even though there are so many useful ones and depending on what you’re doing. But I think these three plugins are the tops.

#3 Remote Form Helpers

More and more these days websites want to faster and better user experience and with that comes jQuery/AJAX. Remote Form Helpers make extending your website from a pretty basic and boring CRUD site to something that flies and goes WOOSH with the power of AJAX and asynchronous requests.

#2 DBMigrate

By far this is one of the most important plugins! Working with databases I find that you MUST version control your schema changes. Even more so when you’re working on multiple environments where you’ve got databases setup left right and center. DBMigrate helps by providing pre-filled or blank templates for migrating database changes. Very simple and easy to understand code to create and alter your schema and the ability to track and perform your db migrations this is one of my favorite plugins.

#1 Scaffolding

Scaffolding!!! The saviour! The amount of time I save without having to copy/paste/modify the same files over and over again and repetitively and then forget to change one tiny variable and cause hours of debugging. Scaffolding does all the hard work and creates your file structure and pre-fills pretty much 75% of your code for objects in your application. You can even choose the amount of code you want generated if your just want models or the entire mvc structure. This is one I definitely cannot live without!

Confusion around SCOPE_IDENTITY() vs OUTPUT

Had a fork in the road today in regards to using SCOPE_IDENTITY() vs. OUTPUT. I’ve previously touched on how to use OUTPUT and scope identity is simply a function that you add at the end of your insert statement.

Typically like:

CREATE TABLE #myCars (id int identity(1,1) primary key, car varchar(100))
 
INSERT INTO #myCars (car)
VALUES ('Holden')
SELECT SCOPE_IDENTITY() as 'id'

But there’s issue with using scope_identity() where Microsoft have reported a bug and will not fix where it is possible for the wrong id to be returned.

At the same time, using OUTPUT you need to keep in mind that OUTPUT does/can return multiple rows. The best way I find is to use OUTPUT, then you are guaranteed to get the inserted row id, but also couple it with a table variable and just use SELECT TOP 1 to get the single record if required.

Installing Coldfusion 11 and IIS really slow or not working

Okay, so tonight decided to give CF11 a whack. Had to enable IIS on my laptop, the installer is very good as it stopped me because I didn’t enable all the IIS features. After that was smooth sailing.

Once all configured, I went to add my first helloWorld app but IIS started to go really slow, even just hitting the IIS splash page and CFIDE Administrator page. Not 100% sure why, all I did was add a new mapping (in CFAdmin) & virtual directory (in IIS). Eventually did some Googling while I restarted my laptop (the install didn’t ask for any reboot) just incase it was that. After the reboot same thing – came across this blog entry about IIS going slow after a Colfusion 10 upgrade and tried just running the web server configuration tool – for some reason this tool is either your enemy or your hero. I got the hero this time. Again not sure why… but it just fixed it.

Other than that, back to my original plans. Installing IIS, CF11, SQL Server Express – rather quick! No longer that long procedure and having to keep notes of it and tinker with obscure settings.

Next challenge is getting CI working on a local to prod env…