Friday, August 13, 2010

ِAgile Approach

I liked this humanistic based Development
"Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan" [1]


[1]Beck, Kent; et al. (2001). "Manifesto for Agile Software Development". Agile Alliance. Retrieved 2010-06-14


Thursday, March 4, 2010

PfSense for Load Balance and MultiWan

Many Articles in the web telling how to make Multi Wan Connection for load balancing; one of them http://doc.pfsense.org/index.php/MultiWanVersion1.2
It actually describes the procedure well but one of the problem you would find when one of the WAN lines fail, there will be no Internet connection.
The reason is not because LoadBalancing fails but because DNS servers were not identified in the DHCP service.
Also I have to highlight that for Firewall rules...
  • Rules are evaluated in Top-Down approach at first match basis where there is a DenyAll is hidden in the most down .
  • Uses state; that means if a user requests a service from outside and it is permitted in the inside inteface, no need for declaring a rule in the outside interface.
  • Rules are identified in the inbound direction of interfaces.

CARP

"Common Address Redundancy Protocol" = Clustering
  • More redundancy for high availability.
  • Originally deployed under FreeBSD.
  • Seen when installing and configuring PfSense firewall.

Thursday, February 11, 2010

No restart again for completing updates



The real meaning of HA is done through ksplice
Have you ever get annoyed because you are in the middle of work and your operating system asks you repetitively to rsetart to apply updates?
with Ksplice, no restart is required. It does an in-memory operation to update kernel.
Many definition would be changed of service management such as testing/development environment and production environment for applying patches.
It is free for Ubuntu user editions and costs nearly 4$ a month for server editions.
have a look: http://www.ksplice.com/

Wednesday, September 2, 2009

Statement

The world tends to be fictionable...
Tricorder, Claytronics, Nanorobots....
Will I have a hand on these???!

Friday, May 22, 2009

Programming Languages Generations "Programming Levels of Abstraction"

Programming Languages Generations "Programming Levels of Abstraction" 
  • 1GL: First Generation progrmmming Language which is about Machine Language and it is read directly by CPU and almost nobody programs with it.
  • 2GL: higher Level of Abstraction and contains the different types of Assembly languages which depends on the computer architecture.
  • 3GL:  more enhancement in the 2GL to be reusable and more user-friendly such as C, Fortran, Java.
  • 4GL: Domain-specific prgramming Language used for Rapid Application Development "Drag & Drop fashion, templates with customization", it is an umbrella term contains many languages such as LabView, Matlab, PL/SQL etc.; it concerns with these objectives Codeless,  Problem Solving and System Engineering.
  • 5GL: The highest level of abstraction which is based on the contraint programming rather than coding algorithms such as Prolog and Mercury.
What I can conclude is that, even if it seems the natural development of programming languages is to be a higher level of abstraction, I think the Highest generation will combine both lowest and highest level of abstraction together in a cyclic hybrid fashion not a finite timeline as may others thought. Therefore, if 6GL will be existed, it will concern about an application template that can be customized for acertain need in a domain and in the same time can be modified to achieve a puropse of another domain.

Wednesday, May 6, 2009

The Lively Kernel

A new web technology that has alot of features of OOP and provide the scalability of desktop programs on a browser... this technology depends on javascript mostly