Categories
Networking Web

Canada domain name registry scam

Domain Scam
Shred this letter immediately.

I have been frustrated with this  Domain Scam for a long time now.

I have a few domain names, and I happen to be in Canada.  There is a company called “Domain Registry of Canada” that mails out official-looking envelopes (it looks like a government-issue brown windowed envelope) to everyone that has WHOIS information indicating they live in Canada.  This is an example of the letter they send.

Unless you read it quite carefully, and know what is going on, you might think you need to pay their (very expensive) domain registration fees in order to avoid losing your domain name.

This is NOT TRUE.  Consider that many people, like myself, purchase hosting from a company like 1 & 1.  Part of the package includes free domain registration for one domain.  There is very little technical know-how required to get this going.  In fact, it could be that some hotshot young web developer has set this up for you.

You need to do nothing except keep paying your web hosting amount to safely retain your domain name.  This letter conveniently omits this fact.  They do make this somewhat clear in ALL CAPS halfway through the letter, but only after the scare tactics a couple of  paragraphs above.

Is it strictly a scam?  No, I guess not, they do provide a service, and they spell out everything in this letter, but it’s very dirty.

To make this abundantly clear: There is NEVER any reason to do anything except shred this letter. 

For more information, feel free to Google “Domain Registry of Canada” and look at any link that is not their official web page (i.e. start at the second link).  Here’s a link to make it even easier.  You will find many other bloggers, most more capable than myself, that explain this quite well.

Categories
Javascript Programming Web

Backbone dynamic elements

I recently discovered Backbone’s setElement function. What it allowed me to do was dynamically create a view’s container in Javascript and transfer/assign the view and its events to the new element.

Using jQuery within the view initialize event:

this.el = $('<div id="\'newView\'"></div>'); 
this.setElement(this.el); 
$('#content').append(this.el);

I manipulated the this.el attribute directly, without using an interim variable, it seemed to work ok, but if there are side-effects I discover later, it should be easy enough to change. setElement will automatically assign its argument to this.el so nothing further needs to be done.

Categories
Programming Server Web

REST Authentication

I did some research the other day to secure my REST API using The Slim framework.

I found a tidy little way to force HTTP authentication (basic, in this case) using this article as well as the PHP manual.

I get the client to provide the user name and password, then I can look up the (hashed) password in the database. It simply causes the call to authenticate each login with their corresponding password.

In combination with forcing the page through https (a .htaccess task) and this, I can protect API access pretty simply.

I used this in VB6 (and the great Chilkat components) to authenticate a PUT command. I can now more safely allow database inserts from over the Net. It was as simple as:

Dim oHttp As New ChilkatHttp
Dim resp As String
oHttp.Login = 'userid'
oHttp.Password = 'supersecret'

resp = oHttp.PutText('http://my.apiurl.com',sXMLText, "utf-16","text/xml",0,0)

Next task is to find a more secure way to access the (read-only) API from JavaScript, without just embedding a password in the source code.  This looks like a great start.

Categories
Programming Server Web

MVC Frameworks (PHP)

I’m on a learning quest again.  This time to get a solid PHP framework under my belt.  I am installing the framework and running the quick start tutorials for each of them, if I get that far.  This is what I have right now (keep in mind my investigation is in progress):

CakePHP

Pros:

  • Very easy to get a simple app running.
  • Scaffolding is great
  • Documentation is extremely thorough.

Cons:

  • Seems like database names have to follow some kind of convention. (i.e. Inventory would not work)
  • Getting REST JSON interface going seems like a lot of work.  I haven’t found a page that explains how to do it easily.

Zend (in progress)

Pros:

  • Insanely popular, the engine is already on 1&1 (I think)
  • Really good object-oriented approach, interesting idea with form & layout objects
  • zf code generator is a nice touch.
  • Looks like PHPStorm has the command-line stuff built in – also for Symfony

Cons:

  • Ridiculously hard to get running in a shared host. (Needs a vhost to work, apparently)
  • Lots of code.  Not a big deal, really, if you know what you’re doing.

CodeIgniter

Pros:

  • Scaffolding is neat, but REMOVED in 2.0
  • nice OO layout
  • Fairly compact
  • Looks like view names and table names are not hardcoded! Yay!

Cons:

  • PHPStorm doesn’t seem to like completing 3-level objects (lots of @property tags needed)
  • v2.0 scaffolding is gone
Right now, I’m liking CodeIgniter the best.  I am going to give Zend a lot more attention though, I think there will be a lot of advantages if I can figure it out.
Categories
Posts Programming Server Web

Another Javascript book

I decided I had better complete my Javascript trilogy with the first book.  (The other two are Javascript: the Good Parts and Javascript Patterns) This is a major book for a major language.  I think I agree with this guy to a point, that Javascript is possibly the most important language right now.  It’s weird to contemplate but the language has taken kind of a stealth advance in recent years.

Of course it could be toppled very easily.  Visual Basic was probably the most important language at one point.

So far the book is extremely thorough, and touches on some new ECMAScript5 stuff that wasn’t addressed in “the Good Parts” (i.e. Object.Create stuff).  This is not really a reading book but I’m reading it anyway.

Categories
Programming Web

New JavaScript book

Book CoverI got my new Javascript book delivered yesterday.  My first thought was that it was quite thin (it only has about 150 pages including the appendices and index)!  I took a look at the first section, and it’s quite thorough; the author himself states that it is quite information-dense, and that it will require a few readings to get it all.

I can’t say that I really like the railroad diagrams for describing the syntax of the language as much as I’d like more example code.  I suppose the diagrams are more inclusive, they just seem a little excessive for what information they provide.

Yes, this is an incredibly terse book.  Some rather hefty topics are given a few lines of discussion.  Not that this is terrible, but it makes for a slow read.  He establishes a few helper functions & methods to allow you to do certain tasks a lot easier, such as easier object creation and inheritance.  These functions are referred to later on in the book as if they were parts of the core language, so you really need to know both the book and the core language very well.

I can see how the techniques in this book would help a developer build quite complex applications in JavaScript. Many would reject that idea as foolish but considering what companies like Google have been able to provide using this language show that with some ingenuity and a whole lot of determination, you can create some remarkable things.

Categories
Posts Web Wordpress

Style tweaks

First, I want to overlay the title over top of the header image.

Next, I’d like to add a third widget column.  Why are there so few 3-column themes?

Categories
Programming Web

jQuery book finished

I finished my jQuery book (at right)

jQuery Pocket Reference

What a great book!  It was much more than a simple functional reference for jQuery, but actually walked through practical implementations of each category of functions.  I learned a lot more from this than I did by reading through Rebecca Murphey’s jQuery book.  (Though to be fair, that is also a very good book, I just found its scheme of some exercise solutions that needed information not taught in the material quite frustrating).

I have already modified some code in a WordPress plugin using the knowledge I’ve gained so far, and I intend to put some of this to use in a mobile web app as well.

Categories
Programming Server Web

Snack: Dogfood

Well hello.

I am finally setting up this blog, not because I really need to share my thoughts with anyone, but because I need more practical WordPress experience.  Unfortunately that means I will have to include content as well as code.  Hope it is a) entertaining b) informative or c) nutritional for all of you.