In this post, I'll discuss more of my opinions regarding JavaScript development. Please read the first post in the series if you haven't already. In this post, I'll cover some relatively important language features that don't seem to be covered in a lot of basic JavaScript guides. I'm assuming you have a basic knowledge of JavaScript. Let's begin.

Functions are variables

In most programming languages, functions are a pretty basic language feature. They're quite nice for structuring your code, but don't really have any built-in awesomeness. Some programming languages have features to dynamically call functions at run-time (usually referred to as reflection), but JavaScript has a LOT more power in this area. In JavaScript, functions are known as first-class objects. Functions are stored in normal variables, and you can create new ones (known as anonymous functions) and edit existing ones on the fly. Functions can also be return values from other functions! This enables a whole range of different programming techniques known as metaprogramming.

Let's take a look at some examples.

Read more ⇒

A lot of sites now use OpenID. This is great, as you can use the one account on multiple sites. Unfortunately, Facebook accounts can not yet be used as OpenIDs 😦. However, using Facebook logins isn't too hard, as they support using OAuth 2.0. OpenID and OAuth are fundamentally for different things (OpenID is authentication, OAuth is authorization), but it still works well in this situation.

Firstly, sign up for a Facebook application at the Facebook developer website. You'll have to correctly set the site URL and site domain. Copy the application ID and application secret as shown on the Web Site section of the settings, as you will need them later.

Read more ⇒

So as you'd already know, Ciera came back to Australia three weeks ago, which is why I haven't really been on messenger much recently πŸ˜›. Things have been excellent so far, it's been really enjoyable. Last week, we made some delicious rainbow cookies. They were pretty much just plain lemon cookies based on a recipe from a $4 book we bought at Go-Lo, WITH A DIFFERENCE! We made them awesome by colouring them all different colours (and even made some multi-colour, which was my idea πŸ˜„). They were delicious and colourful and made with 100% awesomesauce. Next time we make some, we'll make them all rainbow I think xD.

Yesterday (Saturday), we went to Scienceworks, which is a science museum here in Melbourne. Well, we got there eventually. We had a few minor issues along the way. Firstly, we got off at Parliament Train Station (as the Metlink journey planner said to), and the platform that the train we needed usually comes to was closed, and there was a notice to go to Southern Cross Station. So, we went back to the platform we came from, and caught another train to Southern Cross. When we got to Southern Cross, the train took aaaages to come (then again, it's the Weribee line so it's kinda expected I guess πŸ˜›). And then there was another complication β€” The train terminated at Footscray and we had to take a replacement bus the rest of the way. However, once we caught that bus, we finally got there. Entry is free if you're a student, so that's definitely a bonus.

While I've been to Scienceworks before, it was a long long time ago and I couldn't remember much of it. This time around it was pretty good and I found it quite interesting. They had a toy exhibit, which was awesome! They had a roller coaster made out of K'Nex which was very nice. I want one!! Get me one please? I'm such a child at times, I don't think that'll ever change πŸ˜„. Anyways, there was also other exhibits like a flight simulator, a kitchen thingy and a nice fire show (with demonstrations, Aaron would have loved it xD). There's also a planetarium there, but we didn't go this time (maybe we'll go next time). And we also went to the store there, and bought some glow-in-the-dark stars (which we stuck all over the roof in our room πŸ˜„). All in all, it was a very fun day, I really enjoyed it! Was definitely worth the $0 entry to Scienceworks, hahaha πŸ˜›.

As for work, things are going very good. Since I just passed the six month mark for my IBL placement, I moved from the technical support team at work into one of the development teams. We've been working on improving our products by making commonly-requested upgrades. When clients would like functionality that is currently not available in our system, their request goes onto a wishlist. My team went through the wishlist, rated all the items based on priority, and started working on them. In just two weeks, we've completed heaps, and a few people are very happy πŸ˜„! I've also been doing a few other things, it's been quite good. I really enjoy my job! Also since it's about the half way mark now, my mid-placement report is nearly due. I've nearly finished it, just have to confirm that it's alright, and show it to my supervisor and see if he thinks it's alright.

So it's the start of another week tomorrow. I really miss Ciera during the day while I'm at work, but it's awesome coming home to her! Really makes me happy and makes everything I do worth it. ❀️

Until next time,

β€” Daniel

So, my girlfriend Ciera came back to Melbourne last Saturday (26th June 2010)! We've been having a great time so far, I'm so very glad to see her again! I honestly don't think I would have been able to wait much longer, so I'm extremely happy that she came her when she did. It's been a week since she got here, and things have already been so amazing! I think she's been enjoying it here heaps (I know she loves it in Australia), and I've certainly enjoyed it. Today we just did a bit of shopping, nothing too big. Bought a bookshelf to put all our books and stuff on πŸ˜›

I can't wait for what the future is going to bring us!

Ciera and me!

Until next time,

β€” Daniel

I've added a "Microblog" section to this blog, which I'll basically (try to) use to post things when I'm out and about. Kinda like Twitter, but maybe with longer posts. Like a... microblog, or tumbleblog (Tumblr, etc.)

Ciera gets here tomorrow morning! EPIC excitedness! I can't wait!!! πŸ˜„

Until next time,

β€” Daniel

I thought I'd give some link love to some of the lesser-known web development blogs I enjoy reading. This post was prompted by a post about my site at GiveUpInternet.com. I didn't expect the link (as I don't think my blog is very good for web development stuff), but I do appreciate it heaps! This blog hasn't really focused too much on web development, perhaps I should post more web development articles πŸ˜ƒ

  • GiveUpInternet.com β€” As it says on the site, "Give Up Internet is a Humor Blog for Internet People and Developers." While it's technically not a web development blog, I love the posts on this site. Unlike a lot of other "humour" sites that post stupid things a lot of the time, it's got actual funny posts. It's one of the only humour blogs that I'm subscribed to.
  • The CSS Ninja by Ryan Seddonβ€” This is a great blog about nice little tricks that can be done in CSS. One of its focuses is doing things that previously required JavaScript, in pure CSS (no JavaScript whatsoever). This includes cross-browser CSS-styled checkboxes, a lightbox in pure CSS, and an easy way to preload images using CSS2.
  • David Walsh's blog β€” David is one of the core MooTools developers, and as such, he blogs mainly about JavaScript, and occasionally some PHP snippets. While, in my opinon, his posts on PHP are often messy πŸ˜›, his posts on JavaScript are excellent.
  • AdequatelyGood.com by Ben Cherry β€” If you're interested in JavaScript (especially the nitty gritty of its internals), this is by far the best blog on the topic that I've seen. Ben has written detailed articles on a lot of unique features of JavaScript, including scoping and "hoisting", and how it handles object to primitive conversions.
  • Hallvord R. M. Steen's blog and the Opera sitepatching blog β€” Hallvord is a developer for Opera Software. His blog covers the state of the web as it unfortunately is at the moment - Broken browser sniffer scripts, standards violations, and just general scripting stupidities. Things are definitely improving, but there's a LOT of broken scripts out there. Opera has a file called "browser.js" that contains patches to make these broken sites work correctly in Opera. Hallford's blog (and the Opera site patching blog) detail the things that Opera does to patch these broken sites. There have been some very interesting posts, including the horrible XML and XSLT on the Israeli rail website, how Google Docs used to print documents, and many others.

That's all for now... I might eventually write another blog post like this. Or a proper blog post πŸ˜› πŸ˜ƒ

Until next time,

β€” Daniel

In this post, I'll discuss some of the techniques that I personally write JavaScript. There's no right or wrong, this is all my opinion (still, feel free to flame me if you feel it's necessary πŸ˜›). This post is aimed at people that understand basic JavaScript and HTML techniques, and want to see how I code my JavaScript. I will talk about the JavaScript of the past, how it's changed, and some techniques used in modern JavaScript development. This will probably be a multi-part series if I ever get around to writing more posts πŸ˜›Β 

Read more ⇒

A while ago, I used to use a VPS from a company called FSCKVPS, mainly for storing backups offsite (in case something bad happens to my server one day), and secondary DNS (so in case my server is ever down, I can still get emails, as my emails are hosted using Google Apps). In June 2009, their parent company VAServ had a massive hack attack, with news websites reporting that as many as 100,000 websites were wiped out by the hack, and the WebHostingTalk thread about the outage ended up being one of the longest ones I've seen, at 177 pages long. Some people's VPSes survived, but mine was one of the ones that was totally lost (luckily, as it was only for backups, it didn't have anything too important in it). They offered two months free as compensation, so I waited patiently for them to provision me a new VPS, and lived without offsite backups for a while.

After the two free months, they were still having issues β€” My VPS kept breaking, and they still hadn't given me a secondary IP address as I had requested. I kept giving them the benefit of the doubt, but eventually I decided that enough was enough (two months should have been enough to sort out things), so I moved to another provider. When a company can't even work out how to spell its own company name (sometimes they write "VAServ", other times they write "VAServe"), it's probably time to give up on them. I asked them to politely remove me from their mailing list so I'd no longer get any emails from them. I thought this'd be the end of it, but last week, I received the following email from them:

What goes up won’t go down.

At Poundhost/VAServ we know that if your site is not up, your profits go down. Which is why we recently migrated your website onto a more secure Linux server platform.

However, threats are always evolving. To ensure that you are provided with the very best platform that’s reliable, secure, easier to manage, with greater interoperability and a substantially lower total cost of ownership, we recommend that you consider switching to Microsoft’s Hyper-V hosting platform.

Running on next generation virtualisation technologies Microsoft’s Hyper-V stores your data on a cluster of servers rather than one. So if a server is attacked, or goes down, the system automatically switches to the others. Thereby guaranteeing 100% uptime.

Migration is so simple you can do it yourself. However some of you may need to tweak or re-code your data beforehand to enable it to run on a Microsoft platform. Should you have any queries, call our contact centre on 01628 67 31 31.

Don’t delay though because we are prepared to offer a 10% discount to all those who migrate before 31st March 2009 using the coupon vdsmigrate.

See http://vds.poundhost.com for more information!

Ugh. Where do I begin?

  • I migrated away from their services in September 2009, so they certainly did NOT "migrate [my] website"
  • I wasn't actually even hosting a website with them to begin with, so they wouldn't have migrated a website at all. Not everyone uses VPSes only for websites, you know?
  • How are Hyper-V virtual machines more secure and reliable than Linux equivalents? They're not even comparable with things like OpenVZ or Linux-VServer as they're totally different products for totally different requirements.
  • What does Hyper-V have to do with "threats always evolving"?Β I'm absolutely certain that Windows is attacked at least as much (if not a lot more) than Linux is.
  • 100% uptime is not guaranteed if all servers in the cluster go down (as happened when they were hacked last year)
  • If people got a Linux virtual server originally, why would they want to spend significantly more on a Windows VPS? In my case, I used rsync to transfer backups and cPanel DNSONLY for hosting the DNS, things that don't work on Windows

I'm sure I'm not the only former customer that got this email. Did they just send it to everyone, regardless of whether they're a current customer or not? I asked them to remove my personal information when I left, so I'd consider this spam. I replied to the email asking them to remove my details from their system, and they replied saying they had done so, so we'll see. At least they could spell "guaranteed" correctly this time around, the FSCKVPS site had misspellings of it from their launch, and a lot of people told them about it, they still didn't fix them.

For what it's worth, I'm currently using a Core 2 Duo server at HiVelocity for hosting all my sites, and the backup VPS is now at PhotonVPS. I'd definitely recommend both companies πŸ˜ƒ

Yes yes, this isn't really a proper blog post. One will come eventually πŸ˜„

Until next time,

β€” Daniel

So, I'm not sure how many people agree with me (I haven't really searched around to see if anyone has the same opinion), but I'm starting to form the opinion that there are two different types of developers: Those that can develop an application but don't really understand the concepts behind it, and those that have a relatively deep knowledge of how their code works and all fits together. Or, in other words, those think it's alright (and perhaps have it as a job), but are not very passionate, versus those that are very passionate about programming. Generally, I guess something like the following could be said:

People in the first group:

  • Have done their main programming study at University or TAFE OR are self-taught with just the basics, generally nothing about best practices. Generally, they've learnt just enough to get by, nothing more
  • Will copy and paste code and be happy that it works, but might not really understand how it actually works
  • Don't really consider programming a hobby
  • Might be considered "code monkeys" in some situations
  • Generally need help with fixing odd bugs

And people in the second group:

  • May have done a University course, but their main learning is self-taught
  • Write applications, scripts, websites, whatever for fun (and might actively participate in open-source projects)
  • Don't copy and paste code very often. Instead, they learn from other people's code, and then rewrite that code in their own style
  • Consider programming one of their biggest hobbies
  • Aware of some of the latest trends in software development
  • Might often question things, like the ways people do things, and why code is written in a specific way (or is this just me?). Usually I do that just to learn how things are done.
  • Can generally investigate and solve odd bugs pretty well

Anyone else agree with me? Personally I'm proud to be in the second group, the awesome group πŸ˜„

Anyways, I'll write another proper blog post, eventually. I started working recently, and will definitely have to blog about that πŸ˜ƒ

Until next time,

β€” Daniel

1 2 3 4 5 6 7 8 9