homecinema

  • apache_maven

    The obvious things to do first in no particular order

    • Use a better build server, CPU power is cheap today,
    • Throw more memory, as Maven run in a JVM the more you have the better it may behave, you may want also to increased the perm gen space,
    • Use the latest  version of JVM!
    • Switch as many plugins as possible as long as there are not needed in the main build loop: Use profile to modularize your build and trigger some additional build/reporting plugins when needed. You want your build to be fast to provide fast feedback to your developers.
    • Optimize your test cases, some may take longer than other, use @BeforeClass or Lazy initialization to cache some heavy to create objects,
    • Tune the garbage collector according to your build behavior, number of CPU core:  use parallel garbage collector for example,
    • Carefully review your dependencies as the less Apache Maven has to load while building the faster it will get.
      • Are they all needed?
      • No duplicates dependencies?
      • Do you miss some <exclusions>? are all these transitive dependencies to your 3rd party needed?
      • No dependencies cycles? check the order in reactor. A developer should understand, and not be surprised by  the order of the modules calculated by Maven (as long as you have layers in your software, you expect some modules to be build before some others) .
    • Review ALL logs files
      • The one created by Maven to avoid any warnings and
      • All your application logs (do you log too much data during the build?)
  • apache_maven

    Maven 2 builds can be quite slow, especially if you are not following the best practices of using Maven in Eclipse. For example if you are not removing all /target directories from version control!

    If you let /target directories going into version control, the following happen:

    • Each full build of the workspace,
    • Each partial build of modules,

    Will clean /target directories, and thus force the SVN daemon to mark files as changed… thus consuming an enormous amount of time and resources (disk IO). You may also have obstructed files, because some developer may have committed some of these target files, but the build may wipe the /target/.svn metadata

    Obstructed files
    In a status operation denotes that the item in the Working Copy being currently processed has a non-expected kind. For example, a file is considered to be obstructed if it was deleted (with an SVN client non-compatible delete operation) and a directory with the same name as the file had had was added (but again with an SVN client non-compatible operation). Typically what Maven is doing in goals clean and compile

    The solution

    Typically it is recommended to hide Eclipse project artifacts and Maven build targets from Subversion/CVS. M2Eclipse like to change the .classpath file (sometimes some entries are 3 times available in this file BUG?), this is one more reason not to commit these files.

    If you use CVS

    First Check in your project using the Eclipse team support (select from the context menu Team > Share Project), but only check what is needed. You should have a .cvsignorefile, prior to commit, with the following entries for each module:

      .project
      .classpath
      .settings
      .wtpmodules
      target

    If you use SVN, you can set the svn:ignore property on all shared module and project by

    • First Check in your project using the Eclipse team support (select from the context menu Team > Share Project), but only check what is needed.
    • Then select all Maven projects and Maven modules,
    • Right clicking on them while selected,
    • Select TeamSet Property
      maven.svn-ignore
    • Enter at least the following entries
        .project
        .classpath
        .settings
        .wtpmodules
        target

    You will see that the specified files and directories are now being ignored by Subversion.

    Note

    1. Eclipse will automatically generate a new simple .project-file/ .classpath-file  when you check out the project from the repository.
    2. I would like to see M2Eclipse being able to automatically remove the target directory from SVN/CVS while sharing…
  • apache_maven

    How to remote debug test cases

    Change the Team city project configuration by adding a -Dmaven.surefire.debug to Maven runner in Additional "Maven command line parameters"

    maven.remote.debug.testcases

    Now when test cases will be executed by maven surefire plugin, the build will wait for a remote debugging application to pick it up on port 5005 and this for EVERY MODULES
    meaning:  If you have 5 Maven modules (= java projects) with test cases maven surefire will request 5 times you to connect with remote debugging to your build server.

    Create a Remote Java Application launcher you'll also share in one eclipse project:

    maven.remote.debug.launcher

     

    Don't forget to remove the -D variable or your daily build may wait for a remote debug connection! or create a special build configuration of your project targeted for debugging purpose.

    Remote debugging Maven plugin

    put into "JVM command line parameters:" these settings:

    -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006

    debug.maven.in.teamcity

    Create a Remote Java Application launcher you'll also share in one eclipse project that will connect to the port 5006.

  • I forgot to blog about this presentation at JAZOON 2008, but I did never forget the added value of this plugin. It is not currently in Apache Maven  core but will for sure find its way as an official plugin one day, since it solve elegantly a common problem: technology management

    Maven does not know the concept of an artifact life cycle. Such life cycle status information would allow to extend the dependency management in a new dimension. One could declare whether certain dependencies are actually allowed/forbidden/restricted to be used in a project, enabling effective technology management.

    Currently a plugin is available to achieve this goal:The AssertDepend plugin. It work by adding metadata, additional xml files in artifact group directory.

    The AssertDepend plugin is a Maven extension to perform effective technology management. The plugin checks at build time against lifecycle states defined in metadata on remote repositories in order to inform the developer about inappropriate technology usage (dependency enforcement). Based on a flag the build would either fail or print a warning.


    Technology management benefits and means

    The capability to manage dependencies and technologies on a mature level is essential for software organizations of a certain size. Technology management becomes a key discipline and must be introduced in a careful way to allow for mutual benefits among its stakeholder including developer, management, and customers.

    Artifact lifecycle management

    To perform effective technology management, you should keep the number of approved artifacts as small as possible. You cannot remove artifacts from the repository if you want to sustain reproducible builds. Therefore, each artifact in the repository should be marked with a corresponding lifecycle state.

    The proposed main states are (but the plugin is not limited, you can create your own)

    • approved
    • prohibited
    • investigating

    With these states, it solve elegantly the following use cases.

    Scenario 1: Flawed versions
    It turns out that my-app-1.4.2.jar contains a serious security issue and is therefore flawed. Clients of this JAR should actually switch to a newer version my-app-1.4.3.jar which fixes the bug and which is safe to use.

    Scenario 2: Decommissioning
    Let's assume that my-app-1.4.2.jar is not supported anymore and projects should actually switch to a new release stream
    (my-app-2.x.y.jar).

    Scenario 3: Restricted usage
    Consider a library which has a restricted set of client projects, e.g. only certain projects are allowed to depend on a specific artifact.

    Usage

    Artifact lifecycle metadata must be placed in a file named maven-artifact-lifecycle.xml in the corresponding group directory. For instance, if you want to define lifecycle information for struts, the corresponding metadata file is located here: struts/struts/maven-artifact-lifecycle.xml

    This plugin can be downloaded at http://madp.sourceforge.net/index.html

  • apache_maven

    The last year, I was at Jazoon 08, and I forget to tell you how good some of their presentation about Maven were

     

     

    Technology management with Maven

    The list of dependencies in a project of a certain size can be very long. New frameworks and libraries emerge at a fast pace, and they often affect that list. Developers and managers have to keep track of dependencies by maintaining dependency repositories, and they have to ensure that the accumulated knowledge is always available in an easily accessible and distributable form.Maven provides effective mechanisms to cope with the breadth of such dependencies. Also, there are tools that help manage artifact repositories in dealing with the information overload often associated with repositories. However, Maven does not support the concept of technology lifecycle (not to be confused with the Maven build lifecycle), which implies that it does not support technology lifecycle handling and storing of knowledge about the quality of a dependency. Read More Here

  •  

    I will list below the Best review of  projector screens I've found, beside this it is really depressive to see Google only being able to return all these online shops with nothing interesting instead of good reviews articles like these:
    1. White, Grey, or Silver - A Review Welcome to my third screen review. This review will demonstrate three professionally manufactured materials that are White, Grey, and Silver. I hope to demonstrate the differences of what these different screen colorations can offer and how you may benefit.
    2. A Screen Showcase & DIY Review Welcome to my second screen review. This review will include lower gain screen materials, what they do, and what they are made of. I see this as a benefit to people because screen surfaces and materials remain a mystery to most. It will include some DIY materials but must be somewhat limited as there are literally thousands of materials to bounce light off of. So, of course, they cannot all be covered here. Finally, at the end, there will be a fun little shootout between some DIY materials and the infamous Stewart Firehawk. 
    3. The High-Gain/Exotic Screen Review  After critically looking at these screens for over 5 days and taking over 200 pictures I must say this was one hard review. There are so many variables, they cannot all be covered here. In the end, it is important to try to achieve the greatest benefit for the environment or viewing you want to achieve. This review will focus on 5 high power screens surfaces and will include 3 lower power for reference only.
    4. to be continued...
  • apache_maven

    build.tools

     

     

     

     

     

    Even if the sample is quite small (600 responses), it still interesting going through these compiled data

    Some time ago we ran a survey asking a few questions about the build process, specifically the tools that are used to do incremental builds and how much time those builds take. We had over 600 responses, so now it’s time to count the results.

    This is the first time that we’ve published results on the incremental build process, so the information is more likely to serve as a guide than an authoritative information source.

    Read More here

  • The perfect remote controller under 250euro?? The logitech Harmony 1000, it can control up to 15 components and has sme nice features. I will probably make a review as soon as it hit the shelves.

    • One-touch activity controls
    • 3.5”  touch screen
    • Rechargeable with the docking station
    • Computer-based set-up,5,000+ brands and 175,000+ devices via USB.
    • Control devices without line-of-sight altrought optionnal
  • Tom Tom homepage  has change today, at least in USA, UK, the french page has not been updated.
    You can see a falsh  demo of possibilities offer by this GPS designed specifically for 2 wheels. I will acquire one as soon as it hit the shelves in switzerland.

  • Here is 3 different way to control the lifetime a local Tomcat 7 container using Apache Maven. A typical scenario would be to start a servlet container prior to running integration tests (Selenium, SAHI or using any other framework you can think of )

    With the following examples, you will be able to start an instance of Tomcat 7 running your web application in the pre-integration-test phase and stop the instance in the post-integration-test phase. You can also decide to use an embedded container like Jetty instead.

  • I will list here all Hacks for Your TomTom

    I RECOMMEND YOU TO DO A BACKUP FIRST BEFORE TRYING ANY HACK!

    All hacks below require a PC, the USB cable and a file explorer to modify some files on the amovible disk.

    Replace the start/stop boot splash images

    Open the file splash.bmp with Your favorite graphic editor (for example www.gimp.org ) and put it under the root of the filesystem. You can like me, add your own background, your pictures and contact informations, just in case it get lost. Moreover many people wont be able to replace the modded picture and that will decrease th value of the device for thief.

    Recover unused space on your card

    You can empty the directory /scripts this directory contains pictures displayed during the demo. Gain: 900Kb

    more soon...



  • Site officiel (shop):

    Sorties prévu: septembre 2005. Essai complet sur mon site dès sa sortie. Je prevoit de l'utiliser sur mon (futur) quad et ma Honda Hornet...

     Caractéristiques techniques :

    • Processeur ARM920T s'exécutant à 400 MHz 
    • Température d'utilisation : -10 à +55 °C 
    • Résistance aux intempéries : IPX7 
    • 64 Mo de RAM
    • Carte SD avec logiciel et plans 
    • USB pour connecter à un PC pour les mises à jour 
    • Batterie interne Lithium Ion rechargeable fournissant environ 5 heures d'autonomie en fonction de l'utilisation 
    • Possibilité d'alimentation à partir de la batterie 12V/24V du deux roues 
    • Micro-casque Bluetooth pour des instructions audio très claires 
    • Récepteur GPS intégré conforme à SiRF Star III avec suivi de 20 canaux « tous visibles »
    • Options de montage pour fixation sur toute moto ou tout scooter

  • Price: 799€
    Price paid: 1159 CHF (753€)

    Click read more to see how to use
    a TomTom device to be warned
    when a street radar is in the area....

     Legislation

    What You risk:

    in Switzerland...if You get catch by a street radar

    in CHF (1CHF = 0.65€)Inner CityOutside CityOn Highway
    > 1 - 5 km/h404020
    > 6 - 10 km/h12010060
    > 11 - 15 km/h250160120
    > 16 - 20 km/hTribunal240180
    > 21 - 25 km/h Tribunal260
    > 25 km/h  Tribunal

    What the law say:

    It is forbidden to use any device that DETECT a street radar in France, so a GPS device do not enter in that category.

     Content of the package

    A lot of bagsOpening religiously all bags...

    The difference in price between a TomTom GO may be explain by the requirement of using a GPS on a motorcycle. But what can explain the difference of price?

    TomTom Rider

    • Has an aluminium case, waterproof, and a lot slicker than a TomTom GO
    • Is shipped with many goodies: textile bag for transport, bluetooth handsets receiver, 2 handsets (one for the cars or street, one for the helmet)
    • Has many fixation systems made of black aluminium...

     Installation

    The first time You'll start the TomTom Rider, You will have to answer a lot of questions: settings preferences, testing bluetooth wireless connections with Your celullar or the headset provided.

    I was encountering problem when I first try to install the bluetooth handset, I decide to look at the firmware revision, what was installed was the 5.410, a quick jump at TomTom in the section download reveal that a version 5.420 was available since the end of november.

    The update take the form of a "big and monolithic exe of 6Mb", wenn You start it, You only have to follow the instructions, It is recommended to do a backup first of all previous settings (user preferences) and to backup the existing TomTom SD cards, for this there is 2 entry in the main menu. It took approx. 10 minutes to backup 360Mb of maps...so it look like USB1.1 data tranfer rate...The connection to my Sony Ericsson K750i has worked like a charm, Contact database and messages has been synchronized without nay effort (Yes You can use your TomTom Rider as a free hand telephone!)

    The installation has run flawlessy, there is really no dfficulty for a non informatician to act with the device, all menu are clear and readable. Personaly I dont not like the awful icons with their limited color scheme. Why Do I have to support then when so much icons are available under GPL? anyway the menu are crips and clear.

    I look carefully at the filesystem backup and found in /TomTom-Cfg a file birthday.txt which maybe may contains when my device has been build: vr 14-10-2005 12:53

     Installing Radars overlay

    Since TomTom 5.0 no additional 3rd party software are needed, POIs (Point of interests) like restaurants, petrol gas stations, golf... are supported by the TomTom kernel natively. POIs are simply a set of GPS coordinate organized in categories along with some metadata like telephone number, internet adress, contact name etc...

    Managing POIsPOIs can be selectively activated on Maps...

    POIs are displayed on a MAP using a technique of overlays.

    • Radars overlays are files with the extension OV2, along with some BMP representing how the overlay catgory look like.
    • Overlays has to be put in the same directory as the map it refer, for example map overlay has to be put in the /france directory.

    For each category of overlay (a category is simply a way to sort all element semantically: fix radar at 100, mobile laser radar are 2 examples of street radar and can e place in 2 categories), You can set when to be warned, (Icon Warn when near POI) usualy by setting the distance in meter when to trigger a sound.

    Select a POI categoryThen when to be warned...

    The table below present You some values which can be taken as a basis, there are base on the distance you may need at 120km/h to adapt to a new speed....

    Your speedRecommended Distance
    20-50 km/h200m
    60-70 km/h250m
    80-100 km/h300m
    110-130 km/h350m
    Mobile Radars300-500m (laser range at 400m)
    Street signal100m

    Then choose a sound, 15 are available,but You can store Your own (WAV format) and use them as well. In case of POI, a bref warning is recommended

    then
    choose a sound DO NOT ACTIVATE THIS OPTION!

    DO NOT ACTIVATE THE LAST OPTION!

    Why? Because You may be not alerted if the GPS do not think You are on the same road as the radar, since the GPS technology and the radars database has an accuracy of +/- 20meters You may be catch by a radar

     TomTom is using Linux!

    What is really interesting is that Tom Tom use heavily Open Source software and redistribute as state by the GPL the modified source code (More to read at www.tomtom.com/gpl )

    • Blowfish (The Blowfish Encryption Algorithm) -> Maybe for encrypting the ROM or some sensitive data like MAPs
    • ClipUtils (The Cohen-Sutherland line clipping algorithm)
    • CoRDiC (Coordinate Rotation Digital Computer)
    • MD5 (MD5 message-digest algorithm)
    • Ogg-Vorbis (Tremor-variable)-> Even If I have found no ogg vobis compatible file, wav seems to be supported through...

     Where to Find POI Radars database?

    in no particular order...

    radars-fixes.com

    Map: France
    Download
    : A free list can be dowmload at www.radars-fixes.com in the download section
    Updates: are available each monday for free
    Legend:

                 
                     

    Screenshots:

     

    radarfalle.de

    Map: France Germany Switzerland, others... (Europe)
    Download
    : A list (<10euro per year) can be dowmload at www.radarfalle.de in the download section
    Updates: Daily!
    Quality of data:

    CountryRadars known
    Germany2938
    Netherland1752
    Italia1351
    Belgium954
    Austria600
    Switzerland479
    Spania478
    France467
    Sweden384
    Norwegen294
    Poland289
    Finnland99
    Portugal35
    Liechtenstein4
    Australia1

    Legend: A lot of icons...

     
                     

    Screenshots:

    Zürich the city where I live: 83 radars!

    gpspassion.com

    Map: France
    Download at
    http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=21763
    Updates are Monthly ("Standard") or BiMonthly (named "+" If You are a club member)
    Quality of data

    * Ventilation: non -par vitesse
    * Parametrage auto: non -
    Oui
    * Revision: 33 -
    33.1
    * Radars Fixes: 580 -
    623
    * Radars Mobiles: 1,000 -
    8,785
    * Radars Feu Rouge: 47 -
    55
    * Radars de Distance: 11 -
    11

    Legend:

                     

    Screenshots:

     

     

    Note about all POI database

    • It is stricly forbidden to redistribute them or package them in another format.
    • I can not provide a directlink to the download
    • There is no gurantee that the data are accurate!
    • Please drive carefully, this system is only to prevent huge loss of money and reduce risks while driving.

     Links

    GPSpassion

    Presentation :http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=9174
    Les Radars - en chiffres:
    http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=9172
    Pour signaler un radar -
    http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=5521
    Les autres collectes-
    http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=5796 

    An exhaustive list of French POIs at www.gpspassion.com

     www.radar.ch

  • tux-droid-linux-companion

    Tux Droid is a Linux wireless Tux mascot (210mm x 180mm x 140mm - with lowered wings) with a programmable interface, allowing it to announce events by its gestures and by ALSA driven sound. The events are detected by specific gadgets, which are handled by the Tux Gadget Manager. The Tux Droid supports Linux kernel 2.4 or later and needs a 800 MHz CPU and 128 MB RAM. It communicates by infrared to the USB port (1.1 or 2.0) and for media detection it needs an internet connection. The mascot is driven by Atmel AVR RISC microcontrollers. From http://en.wikipedia.org/wiki/Tux_Droid

     

    Bamboo is a continuous integration server from Atlassian Software Systems, the makers of JIRA, Confluence and Crowd. Bamboo is free for philanthropic and open-source projects. Academic and commercial organizations are charged based on type of license. Some other features of Bamboo are its unlimited build plans and unlimited projects that provide instant feedback and a platform to collaborate with other team members for build projects, and its ability to run distributed builds. It integrates with existing development tools, and it can be integrated with popular source code systems.

    With this plugin

    You can notify your Tux Droid with your TeamCity build results!

    After login you can find the new notificator Tux Droid in your notification settings. You need your Tux Droid server IP and port  to connect your Tux to Bamboo. After you have saved the parameters you can configure your individual notification settings for just all projects/specific projects/build failures/...

    Each registered User can customize Tux Droid messages or choose different Attitunes.

     

    Some useful resource how to develop a Bamboo plugin with Maven 2

    Plugin will appear soon at

    http://tuxdroid-bamboo.waltercedric.com/

    Note you may be interested by the TeamCity continuous integration server version at http://tuxdroid.waltercedric.com/

  • tux-droid-linux-companionTux Droid is a Linux wireless Tux mascot (210mm x 180mm x 140mm - with lowered wings) with a programmable interface, allowing it to announce events by its gestures and by ALSA driven sound. The events are detected by specific gadgets, which are handled by the Tux Gadget Manager. The Tux Droid supports Linux kernel 2.4 or later and needs a 800 MHz CPU and 128 MB RAM. It communicates by infrared to the USB port (1.1 or 2.0) and for media detection it needs an internet connection. The mascot is driven by Atmel AVR RISC microcontrollers. From http://en.wikipedia.org/wiki/Tux_Droid

    TeamCity is a Java-based build management and continuous integration server from JetBrains, creators of IntelliJ IDEA and ReSharper.

    &160;

    &160;

    &160;

    &160;

    Tux Droid Plugin

    With this plugin you can notify your Tux Droid with your TeamCity build results.

    After login you can find the new notificator Tux Droid in your notification settings. You need your Tux Droid server IP and port&160; to connect your Tux to TeamCity. After you have saved the parameters you can configure your individual notification settings for just all projects/specific projects/build failures/...

    Each registered User can customize Tux Droid messages or choose different Attitunes.

    Attitunes are robot animations you can create combining movement, sound, Text-To-Speech and fun. From functional to fun-ctional. Make Tux Droid sing 'Dancing in the rain' or make him cry when you didn't receive any new E-mail.&160;

    Some quick info

    • Code is GPL v3.0
    • It is version 0.0.1,
    • It is build with Maven 2.0, eclipse project to be available soon.

    For now just visit the official home of the Tux Droid plugin for TeamCity

    http://tuxdroid.waltercedric.com

    Documentation is in my Wiki:

    http://wiki.waltercedric.com

    Moreover, I’ve decided to install and maintain:

  • My own maven repository http://maven.waltercedric.com
  • My own build server&160; http://continuousbuildserver.waltercedric.com/

  • Here is a solution to the following problems

    • Deriving Maven artifact version from GIT branch,
    • Update pom version on GIT checkout automatically,
    • Add the ability to use Pull request with Apache Maven.

    You have a workflow requirement that require you to have the artifact version of a module externally defined from the current branch in GIT.

    For example

    You want to start working on a new feature branch “feature-memory-improvement”, so you branch from master a new branch named feature/feature-memory-improvement

    Having unique snapshot is a something you need to share your code using a Maven repository, so you may want to have into the branch all pom.xml version changed to

    <version>FEATURE-MEMORY-IMPROVEMENT-SNAPHOTS</version>

    changing all your pom.xml and doing a technical commit&160; will create merge conflicts when using pull request!

    One solution, while not perfect is to do the following:&160; You can add a separate execution to run a goal which will change the version of the POM automatically in the Maven reactor. This small script will do it¨



  • The biggest vandalized Street radar section gallery. 

    This page is probably the highlight of the entire site. So long as these cameras are robbing motorists of their cash they will continue to be destroyed.

    While I must condamned it, its fun to see those pictures, and I admit that even If I never have any problem with  the police, like a lot of people, I have many times wish to do the same...


  • apache_maven

    joomla logo vert color

      I will quickly describe in this post how you can code your component/plugins/modules against a specific version of Joomla! with no effort using Maven for PHP.

    The trick I made is to package the whole Joomla distribution in a jar file, and add a Maven dependency to the project. As Joomla, PHPUnit, or any other 3rd party is not a set of class packaged in a jar, the brilliant idea of Maven for PHP is to unpack all these dependencies in the target/phpinc directory automatically AND concatenating this directory to the php setting include_path during compile and test phase. You can do the same using the command line by running:

    php -d include_path=

    That’s also why, It is very important to not put anything from this directory under version control (add a cvs.ignore or svn properties svn:ignore) as it contains dependencies that have no reason to be put under version control in Maven paradigm (they have to reside in a Maven repository)

    So I create a new zip file joomla-1.5.10.jar with a directory inside named ‘Joomla’ that contains a standard binary distribution…this jar is published in artifactory with a groupid org.joomla (arbitrary chosen by me)

    Artifactory will generate a default pom.xml. Normally it should contains more meta data and be created by the Joomla team itself. (if they ever support Maven)

    <?xml version="1.0" encoding="UTF-8"?>
    <project>
      <modelVersion>4.0.0</modelVersion>
      <groupId>org.joomla</groupId>
      <artifactId>joomla</artifactId>
      <version>1.5.10</version>
      <description></description>
    </project>

    The artifact is deployed and viewable at http://maven.waltercedric.com/artifactory/webapp/browserepo.html

    joomla.in.artifactory

    With the code below I can bind my component to a new version or old version of Joomla just by modifying the component pom.xml. Note the version number 1.5.10 (the latest version of Joomla! to date)

    <dependency>
        <groupId>org.joomla</groupId>
        <artifactId>joomla</artifactId>
        <version>1.5.10</version> 
    </dependency>

    Test cases classes are directly in the eclipse project under src/test/php (this directory is created by the archetype php5-lib-archetype), In bold, this is how you can import the whole Joomla! framework!

    require_once ('PHPUnit/Framework.php');
    require_once ('Joomla/index.php');

    //I load the PHP class that I would like to test
    require_once ('admin/class/logUtils.php');

    class LogUtilsTest extends PHPUnit_Framework_TestCase {

    //a poor PHPUNit testcase
    function testisAnEmail() {

            $LogUtils = new LogUtils();
            $this->assertEquals(true, $LogUtils->isAnEmail("This email address is being protected from spambots. You need JavaScript enabled to view it."));
            $this->assertEquals(false, $LogUtils->isAnEmail("cedric.walterwaltercedric.com"));
            $this->assertEquals(true, $LogUtils->isAnEmail("This email address is being protected from spambots. You need JavaScript enabled to view it."));

        }
    }

    More to come soon.

  • apache_maven

     jetty-logo-80x22

    I was getting mad because jetty was refusing to redeploy my static files (xhtml, css) in Eclipse until I find the reason

    The Jetty Web Server provides a HTTP server and Servlet container capable of serving static and dynamic contend either from a standalone or embedded instantiations.

    Jetty buffers static content for webapps such as html files, css files, images etc and uses memory mapped files to do this if the NIO connectors are being used. The problem is that on Windows, memory mapping a file causes the file to be locked, so that the file cannot be updated or replaced. This means that effectively you have to stop Jetty in order to update a file.

    To fix this, add a line with to your maven-jetty-plugin configuration:

    org.mortbay.jetty 
    maven-jetty-plugin 
    6.1.5
       
     ... 
      src/main/resources/webdefault.xml 
     
    

    The default webdefault.xml file is found in the lib/jetty.jar at org/mortbay/jetty/webapp/webdefault.xml. Extract it to a convenient disk location and edit it to change useFileMappedBuffer to false:

     
        useFileMappedBuffer 
         false 
      

    Copy the changed file into src/main/resources/ of your project.

    The problem is explained more in Jetty's documentation.

  • "Team-XBMC and The XBMC Project is proud to announce the release of XboxMediaCenter 2.0.1. XBox Media Center (XBMC) is an award winning, free and open source media player for the Xbox game-console. XboxMediaCenter 2.0.1 point-release source code has now been set in our CVS, and all XBMC users are highly encouraged to upgrade to this version. Know that this point-release version marks the end of the 2.0 era of XBMC, there will be no more 2.0.x bug-fix point-releases. The next point-release of XBMC will be 2.1 (or maybe even 3.0), and it will probably be quite a while before that 2.1 (or 3.0) version sees the light of day with all new major features/functions we have planned for the future, (those who can not wait can always use the latest daily CVS of XBMC). 
    This XboxMediaCenter 2.0.1 point-release is a stable bug-fix version of the XboxMediaCenter 2.0.0 point-r elease, no major new features has been implemented, for a full list of fixed bugs and tweaks please read the changelog. (For a full list of all features/functions and codecs/formats supported by XBMC please visit the "XBMC Features and Supported Formats/Codecs" page in our online manual). Remember, Team-XBMC only maintain the XBMC source code, Team-XBMC does not release or distribute Xbox executable (XDK binaries), but the XBMC source code needs to be compiled with the XDK before it can be used on an Xbox, also note that XBMC requires a modded Xbox to run. Our thanks goes out to everyone who has tested, reported bugs, and helped fix them in order to make this release possible."

    The biggest problem is to obtain the binaries of XBMC, a famous Team T3CH is building binaries (althrough it is illegal to distribute binaries build by M$ development kit XDK). You'll have to search quite a lot and be an advance Google user to find them. Anyway here is a direct link to a download page:

    http://downloads.xbox360-tribe.org/index.php?act=view&id=1024
    Enjoy :-)

    XBMC v2.0.1 Pointrelease by T3ch

    ----- 2.0.1 -----
    - 11-11-2006 fixed: file listings over samba would not display proper dates.
    - 07-11-2006 fixed: in folders wich only contain a video_ts folder, the folder wouldn't stack to a single item.
    - 07-11-2006 fixed: remote number keys must be mapped to buttons in the dvd when in dvd menu, some dvd's make use of that.
    - 07-11-2006 changed: better logging of failed mplayer attempts
    - 03-11-2006 updated: Dutch language file (Thnx to MrNice).
    - 03-11-2006 changed: XBMC.ResetSkinSettings() now resets the settings instead of removing them.
    - 02-11-2006 changed: .flv files default to the dvdplayer
    - 01-11-2006 fixed: [1586248] http api would not show errors for GetSystemInfo and GetSystemInfoByName
    - 01-11-2006 fixed: random slideshow screensaver wouldnt always be random
    - 01-11-2006 fixed: increased the speed of archive extraction a notch.
    - 01-11-2006 changed: additional logging for replay-tv filesystem to hopefully figure out why it doesn't work anymore for mplayer.
    - 30-10-2006 changed: memory allocation for dll loader, saves around 100k
    - 30-10-2006 changed: httpapi GuiSetting to accept String type by EQ2K
    - 29-10-2006 changed: now disables navsounds during playback. behaviour can be reverted using advancedsettings.xml
    - 26-10-2006 fixed: [ 1584930 ] useAvpackSettings broken. thanks to markeen.
    - 25-10-2006 fixed: added some thread saneness to the hddsmart query.
    - 25-10-2006 fixed: [ 1580744 ] Can't Get PC DVD-ROM to Work Properly with Xbox Media Centre
    - 25-10-2006 fixed: cosmetic bug in filemanager handling of rar files.
    - 24-10-2006 fixed: .tbn file support for hard drive foldernames containing periods
    - 23-10-2006 fixed: users with bad luck could end up with errors on initial opening dvd images or dvd's (use of uninted variable). likely the start at 90 min in the movie syndrom
    - 23-10-2006 fixed: potential segfault in libdvdnav.dll if a read returned 0 data.
    - 23-10-2006 fixed: segfault in libsmbclient on invalid dates returned in a directory query (lan drives especially)
    - 22-10-2006 added: httpapi QueryMusicDatabase command
    - 22-10-2006 changed: httpapi SetResponseFormat to take multiple format pairs
    - 21-10-2006 fixed: sets Media Source Name if blank for protocols instead of just being blank
    - 20-10-2006 fixed: fixed the python threading exception when exiting a script
    - 18-10-2006 fixed: resume video didn't work if fps adjustment was used for ntsc video's on pal systems
    - 17-10-2006 fixed: [ 1577855 ] can't handle some rar files correctly
    - 17-10-2006 updated: norwegian language file.
    - 17-10-2006 fixed: forgot to sort images in root of cbr/cbz files.
    - 15-10-2006 fixed: httpapi TakeScreenShot download parameter now works
    - 15-10-2006 fixed: httpapi GetCurrentSlide now returns "[None]" rather than an empty string if no slide is showing
    - 15-10-2006 changed: httpapi Help command text has been updated and now includes a link to http://www.xboxmediacenter.com/wiki/index.php?title=WebServerHTTP-API
    - 14-10-2006 fixed: scanning of multipath bookmarks would not prompt for "scan new" or "scan all"
    - 13-10-2006 changed: keymap.xml: reintroduced 'B' as STOP while in videomenu since we didn't have any way to exit out from dvdmenu with controller.
    - 13-10-2006 fixed: http client wouldn't report failure to open on 404 errors from server
    - 11-10-2006 changed: better solution for multichar ftp listings, wich also fixes issues introduced in last attempt
    - 11-10-2006 added: [ 1574092 ] New Infolabel Musicplayer.DiscNumber, thanks to buttergemuese.
    - 11-10-2006 changed: Added building of Textures.xpr to build.bat, and removed Textures.xpr from CVS.
    - 11-10-2006 fixed: Partymode would repeat tracks if the next song was unavailable (server offline etc.)
    - 10-10-2006 fixed: ftp listings didn't do the string charset -> utf8 conversion. ftp listings are not normally utf8 unless requested (and only a few servers support it)
    - 10-10-2006 changed: Increased the seek timeout in RAR to 30 seconds to fix seeking over CCX with slow connection
    - 10-10-2006 updated: Swedish language file finetuned by Blittan & Pike
    - 09-10-2006 changed: Thumbnail loading in the playlists folder of library view is now background threaded.
    - 09-10-2006 fixed: filenames on fat memory units wich where very long (required >6 vfat entries) would chop of last part in some cases.
    - 09-10-2006 fixed: fat memory units with a sector size different from 512 would not load, now 512, 1024, 2048 and 4096 should be supported.
    - 07-10-2006 updated: Russian language file (Thnx to que_)
    - 07-10-2006 updated: Portuguese (Brazil) language file (Thnx to mvbm)
    - 07-10-2006 updated: Hungarian language file (Thnx to sigismund)
    - 07-10-2006 updated: Hebrew language file (Thnx to ookladek)
    - 07-10-2006 updated: Dutch language file (Thnx to MrNice)
    - 06-10-2006 fixed: Setting of viewport (for cropping scrolling text etc.) was not rotated correctly. We now use the rectangle that contains all the rotated coordinates.
    - 06-10-2006 fixed: http urls pointing to nonexisting files would lockup on some servers due to them not returning an error
    - 06-10-2006 fixed: ftp browsing with files/directory with non valid html url names, would fail.
    - 05-10-2006 fixed: Changed RSS speed to a multiple of 0.5 pixels/frame for improved smoothness.
    - 05-10-2006 fixed: [ 1571200 ] Arial.ttf subtitles not using subtitle position.
    - 05-10-2006 fixed: Potential RSS control crash when removing the control while it's updating.
    - 04-10-2006 changed: Z: is erased on boot, due to many issues if it was full.
    - 04-10-2006 fixed: Seekbar, Volume bar etc. would be unloaded when exiting from fullscreen video, causing them to vanish.
    - 04-10-2006 fixed: Reloading skin while in My Music Songs would cause the progress dialog to show endlessly.
    - 04-10-2006 fixed: memory stick shares were chooseable in the Add Source browser, even though they're plug n play.
    - 04-10-2006 fixed: special:// protocols (eg musicplaylists, cdrip etc.) always showed network overlays, even if they were local.
    - 03-10-2006 fixed: Huge playlists would cause major GUI slowdowns whenever track was changed from the Now Playing window.
    - 03-10-2006 fixed: Toggle button showed the incorrect label when using <usealttexture>
    - 03-10-2006 fixed: the feh and the userdata wiping didn't quite work as expected (i.e. it didnt work at all).
    - 03-10-2006 fixed: if you canceled the 'scan all / scan new' dialog in the music window, it would still scan.
    - 03-10-2006 fixed: ftp playback in mplayer where broken due to yet another url parsing mistake
    - 03-10-2006 changed: Scrollspeed of RSS feeds the same in all resolutions.
    - 03-10-2006 fixed: [ 1568300 ] Add/Edit Source Dialogue Remove all Paths bug.
    - 02-10-2006 added: [ 1568369 ] Fix for strange characters in web interface. thx to benmat!
    - 02-10-2006 fixed: [ 1568845 ] Unable to access Delete from context menu
    - 02-10-2006 fixed: don't allow preset locking if the visualisation has no presets.
    - 02-10-2006 fixed: [ 1561317 ] Browse and load RAR:ed subtitles don't work. also added zip support.
    - 02-10-2006 fixed: browse for artist thumb was a pita.
    - 01-10-2006 fixed: [ 1568291 ] Saving large playlist fails
    - 01-10-2006 fixed: [ 1568607 ] XBMC 2.0.0 Web Control bookmarks
    - 01-10-2006 fixed: [ 1568158 ] "Leave as Is" LED setting broken
    - 30-09-2006 fixed: shoutcast genres with characters that isn't allowed by http urls, would fail du to a huge result. ex R&b.

  • This page Media Center with XBMC first publish on 2004-08-26 seems to have been a great success since more than 109237 visitors have read it.

    I have many prestigious referer pointing to it like xboxmediacenter.com itself ;-)

    I make U a promiss; if the XBOX360 is ever moddable (teamxecuter is on it. a release may happen in weeks or months). I will publish a step by step tutorial here

    In beetween. You can still send me suggestions on how to improve the article. It is currently not uptodate but still useful for many

    {mosgoogle}