EMC23's Web Development Blog
First-hand experience and theory put to (digital?) paper
Musings on Joomla web development and Open Source software and culture, as well as commentary on being digital entrepreneurs in Ireland, now.
A fistfull of frameworks {WIP}
EMC23 - Web Development Blog
Written by Rob | 01.26.13
As stated in my new years resolutions, first item on the agenda is moving beyond Joomla!and investigating other Cms's and php frameworks.
First on the agenda was a DrupalCamp in Westport where I met some great people and vowed to attend the Monthly Drupal meeting in Dublin. At the camp I spent most of my time with the newbies who were ably mentored by the inspirational Heather. Thanks to Gavin,Stella Alan and everyone for putting on a great weekend.
I learned about entities and how they could make a lot of basic CRUD programming unnecessary. I loaded up a few modules and played with Drush.
Next up was the CMS expression Engine and the platform Codeignitor underneath it.
The framework is mature and well known and well documented, but it may be getting a little out of date. It has been forked by Kohana so I might vcheck them out next. Expression Engine merges perfectly with codeigniter which is hardly surprising since this proprietary software sitting atop an open source platform are both made by the same company.
My situation is simple. How do i undo changes to the core code that prevent it fr4om being up datable . Well by using plugins or hooks or events. Fortunately one company builds both the products affected so getting an authoritative answer should be quick and easy, unfortunately nobody in the forums is interested in answering my questions.
Hooks or events
Hooks or event plugins are a way of extending the core without hacking it. When a certain event occurs the system checks a certain folder or certain place to see if a developer has created extra code to be executed at this point in time.
Joomla has around 25 hooks or events
http://docs.joomla.org/Plugin/Events
Drupal has about 80 hooks
http://api.drupal.org/api/drupal/includes!module.inc/group/hooks/7
CodeIgniter has 8
http://ellislab.com/codeigniter/user-guide/general/hooks.html
I need a hook to be called when the user reigisters:
Joomla has onUserbefpreSave and OnUserAfterSave
Road Map aka New Year's Resolutions
EMC23 - Web Development Blog
Written by Rob | 01.11.13
Happy New Year and best wishes for 2013. For us here at E=MC23, this is the year when numerous projects collide and the cumulative work over 15 years come to fruition.
If you imagine a sine wave to represent our approach to date, the dip being specialising and the crest being a more jack of all trades approach. Over the past few years we have focused on web development using joomla(I even stopped writing music). So although there was a lot of study and research in everything from CSS, Javascript, PHP and Mysql to content marketing and SEO, it all had a joomla bent to it.
Over the coming months, we will be examining several content management systems including Drupal, Expression Engine, Radian X and we might as well throw Wordpress into the mix. We will also be examining coding frameworks such as Zend, Symphony CodeIgniter and of course the Joomla Programming Platform.
And it's not only the software that we are mixing it up. I've been using the same desktop a Pentium 4 for nearly 8 years. Is it time to retire the beast? Heck no! Hal is now perfectly happy as a server, while I do most of my work in the cloud via any old text editor. But I did get a galaxy tablet and a rasberry pi.
And this adds even more variety to the mix, after it took nearly two years to move from windows to ubuntu for dev work (nothing replaces my Ableton Live windows setup for music), I now have the android os on the galaxy (and a ubuntu instance via VNC- more on that in another post) and a debian derivative on the PI. And thus Linux mint is screaming out to be tried.And with the android comes games! And not just the android I also subscribed to steam and bought the THQ bundle- nearly 30 games for 30 euro.
So while my gaming has been limited to Supreme Commander and Eve Online, I've now added Supreme Commander Forged Alliance, Grant Theft Auto, Saints Row and numerous other mafia and rpg casual games.
But of course I spend most of my gaming time n the EclecticMemeConspiracy which is almost playable. In fact we released the code behind it on github and the coderdojo I run in Galway uses the code as part of the dojo work.
Rotating circle generates sine wave. Written in Javascript using HTML5 Canvas drawing >>Source - Quantblog
Interested in a Coder/Mentor visiting your CoderDojo?
EMC23 - Web Development Blog
Written by Rob | 10.16.12
Over the past 18 months I've been building a game system that administrators can install on their servers. I showed it to Bill Laoi, one of the founders of Coder Dojo back in March, and thus co-founded CoderDojoGalway Advanced HTML5ers, with Lisa Corcoran, Adrian Bannon and Brendan Smith.

On day one, in front of 60 students, I realised our pong game was going to be too much, too soon, and in a moment of inspiration, Zen and the Art of DojoGames was born. This version now has three parts and is a result of an organic fine-tuning of the original game I was bringing to the table, and this three step introduction to game story.
http://kata.coderdojo.com/index.php?title=Tutorials_by_Galway
When creativity comes first, coding naturally follows.
I'd like to use this thread to discuss the game system with other mentors who have shown an interest (in particular Birr and Bray), and the new mentors in the Dojo I'm in.

This set of tutorials is made to encourage mentor/coders to think about the life of a dojo over a year or two period and is directly related to my experiences as a Lead Mentor in CoderdojoGalway.
The tutorials start off on day one, when both mentor and student are a clean slate. Whereas in part two, whether weeks or months later, a sense is made of the students original designs. At this point coding really comes into play.
It's a system designed to foster collaboration between coders of all different levels of skill, and between developers using different skills, from graphic and web design to coding and project management.
The system is designed to encourage dojos as development teams similar to professional software houses rather than schools or competition based expectations.
The 3 haikus are designed to teach the student about design, not by helping kids avoid the pitfalls but by dragging them through them...in a fun way. They allow students begin creating their own virtual world, albeit a text-only based one, right away. And it does not have to stay text-only based.
Refactoring is a large part of the haikus. The kids will make 60-90 rooms instead of 10-20, and converting them all will take patience, but the kids will do it. By part III, the kids will be designing algorithms in their own heads before converting them to code. They will be using code to solve their game-based problems.
At this stage, the game system has passed the kids test in terms of success and longevity. The kids are buzzed and I believe we have 4+ mentors interested in developing the system.
Current Functions in the game:

- Design your own maps.
- Attack other players and computer characters.
- Buy a mine and extract minerals. Sell metals to scrapyards.
- Buy a factory and blueprints to create objects.
- Buy a Windmill and sell energy to the factory and mine owners.
- Buy a farm and sell food to food processing plant.
- Lodge and withdraw money from bank.
- Rent and inhabit apartments to stay safe from mob.
- Chat in chatbox.
- Embed iframe based html games from newbie coders.
- Add new objects, stats relationships, characters and rules via php plugins.
The game system can be view in full by registering with coderdojogalway.com
I want to make this system available as an open source system. To any dojo that wants to use it, we intend to travel to dojos on a once a month basis, to any dojo that welcomes us.
The game is based on The Joomla content management system and I will show mentors how to setup a LAMP type and Joomla-ready system.
It uses Joomla database tables, the Joomla User system, and several third party Joomla extensions. Kids are encouraged to use phpmyadmin and create whatever additional stats tables they require for their instance of the game.
Statistics, arrays and variables are naturally integrated into the games by the kids themselves. Real life applications, better yet real-game experiences, are more impactive than abstract theory.
When creativity comes first, coding naturally follows. They don't see themselves as solving a math problem, they see themselves creating their own story.
So if you think we have something in common, just respond and let us know.
CoderDojo Galway Season 2
EMC23 - Web Development Blog
Written by Rob | 09.16.12
To boldly go...
We are entering our second season, and this is where it gets really interesting. We have covered all the basics, we are that little bit more experienced and our games are making that bit more sense. It's where the newness of the actual Dojo movement has worn off and the actual coding and code comes to the fore.
Since we have been taking on newbies every week since the beginning, we (mentors and students) have mastered the ability to introduce newbies to the first 5 lines of code, while our more experienced coders are continuously moving into new territory. We document everything as we go. The games, the code and the participants are all at www.coderdojogalway.com so pop in at any time. We have added more forums to the site and hope to network better this year with both the other mentors in CoderDojo Galway who do Scratch and Python classes, and the other Dojos in Galway. As the Galway Coder Dojo Network expands, it's essential that it is clear I speak solely about the single room the HTML5'ers occupy, and even more so these are my opinions only, my fellow mentors have different opinions.
Ask not what CoderDojo can do for you
I dislike the idea that a mentor is not participating because we don't teach 'X' language at present. If you can code, you can teach any language, even if you never written a line of PHP or Javascript before. We don't have a formalised structure or curriculum. In fact, I personally won't touch a piece of code unless there is a game element to it. For me, this is a club, it's not a job. We teach HTML5, CSS, Javascript, PHP and MYSQL. We did not stop over the summer because we enjoy doing it so much, and we enjoy doing it so much because WE are learning so much.
Want to learn to code? Become a mentor!
Neither Lisa nor I knew ANY Javascript before we introduced it to the Dojo. We do not teach coding, we learn it alongside our students. And that's what is on offer to any mentor who wants to join us in the Advance HTML5 classes. While it starts off with HTML5 and CSS and may seem very web dev, (though anybody who is into games programming knows that HTML5 is the future of online games development) slowly and without anybody really noticing, loops and variables and objects have crept into our vocabulary, and we use three different languages on the same page. Needless to say we have also introduced Joomla to the kids. The coderdojogalway website is joomla based and we have to Ninjas administrating it. And of course we use joomla as the framework on top of the game engine we are building. I hope to add some more tutorials so the other dojos in Ireland can consider using the cms too.

If you look at our curriculum (the list of tutorials we found on the net) - it actually looks like the history of gaming. Choose your own adventure (text games) -> Pong -> Breakout -> Arkanoid -> Atari Arcade -> Outrun -> Boulderdash -> Tetris. And now my favourite - a side scrolling karate game!!!
http://coderdojogalway.com/index.php?option=com_kunena&func=view&catid=3&id=117&Itemid=0#117
http://www.html5canvastutorials.com/cookbook/#ch8
Although I like a good beat' em up game, I'd like to point out that our own multiverse attempts to go beyond the simplistic violence of arcade games. To date, in our multiverse (the environment in which all our sub-games reside) you can
- Buy mines
- Mine for metals, oil and crystals
- Buy blueprints
- Buy and manage factories
- Use these elements and blueprints to make objects which can be sold in shops
- Buy farms, harvest crops
- Sell these crops to the food processing plant
- Buy windmills and other power generators, sell the energy to the factories and mines
Of course, you can also attack other players and rob their goods (but maybe that's not the way to progress in the game.)
We are currently looking at owning and renting out apartments, owning and managing the hospitals that fix you after you have been attacked, owning and managing diners that provide the food (as created by the food processing plants).
Our multiverse
The next big thing?
What's the new Javascript? Javascript. What's the new php? Javascript. What's the new Java? Javascript.
Don't believe me? Checkout the first European Node.js conference to be held in October in The Guinness Factory Dublin. As html5 replaces the need for the platform specific requirements of the androids and iphones (Java and Objective C) and Node.js is spearheading real time two-way communication between the server and the browser, companies are screaming out for Javascript Developers, who are no longer confined to pretty (but secondary) browser tricks.
That's not to say we won't touch Java or Python (remember I'm talking purely about lab106 not the entire coderdojogalway movement) , but at present to introduce a new language seems premature, since our students have not mastered the fundamentals of programming just yet, (we are in no hurry).
More... More... More...
I hope that once we have completed our own games similar to the ones mentioned, we will then be in a position to port these games to new languages ( we have already done this as we ported the games from html to php). This would make a lot of sense, feel like a natural progression rather than a disruption and (when the time is right) our original game code might make a perfect reference point for the new syntaxes. We'd also like to introduce hardware concepts raspberry pies and arduinos :-) , Open data ( technology and the community http://www.deri.ie/about/open-data/ ) and graphics.
I recently built a facebook app for a client (built in php and mysql), so with the help and support of parents and other mentors ,I'd consider introducing that as another avenue to be investigated in the dojo. And of course there is Github social coding or facebook for coders.
What is required?
Commitment. More than anything else you have to love the idea of getting up every Saturday ( or most Saturdays - As i said this is a club not a job) and sharing idea and problem solving. You've got to have the patience to hold back and watch an idea develop over months, to break things down into their simple components and express idea clearly.
We only deal with 14 yrs and pp and up so generally we don't have to deal with unruly kids or have any particular skills like that. In fact some of us mentors have as underdeveloped social skills as any kid, and that's cool too. We are all here to share code, share ideas and learn. It's something every single person in the room has in common.
I sincerely hope you consider participating and
Above all, Be Cool
Five months in - CoderDojo Galway
EMC23 - Web Development Blog
Written by Lisa | 06.13.12
We’ll admit it. We’re hooked :)
The reception has been warm, from parents and kids alike. We’re keeping the HTML sessions in NUIG going throughout the summer. For specific information, visit CoderDojo.com or @coderdojogalway.
The open format (aka we wing it) sessions seem to be working out well. Participants are free to drop in anytime between 12 and 3pm.
The group has developed quite naturally. The non-structured model that is the coder dojo learning environment enables the kids to pursue their specific interests. And our spontaneous presentations serve to support and focus them, when we introduce a new technique, or tool to experiment with, or when we discuss programming theory using pseudo code.
The social aspect is blossoming too, as we all get to know each other. The new arrivals are taught the basics by their peers, which is a rewarding learning experience for everyone involved.
Game development is always at the center of what we’re doing, because, let’s face it, games are the most fun :) And, developing a game involves so many different elements needing to come together.
We began with basic HTML lead by Rob, as seen on the CoderDojo Kata. Some kids’ main interests lie in developing complex storylines and maze-like plot paths. Others are more interested in the aesthetic experience, adding colours, images, creating graphics and video, and using javascript to add animation and time-based events. Some kids are most into coding, both the learning of programing languages, and software design.

The kids can focus on the areas that interest them and contribute to the larger-scale collaborative project (we call it the Multiverse or 46. It's built on our JiGS Joomla Game Engine, but that's another blog). They glean a lot from the surrounding activities, and can discover new interests and develop new skills by interacting with their peers.
From a developer’s perspective, I’m absolutely delighted with the fresh knowledge and inspiration that I've gained by mentoring.
EMC23's Joomla 2.5 Skeleton Template released
EMC23 - Web Development Blog
Written by Lisa | 05.23.12
Finally! Flexi version 3 is here.
It's as simple as always, with the same minimalist design and ultra flexibility.
PDF notes available in zip. Click on the thumbnail for large view of module positions.
Download Flexi Template v3.0
Live Demo Online here
I integrated a lot of different techniques for this release. The main crux was Joomla's version upgrade. We'll skip the stuff in the middle and called it the move from 1.5 to 2.5.
The differences between the previous versions of the emc23 Flexi templates and v3 are varied. Some are Joomla version 2.5 specific (syntax changes, adopting best practices etc), and some are the result of working with the earlier emc23 flexi versions in my own daily development projects, and experimenting with other templates. I like to consider these to be improvements :)
I won't bore you with the details. I'll be publishing documentation and changelogs for emc23flexiv3 on its demo site. The most interesting part is its application, so over the next few months, as I have the opportunity to develop websites with this template, I'll be better able to assess.
I'm really excited about introducing HTML5 into everything I do. My understanding of HTML5 and Joomla has grown exponentially, due in large part to developing the JiGS game engine with Rob. Joomla is gearing up to its version 3 release and I've been hearing a lot about Twitter Bootstrap from places like the Joomla User eXperience portal forums. It looks like I have plenty to play with.
Mobile Friendly EMC23
EMC23 - Web Development Blog
Written by Rob | 05.13.12
We’ve been doing a lot of research (as we do) and we’ve recently had the opportunity to apply some new techniques we’ve been reading about these last few months.
Responsive design is the buzz word du jour, and like a lot of our industry’s advancements, it seems to still be in transition between concept and application.
Clients are beginning to get a true sense of their undoubtedly “mobile” customers’ expectations, and design agencies are experimenting with deploying suitable solutions.
As developers, we have a few responsibilities.
To implement designs that work across a variety of devices, and to ensure they are as future-proof as possible.
Responsive design is the preference, I think, because it is
- Device-agnostic - "mobile" is not limited to mobile phones and the predictable dimensions of their tiny screens. Instead, it's designing for "mobile" people; those who want to access information on-the-go.
- Web-oriented - we're still in relatively familiar territory, so we can build on our current skill sets and apply what we already know about effective design.
- Content-focused - finally, superfluous design can take a back seat. We're back to the basics. Slower connection speeds, reduced view port real estate, people with clumsy fingers using technology that's new to them - all these and more need to be taken into account.
The layout for a responsive website is reliant on a floated, div-based grid. Each cell, or series of cells, houses content of some sort, and when viewed at different widths, these cells act like blocks, and stack as the viewport narrows.
There are many intricacies that we still have to explore, and an array of different tools and frameworks to help us web developers make the transition. While investigating the various options, we found ourselves getting genuinely excited about the possibilities. And of course, we had to try one.
Joomla Dublin is now responsive!
For our first experiment, we’ve launched a responsive Joomla website as the Joomla 2.5 upgrade of JoomlaDublin.org
We’ve used the Joomskeleton template developed by Johannes Hock (and inspired by many) and customised it slightly (moving module positions and changing module styles) to suit. Joomskeleton seems to be a great starting point for anyone who knows a little about responsive design and Joomla.
Coder Dojo Galway
EMC23 - Web Development Blog
Written by Rob | 01.17.12
We have just returned from an inspiring first meeting of the CoderDojoGalway mentors comprising of local educators, parents, programmers, academics and community workers. We convened in the Computer Museum in the DERI building hosted by the curator Brendan Smith.
It was the perfect place to begin a journey for us that could claim a direct heritage to the days when Digital first came to Galway way back when. We were shown schematics of the original network between all the schools in Galway, linked via terminals and modems. Also on display was an Apple II, like those given to schools in Ireland back in 1982. It was on an AppleII in '82 that I first learned BASIC.
Dog & Bone Night in Aid of Local Dog Rescue Friday Dec 23rd
EMC23 - Web Development Blog
Written by Lisa | 12.14.11
Coincidence?
I think not.
EMC23 Before MADRA
We at EMC23, are unabashed dog lovers (click the images to see how unabashed!) We have come across a fair few stray dogs during our travels. The more dogs we took on, the more dogs we picked up, literally, along the way. We discovered MADRA mid way through this journey, and we are happy to proclaim, they enlighten and inspire us, and for that, we are devoted :)
Read more: Dog & Bone Night in Aid of Local Dog Rescue Friday Dec 23rd
Page 1 of 5

Blog

