Media Server Completed

Having always wanted my own jukebox I decided to create one in Webepigenetics. Taking DNA from the Knowledgebase I soon had the framework for a Mediaserver. The server allows cover images, music and video to up uploaded from anywhere and any machine (under password control of course) and then played on the server. The playing software on the server is Mplayer which handles most audio and video formats. The volume can also be adjusted remotely using a program called aumix which is called by the CGI script when the volume control buttons are used. So here again a complex project made much easier with Webepigenetics!
Yet another end user DSL is developed.
It's called Serena Business Mashups and looks like a GUI based DSL aimed at business users. The interface reminds me a bit like Apple's Automator with its plug in blocks. It also has the overblown Windows office 2007 look and feel which I really don't find appealing. However one thing I found alarming in the Serena product model was the exclusion IT department and in this way it is very different from Webepigenetics. Webepigenetics promotes a symbiotic relationship with the IT department and the DSL application builder where it looks like Serena in its marketing at least seeks to expel the IT developer from the application creation process altogether. Perhaps our Finance Director would like to sport tattoos and a beard - but then perhaps not!
One thing I do give Serena kudos for is for their Creative Commons approach to application licensing which actually allows the developers to Mashup applications without copyright issues. A traditional licensing model would do completely against their Mashup policy - well done Serena!
link
Webepigenetics vs Intentional Programming
To be honest I almost fell off my chair when I saw what an organisation called Intentional Programming were doing. Although they have no specifics on their site I do believe we share a common philosophy!
This interesting wiki entry on Intentional Programming highlights several aspects that are equally true with Webepigenetics. The domain specific nature of the environment and the self documenting nature of the solution. Apparent differences between Webepigenetics and Intentional Programming are:
Webepigenetics does not abstract to a full drag and drop GUI level although this could be possible.
Webepigenetics has inherent modularisation and code reuse with a building block approach allowing for increasing the power of the DSL as new functionality is added to the language. Hence the DSL itself is extensible so it allows the DSL to evolve and adapt to it's domain. In this way you develop an ideal DSL for your domain as you go along.
The DSL created by Webepigenetics would always be in XML.
Source code in the base language is stored as tag definitions in plain text format not in a binary format.
link
Good video on Domain Specific Languages
Following on from the previous blog. I found that the author of the paper has a video where he explains many concepts of Domain Specific Languages. Much of what he says can apply to Webepigenetics which in his view can be seen as an external DSL. link
An ideal domain level programming environmnet.
Webepigenetics is an ideal platform for domain level programming. That is - having experts in a certain domain creating systems for themselves. Webepigenetics removes the complexity of conventional language notation and gives domain level programmers the tool sets they need to accomplish their jobs at a higher abstraction level more suitable at the task at hand. In this way accelerated development of unique systems is possible! For an in depth look at Domain Specific Languages I found this excellent paper by Martin Fowler which is worth reading. link
Updates in real time!
Not many systems can be updated without taking all the users off line. Today I was working on adding a few editing modules to the product database. This was done seamlessly while the users were still on the system in house and around the world. Edit buttons were placed on the user interface and the new module site xml added and built without any downtime. While I was at it I thought it was time to remove the tables from the web layout and replace them with div tags. This switch-over also happened while people were using the system . One minute they were on a page that used tables for its layout and the next it just changed to the new skin instantly. Thanks to Webepigenetics all the functionality is preserved while this happened even in mid click!
My favourite platform

Webepigenetics in different shapes and sizes has run on many platforms - Windows XP, Mac OS, Redhat, SUSE and Ubuntu. I have also ensured that I use tools that run on all these platforms. That means you won't see me using Adobe Photoshop or Illustrator for graphics because that would tie me to either Windows or MAC. I chose instead to use Gimp for photo manipulation and Inkscape for flat graphic design. I have found these applications to be ideally suited to web work and they also have the benefit in that they are free!
When it comes to servers I now have a favourite - Ubuntu. Ubuntu server comes in a very compact package - only one CDROM that has everything I need. Without all the GUI overhead this server is ideal from a simplicity and performance viewpoint. I also use the full Ubuntu desktop as a server and it does well. I could use OSX but there is a real grey area surrounding multi user licenses so I would not use it unless I had a full unlimited user edition. Windows server is a difficult one it claims to allow unlimited users to access their web server IIS but a client access license is required for each user if the website is active, i.e has forms or CGI parts? This is a grey area that could change the price from a few hundred to several thousands so I keep well away from any Windows server solution. The main problem with using commercial software like Windows is if you do get the licensing wrong you risk prosecution so the safe bet is to keep away from it. I have found that pursuing open source solutions is a rewarding and interesting route and one that offers the most flexibility in the long term.
So in conclusion my favourite platform is Ubuntu.
ShoutLuton due for an upgrade!

It's been almost four years since I first started on the ShoutLuton project and the site technology hasn't really been upgraded since WebeDNA 1.0! It is still updated by hand coding the XML which although is much easier then coding the html directly can be made even easier. Firstly it will be content managed using my Knowledgebase application as back end database. This will mean I can update it wherever an Internet connection exists! This could be using Wifi on a train of coffee shop or even perhaps in my local pub. I also plan to implement RSS feeds using WebeDNA of course which will update in real time.
Little by little the site has been made interactive . There is the vote box, expect to see more of them and they will give real time results. I have an idea for free "composite" ads which will be razor sharp using jpg and png overlay techniques and possibly user blogs in which Luton clubs could update themselves with gigs and events. There is also the gallery application still in its infancy it already offers free images which is an important aspect of the site - a free resource. I plan extending the gallery and of course adding many more photos.
Although the site will look the same one thing will be going - tables. CSS has really taken over in web design and tables are no longer required to hold everything together. This means faster loading and better accessibility and much more control in layout.
Welcome to the Blog

The Webepigenetics blog has been set up to document ideas, concepts and real life applications of the idea.

Having always wanted my own jukebox I decided to create one in Webepigenetics. Taking DNA from the Knowledgebase I soon had the framework for a Mediaserver. The server allows cover images, music and video to up uploaded from anywhere and any machine (under password control of course) and then played on the server. The playing software on the server is Mplayer which handles most audio and video formats. The volume can also be adjusted remotely using a program called aumix which is called by the CGI script when the volume control buttons are used. So here again a complex project made much easier with Webepigenetics!
Yet another end user DSL is developed.
It's called Serena Business Mashups and looks like a GUI based DSL aimed at business users. The interface reminds me a bit like Apple's Automator with its plug in blocks. It also has the overblown Windows office 2007 look and feel which I really don't find appealing. However one thing I found alarming in the Serena product model was the exclusion IT department and in this way it is very different from Webepigenetics. Webepigenetics promotes a symbiotic relationship with the IT department and the DSL application builder where it looks like Serena in its marketing at least seeks to expel the IT developer from the application creation process altogether. Perhaps our Finance Director would like to sport tattoos and a beard - but then perhaps not!
One thing I do give Serena kudos for is for their Creative Commons approach to application licensing which actually allows the developers to Mashup applications without copyright issues. A traditional licensing model would do completely against their Mashup policy - well done Serena!
link
Webepigenetics vs Intentional Programming
To be honest I almost fell off my chair when I saw what an organisation called Intentional Programming were doing. Although they have no specifics on their site I do believe we share a common philosophy!
This interesting wiki entry on Intentional Programming highlights several aspects that are equally true with Webepigenetics. The domain specific nature of the environment and the self documenting nature of the solution. Apparent differences between Webepigenetics and Intentional Programming are:
Webepigenetics does not abstract to a full drag and drop GUI level although this could be possible.
Webepigenetics has inherent modularisation and code reuse with a building block approach allowing for increasing the power of the DSL as new functionality is added to the language. Hence the DSL itself is extensible so it allows the DSL to evolve and adapt to it's domain. In this way you develop an ideal DSL for your domain as you go along.
The DSL created by Webepigenetics would always be in XML.
Source code in the base language is stored as tag definitions in plain text format not in a binary format.
link
Good video on Domain Specific Languages
Following on from the previous blog. I found that the author of the paper has a video where he explains many concepts of Domain Specific Languages. Much of what he says can apply to Webepigenetics which in his view can be seen as an external DSL. link
An ideal domain level programming environmnet.
Webepigenetics is an ideal platform for domain level programming. That is - having experts in a certain domain creating systems for themselves. Webepigenetics removes the complexity of conventional language notation and gives domain level programmers the tool sets they need to accomplish their jobs at a higher abstraction level more suitable at the task at hand. In this way accelerated development of unique systems is possible! For an in depth look at Domain Specific Languages I found this excellent paper by Martin Fowler which is worth reading. link
Updates in real time!
Not many systems can be updated without taking all the users off line. Today I was working on adding a few editing modules to the product database. This was done seamlessly while the users were still on the system in house and around the world. Edit buttons were placed on the user interface and the new module site xml added and built without any downtime. While I was at it I thought it was time to remove the tables from the web layout and replace them with div tags. This switch-over also happened while people were using the system . One minute they were on a page that used tables for its layout and the next it just changed to the new skin instantly. Thanks to Webepigenetics all the functionality is preserved while this happened even in mid click!
My favourite platform

Webepigenetics in different shapes and sizes has run on many platforms - Windows XP, Mac OS, Redhat, SUSE and Ubuntu. I have also ensured that I use tools that run on all these platforms. That means you won't see me using Adobe Photoshop or Illustrator for graphics because that would tie me to either Windows or MAC. I chose instead to use Gimp for photo manipulation and Inkscape for flat graphic design. I have found these applications to be ideally suited to web work and they also have the benefit in that they are free!
When it comes to servers I now have a favourite - Ubuntu. Ubuntu server comes in a very compact package - only one CDROM that has everything I need. Without all the GUI overhead this server is ideal from a simplicity and performance viewpoint. I also use the full Ubuntu desktop as a server and it does well. I could use OSX but there is a real grey area surrounding multi user licenses so I would not use it unless I had a full unlimited user edition. Windows server is a difficult one it claims to allow unlimited users to access their web server IIS but a client access license is required for each user if the website is active, i.e has forms or CGI parts? This is a grey area that could change the price from a few hundred to several thousands so I keep well away from any Windows server solution. The main problem with using commercial software like Windows is if you do get the licensing wrong you risk prosecution so the safe bet is to keep away from it. I have found that pursuing open source solutions is a rewarding and interesting route and one that offers the most flexibility in the long term.
So in conclusion my favourite platform is Ubuntu.
ShoutLuton due for an upgrade!

It's been almost four years since I first started on the ShoutLuton project and the site technology hasn't really been upgraded since WebeDNA 1.0! It is still updated by hand coding the XML which although is much easier then coding the html directly can be made even easier. Firstly it will be content managed using my Knowledgebase application as back end database. This will mean I can update it wherever an Internet connection exists! This could be using Wifi on a train of coffee shop or even perhaps in my local pub. I also plan to implement RSS feeds using WebeDNA of course which will update in real time.
Little by little the site has been made interactive . There is the vote box, expect to see more of them and they will give real time results. I have an idea for free "composite" ads which will be razor sharp using jpg and png overlay techniques and possibly user blogs in which Luton clubs could update themselves with gigs and events. There is also the gallery application still in its infancy it already offers free images which is an important aspect of the site - a free resource. I plan extending the gallery and of course adding many more photos.
Although the site will look the same one thing will be going - tables. CSS has really taken over in web design and tables are no longer required to hold everything together. This means faster loading and better accessibility and much more control in layout.
Welcome to the Blog

The Webepigenetics blog has been set up to document ideas, concepts and real life applications of the idea.