Presentation on Dutch Joomla!Days 2009. Index of possibilities to exchange data between Joomla! and Flash. A plea to use more general interfaces and standards, like XML.
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]Chris Toohey
My Lotusphere 2011 SpeedGeeking session - 10 Things You're Not Doing!
Gave this presentation in 5 minutes 13 times [in a row, back to back], and had a blast!
If technical SEO is not implemented effectively across your international sites, the chances are you will not be ranking in the top positions you need to secure maximum revenue returns. Jamie White, Head of Technical, explains how with some simple code updates you could be reaping the rewards.
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]Chris Toohey
My Lotusphere 2011 SpeedGeeking session - 10 Things You're Not Doing!
Gave this presentation in 5 minutes 13 times [in a row, back to back], and had a blast!
If technical SEO is not implemented effectively across your international sites, the chances are you will not be ranking in the top positions you need to secure maximum revenue returns. Jamie White, Head of Technical, explains how with some simple code updates you could be reaping the rewards.
This is Steve Souders's talk at Amazon which I couldn't read in it's original pptx format (http://stevesouders.com/docs/amazon-20091030.pptx) since Keynote sucks at importing. It seems to render well here.
WordPress is NOT just a blog anymore!
For the seasoned WordPress developer or anyone coding in PHP, CSS, and jQuery, we will look at how you can take your theme to the next level. I will explain how theme architecture works, how to extend this architecture with custom template files, and how to create custom functions. I will also walk through the some interested CSS frameworks, like 960grid, implementing intermediate to advanced jQuery features, and how to customize the back end. Finally I will briefly discuss how to take your theme mobile using WPTouch and WPMobile.
JD17NL Joomla! Overrides and alternate layoutsHans Kuijpers
Stop using extensions for where Joomla! core fits your needs. You can create nice view overrides or alternate layouts. This session shows you how to override output of com_content and mod_articles_news. Grab some parameters and contents or add your own with custom fields and create individual layouts for your website.
This presentation was held during the Dutch Joomla! Days 2017 Woudschoten, Zeist, The Netherlands on April 2. This presentation was prepared by Elisa Foltyn and presented by Hans Kuijpers
Here's my 50-foot view of building a Facebook application on Rails. Rails itself is not part of the presentation - you can check out one of my available slides for that. Target: non-techies and people who just want to find out the Facebook API architecture. I wished I could've put more content, like y'know, ACTUAL CODE???
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011brucelawson
What new semantics does HTML5 bring us? Why? Are they enough? What more could we do with? Do semantics matter any more (tl;dr:) yes.
Video and transcript at http://fronteers.nl/congres/2011/sessions/html5-semantics-bruce-lawson
This is Steve Souders's talk at Amazon which I couldn't read in it's original pptx format (http://stevesouders.com/docs/amazon-20091030.pptx) since Keynote sucks at importing. It seems to render well here.
WordPress is NOT just a blog anymore!
For the seasoned WordPress developer or anyone coding in PHP, CSS, and jQuery, we will look at how you can take your theme to the next level. I will explain how theme architecture works, how to extend this architecture with custom template files, and how to create custom functions. I will also walk through the some interested CSS frameworks, like 960grid, implementing intermediate to advanced jQuery features, and how to customize the back end. Finally I will briefly discuss how to take your theme mobile using WPTouch and WPMobile.
JD17NL Joomla! Overrides and alternate layoutsHans Kuijpers
Stop using extensions for where Joomla! core fits your needs. You can create nice view overrides or alternate layouts. This session shows you how to override output of com_content and mod_articles_news. Grab some parameters and contents or add your own with custom fields and create individual layouts for your website.
This presentation was held during the Dutch Joomla! Days 2017 Woudschoten, Zeist, The Netherlands on April 2. This presentation was prepared by Elisa Foltyn and presented by Hans Kuijpers
Here's my 50-foot view of building a Facebook application on Rails. Rails itself is not part of the presentation - you can check out one of my available slides for that. Target: non-techies and people who just want to find out the Facebook API architecture. I wished I could've put more content, like y'know, ACTUAL CODE???
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011brucelawson
What new semantics does HTML5 bring us? Why? Are they enough? What more could we do with? Do semantics matter any more (tl;dr:) yes.
Video and transcript at http://fronteers.nl/congres/2011/sessions/html5-semantics-bruce-lawson
Sql injection bao cao - http://ouo.io/Mqc8L5phanleson
Course : Introduction to Big Data with Apache Spark : http://ouo.io/Mqc8L5
Course : Spark Fundamentals I : http://ouo.io/eiuoV
Course : Functional Programming Principles in Scala : http://ouo.io/rh4vv
Deck utilizado na sessão "Trabalhando com ARM Templates" no Azure Teck Nights em Hangout realizado em 18/01/2017.
Nesta sessão falei sobre as diferenças de arquitetura do Azure dos modos clássico (ASM) e ARM além de explorar as diversas formas de tirar proveito dos templates para futuros deploys.
This is the OWASP 2009 talk (from Canada and Chicago) that was given to some of the best crowds I've ever worked with... you know who you are!
I hope you enjoy.
Een handige, stap-voor-stap handleiding waarmee je zelf een weblog of website kunt bouwen met behulp van Wordpress.
Als je deze cursus handig vindt, deel hem met anderen.
Als je vragen hebt, stel ze aan mij via www.jwalphenaar.nl
As programmers, we concentrate so much on the server/backend side of things that we often forget to measure performance from the Client's viewpoint. This presentation describes a bunch of techniques that can be used to speed up our websites.
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Alfresco Software
What are Google Gadgets? What are their benefits to the Enterprise?
How do you develop Google Gadgets? What are WebScripts, and how do they help you integrate Google Gadgets with your Alfresco content repository? Open Source ECM, Java based. www.alfresco.com/about/ondemand <-- View recorded webinar here.
These questions and more are answered in this webinar.
My colleague Adnan created this slide and on behalf of him i am uploading this slide.
A nice Visual Diagram is there on the SERVER CLIENT concept. Must see for newbie.
structura generală a unei extensii pentru browser, cu precizarea caracteristicilor particulare pentru fiecare navigator Web în parte (Chrome, Firefox).
In this session, we will examine the basics of the SpringSurf view composition framework for Spring MVC applications. It will show how to easily construct pages, templates and components.
Bruce Lawson HTML5 South By SouthWest presentationbrucelawson
"Tales from the development trenches": my talk about development of HTML5 and developing with HTML5, including new intelligent forms, canvas and open video.
Presentation for LangDev 2023, 14+15 november 2023 in Utrecht. https://langdevcon.org/
The basic idea of “Projectional Forms” is very simple: use HTML form elements
instead of text in an editor to get information into an AST. Text input boxes,
dropdown select boxes, check boxes, radio buttons etc.
From the early days of the World Wide Web on, form elements were the way to
interact with an HTML page. In modern web-applications form elements are
still widely used to gather user input. Forms have evolved and many packages
and frameworks offer more elaborate possibilities out of the box, built on top of
the same old basic form tags: custom fields, (repeating) sub-forms, form
validation, easy creation, JSON output etc. The possibilities are endless. An
important advantage of the use of form elements in online applications is:
people are used to them and don't have to learn something new. It is easier to
use than a text based editor.
I will demo the use of projectional forms on the hand of the “Extension
Generator” I'm working on at the moment. First presentation was on Dutch
JoomlaDays in May (which were at the same time as the MPS Community
Meetup this year). It uses forms on the M1-level to create complete and
working online applications, like e-commerce or a booking system. It was
based on earlier work in Xtext that was later ported to MPS. In this Extension
Generator the AST is filled (online) using HTML form elements, that were
static, predefined. The applications are mainly generated from the AST using
templates.
This summer I've been working on the M2-level: making forms that
dynamically define forms. This is in fact defining DSLs! This definition of forms
is again done using HTML form elements, online. I've used LionWeb as the
basic structure on the M3-level and am now working on import and export
from and to the LionWeb Serialization Format.
Next step will be to define generators using a “forms-language” (beside the
use of templates). Main inspiration for this part are MPS' model-to-model
transformations.
Although still work in progress, I can demo the concept of Projectional Forms
with this practical Extension Generator and show the limitless possibilities of
simple HTML form elements as a medium for projectional editing and language
definition. In many cases it can be an interesting alternative for traditional
code in text format.
Slides from the presentation (in Dutch) I gave on the Dutch JoomlaDays 12+13 May 2023.
Generate Joomla extensions with Model Driven Engineering, that is: create a model to define an extension (component, module, plugin) and generate the concrete extension from the model. In that way one model can be output to multiple versions of Joomla, or to a different platform (Drupal, Symfony, Laravel) or even to a different stack (non-PHP).
Presentation about Domain Modelling (and language / philosophy) on https://kandddinsky.de/ Berlin 2019,October 18
In mister Occam's barbershop we'll have Domain Modelling in our chair to have a fresh cut and shave. We'll cut, redefine, rename and rearrange concepts like bounded contexts, ubiquitous language, context maps, aggregates and their roots, entities, value objects and event sourcing. Our modeling tools have grown, but might need some maintenance service... Language is the vehicle of modeling, it is the tool by which we understand the world. Our words are the building blocks of our models. If our language is imprecise, inconsistent or contradictory, so our models will be imprecise, inconsistent or contradictory. Although some practicioners of Domain Driven Design proudly call themselves “domain linguists”, not all DDD-jargon is very well defined. Some concepts come from different paradigms or contain logical errors. Too broad or too narrow definitions introduce unnecessary accidental complexity. This presentation aims to show some mistakes and do proposals to improve the situation. The proof of the pudding is to show how models can be made more useful by that. On our road we'll be helped by some modelers from the past, like Aristotle, Hume, Kant, Wittgenstein or Ryle. And we'll see how a 14th century razor blade can still be sharp.
Creative developer Herman Peeren likes creativity and exploring new ideas. Modelling is a way to better understand the world around us. Computer Science is Philosophy. Languages carry our thoughts, and that holds for both natural languages and computer languages.
Resources & links can be found on http://hermanpeeren.nl/
Programmeren, talen en het begrijpen van de wereldHerman Peeren
Programmeren, talen en het begrijpen van de wereld
door Herman Peeren
presentatie op 13 november 2015
Permanent Beta Dag #7 Rotterdam
http://www.meetup.com/PermanentBeta/events/222345799/
http://pb7.apitecture.nl
Bestaat Nederland eigenlijk wel? En God? Waarom betalen we geld aan Griekenland? Wat is Kunst? Dit zijn een aantal vragen die in deze presentatie ter sprake komen.
Het programmeren van een computer is veel meer dan alleen het inkloppen van een reeks instructies. Als we software bouwen, dan bouwen we een model van een stukje wereld (of van een nieuwe wereld). Om dat te doen moeten we iets begrijpen van die wereld. We gebruiken code als bouwstenen van ons model; de code is een taal waarmee we de wereld beschrijven. Tegelijkertijd is code ook gereedschap waarmee we de wereld analyseren, in hapklare brokken snijden.
De taal waarmee we programmeren is niet alleen de gebruikte programmeertaal, maar ook de ideeën die daarbij gebruikt worden. Een andere taal, in die brede zin van het woord, is als een ander sjabloon dat je over de werkelijkheid heen legt: je ziet de wereld op een andere manier, je interpreteert dingen anders. Dat kan heel spannend zijn, vooral als je inzichten daardoor veranderen. Durf jij dat aan?
Het is lastig om het verschil tussen kleuren uit te leggen aan iemand die z'n hele leven blind is geweest. In het praten over kleuren gebruik je al gauw andere woorden die iets met zien te maken hebben. Begrippen overbrengen die we niet zelf uit eigen ervaring kennen is moeilijk en al helemaal als de woorden om die begrippen te beschrijven ontbreken in een taal. Het leuke van programmeertalen is, dat je er niet alleen iets in kunt beschrijven, maar het ook bouwstenen zijn. Een begrip wordt zo niet alleen abstract aangeduid, maar je kunt er ook een model mee bouwen om het te demonstreren.
Deze presentatie gaat over taal als middel om onze gedachten te vormen en uiten en in hoeverre dat middel mede van invloed is op het resultaat. Computertalen en ideeën over modelleren in software kunnen bijdragen aan het begrijpen van de wereld om ons heen. Met behulp van dat theoretische gereedschap gaan we een aantal vragen onder de loep nemen, op zoek naar nieuwe inzichten.
Improve our PHP code with ideas from Functional ProgrammingHerman Peeren
A short intro to Functional Programming (FP) and how ideas from it could be used to improve your PHP code. These slides contain several links to others (articles, video, book) about FP and PHP.
A presentation about Data-Contect-Interaction(DCI) for the Belgium DDD community, Antwerp April 30 2015 http://www.meetup.com/dddbelgium/events/219787290/ . Slides 2-13 is a short introduction in DCI, slides 14-18 are some ideas I have about it in combination with DDD and ES.
All 23 classical GOF Design Patterns with illustrations that try to catch some essence of them.
Used in a presentation for Eindhoven Developers, March 17, 2015 http://www.meetup.com/Eindhoven-Developers-Meetup/events/220477660/
Presentation November 13, 2014 at 010PHP, Rotterdam,
http://www.meetup.com/010PHP/events/212147112/
about Event Sourcing:
In many applications the current state is constantly updated, overwriting previous states. Information about the history is lost then. With Event Sourcing you store all events that have led to a change in application state. The current and previous states can always be reconstituted from the series of events that has been stored. That gives lots of possibilities.
I gave an overview of the background of Event Sourcing, with a sidestep to some thoughts about 'identity'. Related concepts, like CQRS and other DDD-jargon, were explained and I briefly mentioned Functional Programming.
After my talk we looked at Broadway, the open sourced project from Qandidate, that provides a PHP infrastructure for Event Sourcing and CQRS. FritsJan Bakker, one of the builders of Broadway, told something more about it and how they used Event Sourcing at Qandidate.
-----
Summary of slides:
* 2-3: while updating, history is lost
* 4: an n:m relationship where info of the past was stored
* 5-7: DDD-jargon: Aggregate and Aggregate Root
* 8-10: Demeter's Law as applied to the Aggregate Root
* 11-17: Event Sourcing, storing past events, like in accounting
* 18-25: about identity (you are the realisation of changes)
* 26: Functional Programming (same paradigm as ES)
* 27-30: CQRS and the bigger picture
* 31-33: Broadway
* 34: Pool Request
Presentation at J & Beyond conference, May 30 2014. Looking outside the Joomlasphere to get some inspiration about techniques to build better software, including Agile, DDD, TDD, BDD, Behat, Doctrine ORM, DCI, CQRS, Client-side MVC etc.
Video of presentation on https://www.youtube.com/watch?v=-6u4aUvCTx4
Behat, Behavioral Driven Development (BDD) in PHPHerman Peeren
In order to improve the software development process you should use the language of the domain you are modeling. Behat, a tool for Behavior Driven Development in PHP, can help in the communication with the domain-expert / product-owner.
All 'classic' 23 GOF Design Patterns, illustrated by Nelleke Verhoeff (Red Cheeks Factory). Trying to show the essence of each Design Pattern, with some examples from PHP.
Second version of my Design Patterns presentation. This presentation was held February 13, 2014 at the 010PHP meeting in Rotterdam. Presentation was in Dutch.
'Art' would be a better category, but cannot be chosen here. These are the slides I used for a presentation in Dutch about the history of Digital Arts Printing, a.k.a. Giclée Print. And about why a print like that could be "art" or not. I compare it with the history of Photography as art.
Presentation & slides in Dutch. Presentation was held November 3, 2013 in Pand Paulus in Schiedam.
Easier building complex applications in Joomla! by adding a mapping layer between the domain model and the database. Some of this might be useful to improve Joomla!'s core.
While building custom Joomla!-extensions I often encountered difficulties implementing one-to-many and many-to-many relations.
Joomla! uses lists and items, where a list relates to a database table and an item to a record in that table. Because the underlying relational database is normalised, fields are atomic: contain only one value. In reality (in the domain) a person can have multiple addresses, an order can have multiple orderlines, a posting can have several comments, a product can have several images etc. Often, fields in our entities are not atomic, but can have collections of values. If we stay close to the one-to-one mapping of lists/items and database tables, as Joomla! natively does, it soon becomes messy when modelling more complex relationships. But if we use a mapping between the objects in our domain model and the database, we can easily use non-atomic fields. The same holds for inheritance mapping: a parent class and child classes can be mapped to a relational database in several ways. The Unified Content Model (UCM) is an example of class table inheritance mapping, where the superclass (core_content) has its own table, as do the subclasses. This opposed to the currently used concrete table inheritance, where every content-type maps to one table.
Fortunately this Object Relational Mapping has allready been extensively elaborated. No need to reinvent this wheel. In this presentation I'll show how I used Doctrine ORM for it. And I'll show how this could be used to improve Joomla!'s core.
If we would start from scratch with what we know now, how would Joomla! look like. From a developers/architectural point of view. Focus on Domain Driven Design.