Developer Blog


<< Previous   Search   Next >>

Nick and I, we finally started developing our so called Setlist Planner. As a performing artist I have all kinds of playlists, for all kinds of situations and occasions. It started to drive me crazy. So I decided to come up with a little tool. It may help others.

I uploaded Setlist Planner to Github. Check it out!

In short:
-create an unlimited number of songs and playlists
-sort songs in the playlist manager (drag and drop)
-open the lyrics for a song directly from the playlist manager
-easily copy playlists
-export the playlist to csx, xlsx, pdf or print

Developing this was fun but very hard, as the way this template works, it requires a very good knowledge of JavaScript, jQuery and AJAX. It took me 2 days to finalize. Probably one more day to tweak and complete. Without a very good manual, this new template (and the new ASP/VBScript approach) will never make a chance. There are also some major challenges when it comes to error-catching. But I keep on trying to make this work, that's for sure.

Happy ASP/VBScript coding!

Few months ago Nick and I had a brainstorm about this idea for a new app to organize setlists. Instead of diving into that straight away I came up with a template that could serve this and potentially many other similar application-ideas. I uploaded my work so far to https://github.com/PieterCooreman/Setlist-Planner

This template could be a starting point for any new Classic ASP/VBScript development. "Template" (forgive me the boring name) takes care of basically all standard "stuff" any modern application would need today:

  • User registration / signin / forgot password / confirmation email / my account / signout
  • Multilingual application
  • Templating (Bootstrap 5)
  • System settings / Mail setup
  • Compress/Backup database / Recycle application
  • Create custom applications on top of Template
  • Error handling

It would be great if someone would be able to install this thing and play around with it. It's quite easy to understand I hope. Make sure to check out the various sample apps that I added already.

To make this work I need to document all the methods you can use. There are quite a few, both Classic ASP/VBScript and JavaScript. I hope to find some time to get this done sooner or later.

So I asked ChatGPT if it could code Classic ASP. Few seconds later, it came up with an application to "manage contacts". Click here for a dump of my 2 minute chat

I followed the instructions and guess what... this works! It does 100% what I asked for. Amazing. I attach the "full application" to this message, but guys, DO NOT USE THIS ON A LIVE SERVER... because...

.. having a closer look at the code, I realised that:

  1. No HTML5 standards were used. No doctype.
  2. The code is not UTF-8-proof. It'ill only work fine for ASCII characters. Any other character will be saved in encoded HTML. This ends up in a data-nightmare. To fix this, you need only 2 things: <meta charset="utf-8"> in the front-html and <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> as the very first line in your ASP code.
  3. As ChatGPT indicates itself, the generated code is prone to SQL Injection (SQLI), Cross-site request forgery (CSRF), HTML Injection and XSS. Good luck with that.

Why is ChatGPT generating such very poor and weak code anyway? Are these the standards for AI to take over our lives as developers? I don't think so.

I don't want to be too severe though. Having AI at your fingertips to learn to code classic ASP is an amazing thing. I wonder how far I can take this.

I think "communication" will become a key element. So far developers had to be good with code. The developers of tomorrow will have to be able to communicate and organise their way through the AI opportunites they'll face. And AI needs to be able to learn from developers by asking for help and feedback in order to optimize its code. And that will then end up with even better AI and better development.

GitHub cut me off last week. I no longer had access to the QuickerSite codebase or any other repository.  I once forgot to download some recovery codes. I was no longer able to login using 2FA. My login was sort of disabled.

Meantime all is fine again. I had to request to disable 2FA for my account. It took 2 days before they got that sorted. After I restored the 2FA-login requirements I was able to login again. Pfjeeeeuw.

I now get why Facebook is absolutely not making a priority of 2FA whatsoever. They'd lose 90% of their users in no time.

But that made me think. If Google shuts down my account, I'm dead. My Gmail account holds a history of over 10 years. Google Photos holds my whole life in video and pictures. As I use my Gmail address for all sorts of logins, I'll be unable to restore passwords for basically all online services I have been using over the past two decades.

And if Amazon shuts down my server, I loose my business, my income actually. And they can do that without even warning me. And I would never be able to tell why exactly or even defend myself.

I couldn't care less about MicroSoft though. I don't even use a MicroSoft account. I don't need a MicroSoft account to develop classic ASP. That's something at least.

Anyway. It's all good now. Learned my lesson. 

I admit: my hosting business has been shrinking year after year. Somewhere between 2007 and 2010 I hosted 1200 QuickerSites on a single Windows 2000 Advanced server. That number has gone down to 230 today. 

For some years now I'm using a Windows 2019 server in the AWS Public Cloud (EC2 instance). I recently downsized that EC2 instance from a t2.large to a t2.medium instance type. This took 5 minutes in the AWS console. Piece of cake. This little trick saves me about 600 USD/year, a very nice New Year's present.

I now have 4GB of RAM to host 230 QuickerSites. An average QuikerSite requires up to 15MB of RAM. My server will therefore not easily run into trouble. And if it does, there are some tweaks to keep memory usage under control. 

The most important (and easy) tweak is to lower the value for the default IIS application "idleTimeout". By default an IIS application times out after 20 minutes of idle time. So, if a website is not active for 20 minutes, IIS releases the RAM used by that application. Changing the default idleTimeout for all sites to 10 minutes does not cause major issues, but helps a lot to keep RAM usage under control.

Happy new year to all QuickerSite users and classic ASP/VBScript lovers!

UPDATE! Mobirise no longer sells lifetime licenses like it did back in 2019-2020. It only sells yearly renewable licenses today. Make sure check out their license policy on their website!

Google sites are extremely boring (because very limited) after all. So I rebuilt the website of my wife's dental practice www.ortholubbeek.be in Mobirise 4.12.4. I bought a full Mobirise4 license back in 2020. As a matter of fact, it was a lifetime license so I am still able to download and use all extensions and templates for Mobirise4. For the first time I even realized that I can save any block from any template and use it everywhere I need it... This way, I have 100's of different blocks at my fingertips. The vast majorty of Mobirise4 blocks are still very useful. I see no reason to upgrade to Mobirise5 at this point, but I might do it anyway later on this year when they have these black friday and cyber monday deals. 

Mobirise is for me what Elementor is for WP users I guess. Can't live without it!

Ow... and before I forget, I have released QS v433 yesterday. It introduces the nice Google Material Icons in the backsite. No reason to update any previous version. But for new projects (if any) you can better use v4.3.3.

Google Sites is getting somewhere! Google gave it a big update last summer. It's definitely worth to take a closer look. So far I have created 3 sites with Google Sites. One of them is my band's site.

Pro's:

  • 100% ad-free all-in-one hosting solution 
  • Use your own domain (multiple domains are possible)
  • Sitesearch included by default
  • GDPR-compatible cookiewarning
  • Google analytics-ready
  • Easy to add a favicon, logo and branding
  • Various header& footer-options and sticky topmenu
  • Scroll-to-top icon
  • Very userfriendly and complete text and image editing
  • Intuitive placement of any element on a page, keeping it 100% responsive thanks to a powerful 12-column grid-system.
  • Pretty nice mobile hamburger menu (slide-in)
  • Neatless integration with all other Google products, like Youtube, Forms, Docs, Maps, etc
  • Easily add multiple editors for a given site or hand over its ownership
  • I expect a Google site to be SEO-optimized?
  • Free SSL certificate included
  • Forgot to mention: it's all free, free, free!

Cons:

  • Google Sites is not a CMS. It's a basic webpage builder. It's therefore not possible to use it as blog-engine, a newssite, an intranet portal, an e-commerce site nor as any other website where you need to manage lots of different types of content.
  • Images are not automatically resized/optimized for the web. Therefore sometimes images are loading too slow, causing a page to act weird before it's completely loaded.
  • I also miss a lightbox-plugin for images
  • No one-click add-ons like e-commerce, intranets, forum-plugins. Google sites are quite "basic". There is a way to embed any HTML-snippet though.
  • Not possible to develop plugins for your site
  • Not possible to apply custom CSS and/or add JavaScripts
  • Not possible to turn your site into a PWA (Progressive Web Application)
  • Very limited templating-capabilities. All you can play with are some colors, images, font-families and font-sizes.

All in all, I think Google beats Mobirise in some domains, especially when it comes to placement of elements. Mobirise is to limited when it comes to placing elements on a page. Especially Google's text-editor is pretty complete.  Mobirise adds more beauty, whistles and bells out of the box though.

I often receive messages like the ones below. It's striking how many of us classic ASP developers share the same feeling. Left alone in the woods with our ASP-scripts and functions that passed the test of time (some of them are working flawlessly for 25 years now, on all Windows Servers).

I am moved with your back stories with the development of asplite. I am an ASP web developer since 2004 and still using asp classic as for my freelance projects. I can relate on the struggle on having shared hosting upto know and I would love to learn more about AWS EC2 instance and own a hosting server like what you did. I'm happy to know that there are still believing in the power of Classic ASP.
I like your work! Contrary to what the muppets say, Classic ASP is not dead. There is nothing that one cannot do with ASP. In fact I have written desktop applications in ASP... cannot do that with PHP. You may recall SOOP? It had a huge following and a lot of devs for a lot of useful plugins. Not sure what happened with that even though I was one their plugin devs. Perhaps it was the cost of web hosting vs Apache servers and WordPress. Good luck with your CMS.
I've just found your web site for the first time today and I just wanted to say thank you for doing it. I've been using Classic ASP since the late 90s and still use it today for projects even though I've been jeered and sneered at for doing so. It's great to see there are other people still out there using it for real and still flying the flag :0)
I found your page by chance, because I was looking for something in ASP that would work with the "DataTables | Table plugin for jQuery"... congratulations for maintaining this site. Hope you are still working with ASP...thanks.

After struggling for months with this, years actually, I will try come up with a mobile first web application that takes care of the various playlists I go through as a live performer. Below the first brainstorm of the datamodel. 

A user can manage multiple bands. The user can add songs (by artists) to both playlists and rehearsals. At the gig, the musicians can download lyrics, chords, scores related to the song to be played. 

Songs can have multiple genres, a language, an "ambiance" and a duration, so that it is very easy to generate playlists based on specific requirements, like "lets start and end heavy", or by timing-constraints.

This is only a very early idea. I welcome all suggestions!

I feel bored lately. Live example.

<< Previous   Search   Next >>

© QuickerSite webCMS 2024

backtotop