Facebook Bans Like-Gating

From the “I hate Facebook” Desk comes the news that they’ve banned like-gating (the process of exchanging a “Like” for some free content – often seen with music artists). It’s probably about time, as it really is a sign of subverting the intent of a “Like”.

So in theory I support this.

However thinking about it, I really like action-gating (the suggested replacement) even less. With a “Like” it was easy to simply click the button and get what you want (and then undo the like later if you cared – I suspect most people don’t bother with that though), but with an action it’s going to feature more prominently on your wall even if just for a once off.

The real question is this – when will social media “experts” start naming Facebook’s changes as they do with Google’s? Google has had penguins and hummingbirds, when Facebook makes a change can we call it getting Zucked? These are the important questions we have to ask ourselves.

posted @ Sunday, August 10, 2014 5:26 PM | Feedback (0)

Bootstrap Snippet Pack for Visual Studio

Bootstrap Snippet Pack - A collection of Twitter Bootstrap snippets for Visual Studio. Handy for any MS developers who spend a lot of time with Bootstrap.

posted @ Sunday, July 06, 2014 9:25 AM | Feedback (0)

The Relentless Pursuit of Perfection

There’s currently a sum total of exactly 2 entries on my list of podcasts that I listen to religiously. Those are Risky Business, and Still Untitled: The Adam Savage Project. The latter is very much unrelated to software development, however it’s often interesting for other (often unexpected) reasons.

The latest episode is titled The Relentless Pursuit of Perfection, and while they’re talking about the process of making physical things there is a lot of crossover into the world of software development.

I’d highly recommend listening/viewing the episode (and subscribing to the podcast if pop culture, movies and making stuff are your sort of thing), however one of the key points in the episode they make is that the difference between a good “maker” and an average one is “knowing when to use a loose tolerance and when to use a tight tolerance”. That is, knowing where you have to be really careful and pay attention to a component of your project, and where you can get away with less time/attention. They also discuss how “given enough time, anyone can make a violin”, by trial and error and stumbling through the process, however an excellent maker of violins will know which bits need particular care and attention in order to produce an excellent violin.

The comparison isn’t perfect, but there are a lot of similarities, and contains many points which I think developers will find themselves agreeing with. Anyone can write code, but good projects/sites/whatevers are created by people who know which pieces need to be done well, and which pieces are less important or are easy to change later if needed. There’s also a discussion (relating to time being the key ingredient) where they discuss how tools and techniques can save you time, but are only a part of the overall equation, which is also true of writing code.

Well worth a listen.

posted @ Saturday, June 14, 2014 8:10 PM | Feedback (0)

Apple’s lightning connector headphone rumors

Speculation and rumour seem to go hand in hand with Apple hardware, however I didn’t expect Forbes to be so keen to get into the act. When I saw this article (before the edit below the title) it sounded like a confirmed thing: Apple To Abandon Headphone Jack? Beats Deal Suddenly Makes Sense

It certainly sounds like something Apple might do. From a personal perspective I hope they don’t – I have a lot of older devices, and I don’t really want to buy a pair of Beats headphones, however from a music lover’s perspective, maybe it’s time for the old 3mm stereo plug to be phased out? The article hints at an increase in quality which most of us won’t pick up – certainly not someone like me who’s spent many years attending or playing at gigs and lives with a constant ringing in my ears.

It feels like people are struggling to find a logical reason for the Beats acquisition, and I have to say that the answer may be staring them in the face:

Beats

posted @ Saturday, June 14, 2014 7:44 PM | Feedback (0)

The #1 paid app in the Google Playstore "Virus Shield" is a complete scam

The #1 paid app in the Google Playstore "Virus Shield" is a complete scam

Unfortunately for the buyers, Android Police has discovered that all the app does is change a red "X" graphic to a red "check" graphic. Literally. The 859kb app doesn't protect, secure, or scan anything. More work went into the Settings menu than the actual "security" portion of the app, and it appears that thousands of users have been scammed out of their money.

The first thing that came to mind was a comment about the differing approach of the Play store versus the Apple store, but the article covered that already:

This calls into question some concerns about the openness of the Play Store. Is a walled-garden approach where the app goes through a strict review process, similar to what currently takes place in Apple's App Store, a better model for smartphones? Or does the freedom that comes from Google's approach outweigh the negatives of a bad app creeping in every now and then?

Apple’s approach hasn’t always been perfect, but given that more and more technologically challenged people are buying these sorts of phones, there’s something of an obligation to have some protections in place against this sort of stuff.. isn’t there? Maybe I’m just jealous that I didn’t create “Virus Shield”..

posted @ Wednesday, May 28, 2014 10:53 PM | Feedback (0)

Wordpress Fail - Unsafe cookies leave WordPress accounts open to hijacking, 2-factor bypass

Unsafe cookies leave WordPress accounts open to hijacking, 2-factor bypass – ouch.

tl;dr:

Memo to anyone who logs in to a WordPress.com-hosted blog from a public Wi-Fi connection or other unsecured network: It's trivial for the script kiddie a few tables down to hijack your site even if it's protected by two-factor authentication.

posted @ Wednesday, May 28, 2014 10:39 PM | Feedback (0)

“Why I, too, killed my LinkedIn account”

Why I, Too, Killed My LinkedIn Account – worth a read if you really hate Linkedin, but if you only moderately hate LinkedIn then you can read this excerpt from the ToS and laugh about the number of people you see breaking these terms daily:

  • You cannot post any inaccurate information
  • You cannot invite people you don’t know to connect
  • You cannot use a content field to post information that doesn’t belong in that field– i.e. publish your real contact information anywhere on Linkedin
  • You cannot “duplicate, transmit, distribute, or display” any information found on Linkedin except your own content
  • You cannot use any information you see on Linkedin to provide any service that competes with Linkedin and Linkedin gets to decide what “competes” means

Never seen any of those terms broken, huh?

posted @ Thursday, May 15, 2014 10:31 PM | Feedback (0)

Creating a Responsive Tiled Photo Gallery with Pure CSS

Creating a Responsive Tiled Photo Gallery with Pure CSS is a slightly old article, but the resulting outcome is great for anyone trying to build a gallery which needs to be smart in some way about how to display images. “Responsive Gallery” makes it sound like it only cares about browser resolutions, however the truth is that the techniques contained here can also be used to deal with a gallery of images of varying sizes.

Also, I *may* be blogging this to ensure I don’t lose it in future.

posted @ Thursday, May 15, 2014 10:19 PM | Feedback (0)

Using Regular Expressions in Google Analytics Goals / Funnel Visualisation

Google’s overhaul of all their service UIs seems to be made up of some parts improvement mixed with some parts confusion. I recently wasted a bit of time scratching my head on the Google Analytics goal setup page – it seems pretty obvious once you’ve got it working, however I can see that the UI has potential to let other people make the same mistake I did.

The issue I found comes when you’re looking to use regular expressions in your funnel steps. I was setting up a goal for a site which had multiple steps in its wizard, where each step added an additional parameter to the query string.

The funnel setup looked something like this:

Google’s docs said they supported regular expressions, and it was tracking the percentage of people hitting the goal’s destination URL correctly, however the funnel visualisation wasn’t working at all. What I realised is that in order to use regular expressions in any of your steps, then you have to select “Regular expression” next to your goal’s destination URL, even if you’re not using one to match/find the goal, as is the case in my example.

I’d assumed that “equals to” was fine because the final goal URL was a completely separate page, and didn’t really expect that this dropdown selection applied to the matching logic used for the steps.

When you edit a goal, it applies over the top of your previous data, so this is hardly the end of the world as you can tweak and view data until things appear correct, however it did cause a few “WTF” moments during debugging. Hopefully this post saves someone some time!

Tags:

posted @ Saturday, April 05, 2014 4:48 PM | Feedback (0)

WordPress hosting, don’t try this at home, kids!

I’ve given WordPress a bit of a bad rap to various people over the years, however I like to think I’ve done so with good reason – it’s incredibly popular, but has some very bad history in terms of security related statistics.

WordPress hosting: Do not try this at home! contains a number of those negative WordPress stats, and makes for interesting reading.

 

Compromised WordPress blogs were used to host nearly 12,000 phishing sites in February. This represents more than 7% of all phishing attacks blocked during that month, and 11% of the unique IP addresses that were involved in phishing.

 

WordPress blogs were also responsible for distributing a significant amount of web-hosted malware — more than 8% of the malware URLs blocked by Netcraft in February were on WordPress blogs, or 19% of all unique IP addresses hosting malware.

 

Those are some scary stats. If you’re going to use WordPress, you need to make sure you’ve secured it properly.

How, you ask?

Well, for a start, you might want to read Attacking WordPress – run through the article, try out some of what’s discussed on your own site, and see if you can pwn yourself. Or, you could always switch away from WordPress.

posted @ Monday, March 24, 2014 10:17 AM | Feedback (0)

About me

My name is Ross Hawkins and I'm a developer, consultant, business owner and writer based in Auckland, New Zealand (pictured below!). My current work revolves around ASP.NET, C#, jQuery, Ajax, SQL Server, and a mix of other Microsoft development technologies.

I also have about 15 years of experience with IBM Lotus Notes/Domino and associated technologies. While Notes/Domino is no longer my primary focus I still like to dabble and keep my skills up to date.

I own and run 2 businesses - Hawkins Consulting Services, and Ignition Development.

Bethells Beach, located in sunny West Auckland, New Zealand




Subscribe

Subscribe to this feed


Search




Popular Content

Troubleshooting WebResource.axd

The .NET 2.0 framework changed the way clientside JavaScript is delivered to the browser. Previously, ASP.NET 1.1 used the aspnet_client directory whereas now 2.0 uses WebResource.axd.

Published on October 8, 2006

Useful IIS Rewrite Rules

The IIS Rewrite Module is easy to use, however for some rules it can take a bit of trial and error to get your syntax correct. After using it for many projects across multiple customers, I thought it might be useful to put up a post containing a small collection of the useful rules I’ve come across, for your copying and pasting pleasure.

Published on January 14, 2014

jQuery Wildcard Selectors - some simple examples

I wrote about jQuery wildcard selector syntax briefly back in 2009, and since then that post has received a lot of views – way more than a post that brief should ever have seen..

Published on October 14, 2011

Microsoft AJAX Extensions: Sys.Debug is null or not an object

One of the breaking changes which was made with the 1.0 release of the Microsoft Ajax Extensions was the renaming of the 'Debug' class to 'Sys.Debug' for reasons of compatiability with other frameworks. Breaking changes like this can often be a source of frustration..

Published on May 22, 2007

Simple ASP.NET Character Counter

A textbox character counter is a pretty simple piece of functionality, and there's a lot of different ways to apply one to your application. The following method is nice and simple, and can be done using only clientside JavaScript if required, or combined with server side code in order to create a more dynamic effect

Published on December 4, 2006

Simple ASP.NET Character Counter - with Master Page Support

A quick update to my previous character counter article adding some changes for those using it with Master Pages.

Published on February 7th, 2009

Adding Tooltips to Gridview Headers

As the title says, this is a very simple but dynamic way of achieving tooltip text on a header column. It's not overly flash, but it's lightweight and quick to implement.

Published on April 15, 2007

SQL Server Web Report Viewer Issues on Windows 2008 Server/IIS7

A fix for another AXD related issue, this time with the SQL Server Web Report Viewer Control which was being served up via IIS7 on a Windows 2008 server.

Published on June 2, 2007
Updated on April 10, 2008





Archives

August, 2014 (1)
July, 2014 (1)
June, 2014 (2)
May, 2014 (4)
April, 2014 (1)
March, 2014 (4)
February, 2014 (3)
January, 2014 (4)
December, 2013 (6)
November, 2013 (2)
October, 2013 (3)
September, 2013 (5)
August, 2013 (5)
July, 2013 (3)
June, 2013 (2)
May, 2013 (3)
April, 2013 (2)
March, 2013 (2)
February, 2013 (3)
January, 2013 (5)
December, 2012 (4)
November, 2012 (4)
October, 2012 (3)
September, 2012 (3)
August, 2012 (4)
July, 2012 (1)
June, 2012 (4)
May, 2012 (2)
April, 2012 (4)
March, 2012 (2)
February, 2012 (4)
January, 2012 (3)
December, 2011 (3)
November, 2011 (8)
October, 2011 (9)
September, 2011 (8)
August, 2011 (5)
July, 2011 (4)
June, 2011 (7)
May, 2011 (5)
April, 2011 (3)
March, 2011 (8)
February, 2011 (4)
January, 2011 (3)
December, 2010 (8)
November, 2010 (5)
October, 2010 (6)
September, 2010 (7)
August, 2010 (11)
July, 2010 (12)
June, 2010 (8)
May, 2010 (8)
April, 2010 (4)
March, 2010 (8)
February, 2010 (6)
January, 2010 (12)
December, 2009 (13)
November, 2009 (11)
October, 2009 (12)
September, 2009 (12)
August, 2009 (2)
July, 2009 (7)
June, 2009 (12)
May, 2009 (9)
April, 2009 (9)
March, 2009 (9)
February, 2009 (8)
January, 2009 (7)
December, 2008 (6)
November, 2008 (7)
October, 2008 (9)
September, 2008 (12)
August, 2008 (9)
July, 2008 (6)
June, 2008 (24)
May, 2008 (13)
April, 2008 (16)
March, 2008 (8)
February, 2008 (10)
January, 2008 (1)
December, 2007 (14)
November, 2007 (11)
October, 2007 (11)
September, 2007 (13)
August, 2007 (11)
July, 2007 (5)
June, 2007 (15)
May, 2007 (11)
April, 2007 (9)
March, 2007 (9)
February, 2007 (10)
January, 2007 (8)
December, 2006 (18)
November, 2006 (11)
October, 2006 (14)
September, 2006 (9)
August, 2006 (10)
July, 2006 (4)
June, 2006 (4)
May, 2006 (6)
April, 2006 (3)
February, 2006 (6)
January, 2006 (10)
September, 2005 (2)
August, 2005 (4)

Post Categories

ASP.NET
AJAX
Amusing
NZ
NZ Trains
Notes/Domino
Visual Studio
Web Development
Miscellaneous
Me
Rugby
C#
SQL