Support

Forums

Contact Me

Posts Tagged 'development'

Development

Development may refer to: [http://en.wikipedia.org/wiki/Development]

Top 20 Replies by Programmers

Top 20 Replies by Programmers when their programs don't work
 1. "It works on my machine."  
 2. "Where were you when the program blew up?" 
 3. "Why do you want to do it that way?" 
 4. "You can't use that version on your system." 
 5. "Even though it doesn't work, how does it feel?" 
 6. "Did you check for a virus on your system?" 
 7. "Somebody must have changed my code." 
 8. "It works, but it hasn't been tested." 
 9. "THIS can't be the source of THAT." 
 10. "I can't test everything!" 
 11. "It's just some unlucky coincidence." 
 12. "You must have the wrong version." 
 13. "I haven't touched that module in weeks!" 
 14. "There is something funky in your data." 
 15. "What did you type in wrong to get it to crash?" 
 16. "It must be a hardware problem." 
 17. "How it that possible?" 
 18. "It worked yesterday." 
 19. "It's never done that before..." 
 20. "That's weird...." 

Articles tagged

changing architecture of component

As I am in the middle of the development (a little bit more than 60% done) of my PHP Bayesian Naive Filter (a learning filter against spams comment, guestbook, and posting in general) for Joomla/Mambo and after reading some paper found on internet:

  • On Attacking Statistical Spam Filters, Gregory L. Wittel and S. Felix Wu - Department of Computer Science - University of California, Davis One Shields Avenue, Davis, CA 95616 USA
  • A Naive Bayes Spam Filter, Kai Wei This email address is being protected from spambots. You need JavaScript enabled to view it. CS281A Project, Fall 2003
  • But there is more...

I decide that my project will be certainly a failure if I rewrite or reuse a Bayesian filter engine which is not accurate or using the latest countermeasures. Since I do not want to develop during 3 years an effective filter (will I ever be able to do it???), I came across the idea of implementing the component com_bayesiannaivefilter in such a way that I can abstract the core engine and use the work done by the best open source project.

It is also clear for me since the beginning that a spam filter must be trained on a very large data volume (more than 1000 messages, the more the better) in order to categorize the message with accuracy. Webservices will have my preference as an internet entities with the require cpu horsepower and data store should be able to offer the best categorizing messages efficiency....

My component will be able to use following Bayesian Naive Filter core: (planned but not done, I it is technically possible I will do it)

Plugins Remarqs Possible open source project
JAVA I am a J2EE developer, Back to the roots :-) Som. to propose? contact me!
PHP Core done, but very simple tokenization and hashing of message
Volume of data small
Som. to propose? contact me!
PERL Can PHP call perl code? Som. to propose? contact me!
CGI-BIN Should be easy to do Som. to propose? contact me!
WEBSERVICES Should be easy as soon as we found a WS provider
Data volume?
Som. to propose? contact me!

Each technology may contains many core engine, or different versions. I will fill this table with possible candidate (You can heelp me by suggesting or speeding development).

Core requirement:

  • Use mySQL,
  • Most of internet provider allow the use of CGI-BIN, PERL, JAVA

This project will be soon committed to Joomla forge!

Open Source Joomla and PHP development with Eclipse

When Eclipse meet Joomla
 

Project: SolarJoomla
The easiest way to develop component, modules, bots for Jooomla using best of the breed open source software.

In order to speed up development of Joomla software, I am currently developing a developer package "start and ready to work". This package will be release at the beginning of next week (18.04.2006)

Click read more...

Articles tagged

Read more: Open Source Joomla and PHP development with Eclipse

HTTP error status messages

Message Description
100 Continue Only a part of the request has been received by the server, but as long as it
 has not been rejected, the client should continue with the request
101 Switching Protocols The server switches protocol
200 OK The request is OK
201 Created The request is complete, and a new resource is created 
202 Accepted The request is accepted for processing, but the processing is not complete
203 Non-authoritative Information  
204 No Content  
205 Reset Content  
206 Partial Content  
300 Multiple Choices A link list. The user can select a link and go to that location. Maximum five addresses  
301 Moved Permanently The requested page has moved to a new url 
302 Found The requested page has moved temporarily to a new url 
303 See Other The requested page can be found under a different url 
304 Not Modified  
305 Use Proxy  
306 Unused This code was used in a previous version. It is no longer used, but the code is reserved
307 Temporary Redirect The requested page has moved temporarily to a new url
400 Bad Request The server did not understand the request
401 Unauthorized The requested page needs a username and a password
402 Payment Required You can not use this code yet
403 Forbidden Access is forbidden to the requested page
404 Not Found The server can not find the requested page
405 Method Not Allowed The method specified in the request is not allowed
406 Not Acceptable The server can only generate a response that is not accepted by the client
407 Proxy Authentication Required You must authenticate with a proxy server before this request can be served
408 Request Timeout The request took longer than the server was prepared to wait
409 Conflict The request could not be completed because of a conflict
410 Gone The requested page is no longer available 
411 Length Required The "Content-Length" is not defined. The server will not accept the request without it 
412 Precondition Failed The precondition given in the request evaluated to false by the server
413 Request Entity Too Large The server will not accept the request, because the request entity is too large
414 Request-url Too Long The server will not accept the request, because the url is too long.
Occurs when you convert a "post" request to a "get" request with a
long query information 
415 Unsupported Media Type The server will not accept the request, because the media type is not supported 
416   
417 Expectation Failed  
500 Internal Server Error The request was not completed. The server met an unexpected condition
501 Not Implemented The request was not completed. The server did not support the functionality required
502 Bad Gateway The request was not completed. The server received an invalid response from the
upstream server
503 Service Unavailable The request was not completed. The server is temporarily overloading or down
504 Gateway Timeout The gateway has timed out
505 HTTP Version Not Supported The server does not support the "http protocol" version
Articles tagged

Future review of Joomla!® 1.5 Development Cookbook and Build and Manage Applications with Maven, Continuum, and Archiva

apache_maven

Packt publishing has offered me to make a review of two of their new books (Thanks to them). I should receive free samples for review beginning of next week. Since it is two of my favorite subjects (Maven and Joomla!® ), I think it may also interest you. A review will follow in some days.

ApacheMaven2EffectiveImplementation  

Build and Manage Applications with Maven, Continuum, and Archiva

  • Install Apache Maven and follow the sample application to build up your project as quickly as possible
  • Test your applications to ensure maximum stability using Maven's inbuilt tools
  • Use Maven's report and checking tools to ensure the health of your projects
  • Explore Apache Continuum which will help you to ensure the health of your source code
  • Improve your team builds with the powerful combination of Maven, Archiva and Continuum
  • Install and run the repository manager Apache Archiva
  •  

 

Joomla!1.5DevelopmentCookbook

Joomla!® 1.5 Development Cookbook 

  • Make your extensions extensible, add extensions points to allow third parties to customize your extension
  • Create international extensions by enabling multilingual capabilities
  • Build more than just HTML pages - create PDF documents, Atom Feeds, and more!
  • Improve the user experience by adding Ajax
  • Create Atom and RSS feeds to keep users up-to-date
  • Utilize the power of Subversion to maintain your source code
  • Execute database queries and handle returned data in order to access and modify your data
  • Dynamically extend your database tables using JParameter to make your extensions more flexible
  • Keep your gremlins at bay by handling errors the Joomla! way
  • Work with the file system, interrogate existing files and folders and store data in the file system
  • Take control of your workflows by using www.JoomlaCode.org to manage your Joomla! projects

Agile Scrum anti patterns

Really worth reading if you are experiencing Agile Scrum development.

800px-Scrum_process.svg 

I do think AGILE and SCRUM has its place.  It is just that I believe this place is running projects under 5 people and delivery durations of less than 6 months. At that level, employing the right people with the right skills and motivation frequently guarantees that MAGIC will occur. The new media industry proves this everyday, irrespective of approach /method used. Good people always have the potential to overcome deficiencies with methods /approaches and poor management. I have seen it time and time again.

From AGILE /SCRUM Fails to get to grips with Human Psychology.
Posted by Kevin Brady on Thu 17th August 2006 at 03:10 PM, Filed in Software Dev Methodologies,  Key Articles

This is what I would call 

anti patterns for Scrum

I think you can learn a lot more from these anti scrum pattern failures than from success stories. The path to success is narrower than you may think!, and you can be on a parallel road leading to a failure. Take also time to read all the comments, some are really interesting.

What is the most interesting is this article was written in 2006!

AGILE /SCRUM Fails to get to grips with Human Psychology.

Need for Speed? mod_pagespeed from Google

google_logospeedapache_logo

mod_pagespeed is the latest addition to our family of products, performing on-the-fly optimization in the Apache™ 2 HTTP Server. It provides webmasters and web developers that manage their Apache 2 configuration with technology that applies Page Speed performance best practices automatically. Webmasters can get the benefits of the optimizations without having to manually going back and fixing the performance issues that Page Speed detects.

This solution is valid if you do not want to carefully optimize your site, and it come for now at huge initial CPU costs till the cache is filled up. The load on my server has proven to be unacceptable (for me) and I was forced to switch it off. But it may work on your server depending on the page size, number of visitors. Authors are working hard and communicating a lot on the official mailing list to reduce that load and improve the code in the coming weeks

If you trust me, you can download the library module libmod_pagespeed.so for Apache 2.2

from http://drivers.waltercedric.com/

Check before installing the MD5 keys of this file

# md5sum -b mod_pagespeed.so
187995e3623a222ec5b54c331ee7ffaa *mod_pagespeed.so

If it matches, drop it into your Apache library folder /usr/lib64/apache2/

Build Apache module mod_pagespeed yourself

On my OpenSuSE system, I was forced to install first

zypper in gcc-c++

Then read  http://code.google.com/p/modpagespeed/wiki/HowToBuild

you should get after a successful build

  • ./out/Release/libmod_pagespeed.so
  • ./out/Release/install/common/pagespeed.conf

Install the module library

cp ./out/Release/libmod_pagespeed.so  /usr/lib64/apache2/mod_pagespeed.so

Configuration

After installing mod_pagespeed, it can be customized and configured by editing the Apache configuration file

/etc/apache2/conf.d/pagespeed.conf

so you can run

# cp ./out/Release/install/common/pagespeed.conf /etc/apache2/conf.d/pagespeed.conf

Create some directories

# mkdir /var/mod_pagespeed/
# mkdir /var/mod_pagespeed/cache/
# mkdir /var/mod_pagespeed/files

Has to be writtable by apache

chown -R wwwrun:www /var/mod_pagespeed/ 

and finally restart apache

 apache2ctl restart

There is a lot of available settings that are all well explained in this page http://code.google.com/speed/page-speed/docs/using_mod.html

Here is my /etc/apache2/conf.d/pagespeed.conf stripped of all comments as an example:

LoadModule pagespeed_module /usr/lib64/apache2/mod_pagespeed.so

    SetOutputFilter MOD_PAGESPEED_OUTPUT_FILTER
    ModPagespeed on

    ModPagespeedDomain www.waltercedric.com
    ModPagespeedUrlPrefix                "http://www.waltercedric.com/mod_pagespeed/"
    ModPagespeedFileCachePath "/var/mod_pagespeed/cache/"
    ModPagespeedGeneratedFilePrefix "/var/mod_pagespeed/files/"
    ModPagespeedRewriteLevel CoreFilters
    ModPagespeedEnableFilters collapse_whitespace
    ModPagespeedEnableFilters extend_cache
    ModPagespeedEnableFilters combine_css
    ModPagespeedEnableFilters rewrite_css
    ModPagespeedEnableFilters rewrite_javascript
    ModPagespeedEnableFilters rewrite_images
    ModPagespeedEnableFilters remove_comments

# This page lets you view statistics about the mod_pagespeed module. Order allow,deny # You may insert other "Allow from" lines to add hosts you want to # allow to look at generated statistics. Another possibility is # to comment out the "Order" and "Allow" options from the config # file, to allow any client that can reach your server to examine # statistics. This might be appropriate in an experimental setup or # if the Apache server is protected by a reverse proxy that will # filter URLs in some fashion. Allow from localhost SetHandler mod_pagespeed_statistics

Troubleshooting

You may be forced to remove mod_deflate

You can disable mod_pagespeed by adding in the url  ?mod_page_speed=0

Some mod_pagespeed filters

Links

Agile Testing Poster

Agile testing is a software testing practice that follows the principles of agile software development. Agile testing is built upon the philosophy that testers need to adapt to rapid deployment cycles and changes in testing patterns. Providing and getting feedback early, fast and regularly is one of the testers main task.

AgileTestingPoster

From http://bbv.ch/images/bbv/pdf/downloads/poster/bbv12_poster_agile_testing_1.0_web.pdf

You can order a print version at http://www.bbv.ch/de/posterbestellung.html

Find more at http://bbv.ch/de/unternehmen/publikationen.html

Understand Agile Development Methods with the Agile Development Poster

Creating software with the agile development process delivers finished products quickly in fast changing and uncertain project environments. While agile development describes several iterative and incremental software development methods, they all involve continuous planning, continuous testing and continuous integration. (don’t under estimate effort to reach this prior to try to be agile)

All agile development methods focus on helping teams to collaborate and make decisions quickly and effectively. The most popular agile methodologies is now Scrum that is resumed in the poster below.AgilePoster.ai

Thanks to Agile software development, you will be able to accelerates the delivery of initial business value. Through continuous planning and feedback, agile development ensures that value continues to be maximized throughout the development process.

(Version One, 2009)

Antipatterns

AntiPattern: "An AntiPattern is a literary form that describes a commonly occurring solution to a problem that generates decidedly negative consequences.

Donations

Thank You for supporting my work