Landing : Athabascau University

QUICK COURSE LINKS:  Add blog post - Read latest group posts - Course Moodle site

FAQs: Course process : Site design : HTML : CSS : JavaScript : JQuery : AJAX : Misc : Accessing your web space at AU : Podcasts for each unit

Updated resource pages:  Unit 1 - Unit 2  - Unit 3Units 4 & 5 - Unit 6 - Unit 7

Important notice: the student web server is unavailable. Until this is fixed, we do not require you to upload your site to the student server. See Running a web server on your local machine for details of how to meet the requirements for the final unit, and my posts on the subject in the discussion forum for further information about the problem.

Testing of a new server is in progress: if you would like to get early access and you are unafraid of working with command lines, network settings, and conf files, please contact Gerald Abshez, asking to be part of the trial.

Group activity

Note:

This tool only displays posts that you currently have rights to see.
  • Jon Dron commented on a bookmark Why Every Developer Should Learn Javascript March 15, 2024 - 9:39am
    JavaScript is indeed single-threaded. When it talks about concurrency it is (I think - haven't checked the article again but this is normally the case) most likely referring to aynchronous execution, where a function can be busy doing something...
  • Madyson Foley commented on a bookmark Why Every Developer Should Learn Javascript March 9, 2024 - 6:11pm
    Can you clarify something for me? The second last paragraph about concurrency doesnt make sense to me because I thought Javascript was single-threaded based on what I've read about it.
  • Madyson Foley commented on a bookmark Why Every Developer Should Learn Javascript March 9, 2024 - 6:11pm
    Can you clarify something for me? The second last paragraph about concurrency doesnt make sense to me because I thought Javascript was single-threaded based on what I've read about it.
  • Jon Dron bookmarked AI Tutor Pro | Contact North | Contact Nord January 14, 2024 - 12:43pm
    This is an excellent (and free) online tutor for just about anything, provided by Contact North, an online learning organization based in Ontario. I don't recommend using it if you know absolutely nothing about a topic but, as long as you have even...
  • Kelvin commented on a bookmark PCjs: The Original IBM PC in Your Browser May 14, 2020 - 3:54pm
    Pretty awesome, it reminds me of https://bellard.org/jslinux/ where you can try out what using a Linux terminal would be like.
  • David H. Scott bookmarked A guide to CSS support in browsers February 6, 2019 - 5:04pm
    Good article with tips on ways to create fallback CSS for browsers that don't support new features
  • Louise Nicoll commented on a bookmark JavaScript Is Eating The World March 8, 2018 - 4:04am
    C# may have started as a marketing thing, ie as Microsoft's version of Java, but has some features beyond what Java has such as LINQ, Asnyc/Await, Nullable types. I come from a web programming background (Perl,PHP,VB Script, Cold Fusion) and...
  • Jon Dron commented on a bookmark JavaScript Is Eating The World March 6, 2018 - 10:49am
    Good points, Louise, thanks - I was certainly being unfair on C#, though I still think it is a redundant and pointless (and largely pointerless!) language that was more a result of marketing than genuine need. I guess the big thing I like about...
  • Anonymous commented on a bookmark JavaScript Is Eating The World March 6, 2018 - 3:20am
    A few things. C# is open source. The design repo is here https://github.com/dotnet/csharplang. It is also an open ECMA standard.  https://www.ecma-international.org/publications/standards/Ecma-334.htm. 10 years ago you may have been right, but...
  • Steve Swettenham commented on a bookmark Firefox Quantum November 19, 2017 - 2:03am
    I tried Firefox 57 and the experience for me was the exact opposite. Typical of a corporation programming elite controlling the world. Non of my past extensions worked (0 backward compatibility), the speed did not improve, and I lost access to my...
  • Jon Dron bookmarked Firefox Quantum November 14, 2017 - 11:10am
    The new version of Firefox is very sleek and very fast, while retaining backwards compatibility with older plugins. An easy upgrade for users of the previous version, a quick install for everyone else. An absolute must-have for any web developer....
    Comments
    • Steve Swettenham November 19, 2017 - 2:03am

      I tried Firefox 57 and the experience for me was the exact opposite. Typical of a corporation programming elite controlling the world. Non of my past extensions worked (0 backward compatibility), the speed did not improve, and I lost access to my Adobe Acrobat XI plugin. But hey great advertising by Mozilla, and trying to stop the automatic updating was a displeasure, in particular updating plugins in FF 56.02 seemed to auto-update the entire web browser.  Fortunately I have backups, otherwise I would be forced to buy a whole new computer system just to use Firefox 57 on my 7 year old MAC.

      PS. The only positive was that Google docs worked better in FF 57; I am glad someone else had a better experience, but I will be frozen at FF 56.02 and use Chrome/Safari for Google docs... Smile

  • Jon Dron bookmarked Why Every Developer Should Learn Javascript September 1, 2017 - 8:45pm
    Not the greatest use of English in the world, and not the most sophisticated explanation of the benefits of the language, but none-the-less a fairly good explanation from TrendinTech of why it is useful to learn JavaScript, that closely mirrors the...
    Comments
    • Madyson Foley March 9, 2024 - 6:10pm

      Can you clarify something for me? The second last paragraph about concurrency doesnt make sense to me because I thought Javascript was single-threaded based on what I've read about it.

    • Madyson Foley March 9, 2024 - 6:10pm

      Can you clarify something for me? The second last paragraph about concurrency doesnt make sense to me because I thought Javascript was single-threaded based on what I've read about it.

    • Jon Dron March 15, 2024 - 9:39am

      JavaScript is indeed single-threaded. When it talks about concurrency it is (I think - haven't checked the article again but this is normally the case) most likely referring to aynchronous execution, where a function can be busy doing something while other code is executing, for example when using a setTimeout function. This is really just task switching rather than using multiple threads, but it performs much the same role. Technically, it is also true that, when you have two or more tabs open, the JS engine will usually run the code in multiple threads, but there can be no communication between them so there's not much use to be made of it. Finally, JS can do a kind of almost-multithreading using Worker functions, that copy a script into a separate thread that can be used to exchange messages with the main thread without blocking its execution. If you use such things, it would be great evidence of advanced JavaScript skills!

      Jon

  • Jon Dron bookmarked JavaScript Is Eating The World August 25, 2017 - 1:38pm
    Welcome news for students of COMP266 - skills in JavaScript are becoming more and more valuable every day, albeit driven mainly by NodeJS, the dominant server-side variant of JavaScript that is not (yet) addressed in the course.  JavaScript...
    Comments
    • Anonymous March 6, 2018 - 3:20am

      A few things. C# is open source. The design repo is here https://github.com/dotnet/csharplang. It is also an open ECMA standard.  https://www.ecma-international.org/publications/standards/Ecma-334.htm. 10 years ago you may have been right, but Microsoft has been moving in the direction of making it open source for quite some time.

      The other thing is that I don't see JavaScript supplanting compiled languages any time soon because JavaScript is terrible to maintain the larger the project gets. Lack of strong typing is a big drawback for me, though there are tools to help with this such as TypeScript and Flow.

      In the article you mentioned, most of the large companies you mentioned are still using traditional server side languages for the backend. For example NetFlix is only using JavaScript on the front end only. The back end is still Java. Most large scale apps would not trust their business logic to JavaScript.

      One reason JavaScript is so popular is because it is the only front end language available. For backend we can choose PHP, C#, Python, Java, Ruby ... the list goes on, but for front end there's only JavaScript.

      I'm not knocking JavaScript or anything, but I don't plan on using it for anything more than front end.


      - Louise Eggleton

    • Jon Dron March 6, 2018 - 10:49am

      Good points, Louise, thanks - I was certainly being unfair on C#, though I still think it is a redundant and pointless (and largely pointerless!) language that was more a result of marketing than genuine need.

      I guess the big thing I like about JavaScript is its flexibility: not so much technically, as in the way it is embedded in practice. It's like Wordpress - at best so-so architecturally, and nothing like as good as much of the competition when looked at from an objective design perspective, whether in terms of learnability, ease of development, speed, reliability, maintainability, scalability or whatever. However, the overwhelmingly vast number of developers, trainers, administrators and sources, not to mention an enormous range of extensions/plugins/libraries/frameworks to fill in any gaps, mean that it can do pretty much any job at least as well as anything else (often better), with the huge benefits that come from sheer scale. You'd not pick it as a backend if all else were equal, but all else is not equal because we are, as you say, pretty much forced to use it on the Web front end (for now - wasm may change that). Why struggle to stay fluent in two languages (and deal with the hiring, training, maintenance, and other associated costs)  when one will do? I still struggle unnecessarily with different curly bracket languages because I constantly forget which slight syntax variants and constructs matter in which language: I'd rather focus on depth than breadth. Useful, too, that it is increasingly embedded into many native apps and operating systems. Mind you, much of this was once true of BASIC too, which is barely a rounding error in the statistics any more, so who knows?

      It's too early to tell whether wasm will significantly impact JS growth. It makes it much easier to write front end stuff in other languages, and to run code at nearly native speeds, and it has a very powerful consortium behind it, so it's hard to ignore. However, the Web browser is not quite the driver that it once was, and JS has a lot of momentum across the field. My suspicion is that whether it affects JS growth will hinge as much on libraries and frameworks as on the languages themselves. Personally, I'd like to see Python replace JS - not perfect by any means, but it has the best balance I can see between ease of learning, power, elegance, maintainability, maturity, and developer community.

    • Louise Nicoll March 8, 2018 - 4:04am

      C# may have started as a marketing thing, ie as Microsoft's version of Java, but has some features beyond what Java has such as LINQ, Asnyc/Await, Nullable types. I come from a web programming background (Perl,PHP,VB Script, Cold Fusion) and switching to C# was the best thing I ever did. I love the C style snyntax. I can't tell you how much I dislike Basic style syntax like Visual Basic. I love the Visual Studio IDE and I love strong typing and objected oriented programming. I sound like a Microsoft fanboy (girl in this case), but actally I have been won over to C# despite healthy scepticism about Microsoft.

      The reason I decided on C# is because I can reuse the code in multiple applications. We have a web application, but also several scheduled console applications and soon a smartphone app, all of which can be done in C#.

      I suspect Java would have also provided many of the benefits over the interpreted languages I used in the past, though my understanding is that it is a liitle more invloved to port Java to web applications.

      I don't mind having to use different tools for different things, though I do also get mixed up at times with different sytaxes for different languages. That's when a good editor/IDE comes in really handy.

      Haven't learned Python yet, but am familar with its syntax and understand its appeal.

      I am very interested in learning TypeScript as it addresses a lot of issues I have with JavaScript.

      wasm sounds very interesting. I had a look at the link you sent. Coud be a while before it comes to fruition.

  • Here's a neat tool I found recently that is really helpful when you are working with CSS and HTML. It's a bookmarklet you can just drag to your browser's bookmark toolbar. Click it, and it will show several messages of note that will help you write...
  • Matthew Lange commented on a bookmark PCjs: The Original IBM PC in Your Browser August 29, 2016 - 4:41pm
    That's pretty great, I must admit.
  • Jon Dron bookmarked PCjs: The Original IBM PC in Your Browser November 23, 2015 - 4:05pm
    This is one of the most remarkable uses of in-browser JavaScript I have ever seen. It is an IBM PC emulator, and it really works. Actually, I think it is a fair bit faster than my first (mid-80s) PC and it certainly looks a lot better on my modern...
    Comments
  • Jon Dron bookmarked LiveCoding - JavaScript channels August 22, 2015 - 11:32am
    Livecoding is a site where you can watch people code, in real-time. If you sign up, you can sometimes interact with them and other watchers too. This is, at least potentially, an extremely valuable educational experience, with a whole bunch of...