Time to Updating The Outdated Education

ted talks logo modified.fw Since I was a child and up to my adulthood, a question always popped my head: “Why the educational system in which we are raise up, suck so much?” It sucks from the moment you get inside and keep sucking even when you are at the university.

Doesn’t matter where you go, the system is the same. A system that invited students to quit learning and just focus them on following a “script”. A system which destroys all the motivation that students could have in learning to just made them focus on getting “good grades” or being punish otherwise. A system that doesn’t reflex the natural way of learning. This made me always to fix the educational system.

For me  being an educator is to have fun finding new ways to transmit the knowledge to the next generation in hopes that they can go further us.  I had help many friends and strangers and always made me happy that they could get to my level faster and keep going. For years, I always wanted to educate the next generation in a different way.

Many told me to become a  a teacher or even a professor; however, I cannot do that because I cannot work on a system that is outdated and doesn’t wish to change. A system that will destroy my motivation restrict me and crush me. A system that is all about politics and not education. I had witnessed what happens to those who wish to become instructors and get trained. They become one more of the bunch. Of course, there are exceptions but they are few.

I have lost of being an educator until a few days ago. I was watching some videos related with education at TED talks (http://www.ted.com/playlists/24/re_imagining_school.html). A series of 12 videos that pointed out some ideas of how to improve education. These talks confirmed my believes that to change education, the only way to do it is from outside. These talks motivated me again to follow a path that I quit long time ago.The path to find new and exiting ways to educate.

A new kind of revolution is needed now. One that focus on new ways of educating. A flexible and stronger system using what we know today about the human mind and use it in favor of educating the next generation. It is time to say “enough is enough” and stop these fiasco we called educational system and replace it with something new. I am glad that I am not the only one out there wishing for this to happen. I though that I was alone but I am not.


IBM WebSphere Cast Iron: Integrations and/or Jobs Stuck: Solution


If you are having troubles with jobs that are not stopping (stuck in cancelling state), or the integrations are stuck in starting or stopping state plus the appliance is slow and the resources are being eating away, follow the next steps:

  1. Login using Putty
  2. Execute the following command: system clean running orchmon
    This command will remove any current running jobs and deletes the job logs to clear up resources. Even do the appliance will not be restarted, the web interface will be restarted.

This will allow you to clean the appliance without having to restart or reboot it. However, all the log information you were storing will be wipe out.


ColdFusion : Error Handling – Part 1

NOTIFICATION: These examples are provided for educational purposes. Using this code is under your own responsibility and risk. The code is given ‘as is’. I do not take responsibilities of how they are used.

Errors are unforseen. They are a result produced by coding and they are unplanned and/or unanticipated by the developer.
However, we can manage these errors and used them to our advantage.

Errors are handle by the server is the following fashion:

  1. The first level are the system errors.
    System error are generated when some components are not working properly.
    For example, if your application requires access to a database and this database is at a server which is down, then this could generate your application to fail.
  2. The second level are the code level errors. These errors (or exceptions) include logic, syntax and other type of errors that we will see later
  3. The third level of errors are at the application level
  4. The last level of errors are at the server level.

Error Flow Diagram:

Figure 1
Figure 1

As you may notice from the figure 1, we have a classification for all the errors that can be generated:

  1. Logic: These kind of errors are generated from some fault in the design of the code.
    For example, you could have an infinite loop:

    <CFSET counter = 0>
    <CFLOOP CONDITION='counter GTE 10'>
            Counter: #counter# <BR/>

    This loop will work while the counter is not greater or equal (GTE) to 10.
    The problem is that there is no part of this code that increases the counter.
    Since the variable counter is always 0, the loop is considerate infinite and can affect the server

  2. Syntax: These errors are related with misspelling, invalid data types, invalid parameters, and everything related with the language syntax. This kind of errors are caught on the application server and server level.
    For example:

    <CFOUTPUT QUERY='yourQuery'>
        <CFOUTPUT>Count of Records: #yourQuery.recordCount# <BR/></CFOUTPUT>
        <CFOUTPUT>#yourQuery.nonExistentField# <BR/></CFOUTPUT>

    The second like is going to work; however, the third line is asking for a field that doesn’t exist in myQuery structure.
    Another Example:

    <CFOUTPUT QUERY='yourQuery'>
        <CFOUTPUT>Count of Records: #yourQuery.recordCount# <BR/><CFOUTPUT>

    Here you are forgetting to close both CFOUTPUTs.

  3. Runtime: These are unforseen conditions such as data type mismatches, out of scope issues, server-side form validation errors, etc.
    For example:

    <CFPARAM NAME='user_age' default='My name is Alejandro'>
    <CFPARAM NAME='legal_driving_age' default=21>
    <CFIF Int(user_age) GT legal_driving_age>
        <CFOUTPUT>This user can apply for a regular driving licence</CFOUTPUT>
        <CFOUTPUT>This user cannot apply for a regular driving licence.</CFOUTPUT>

    This example fail on: <CFIF Int(user_age) GT legal_driving_age>
    Because user_age is a string without numbers while the function Int() is expecting a string with number.
    Since Int() cannot convert the string, a runtime error will be generated.

    There are three way to caught these exceptions which we would see later:

    1. Via code-level
    2. Via application-level
    3. Via server-level
  4. Validation: We can see validation errors as of the runtime errors that we are going to have to deal with.
    This kind of erros happens when Coldfusion server-side form catches a problem with the submitted data.

    <FORM ACTION='process.cfm' METHOD='POST'>
        <INPUT TYPE='text' NAME='age_integer' value='only text, no integers here'>
        <INPUT TYPE='submit' value='Submit' />

    You may ask: where is the error here?
    Well, in coldfusion we can do integer validation of the input by adding “_integer” to the name of the input field.
    In this case, “age_integer” means that we have a input name “age” which should be validated for integers.
    Since the value is “only text, no integers here” which is pure string, this will fail the validation. 
    For more information you can go to the following link:

    Lets clarify that these kind of errors can only be caught via error handlers at the aplication-level.

  5. System: Errors related with the system are always about inaccessible databases, unavailable resources, incorrect or invalidly configured servers, and file system errors such as lack of permissions.
    For example:

    <CFINCLUDE TEMPLATE='non_existent_file.cfm'>

    These errors can be caught:

    1. Via code-level handlers
    2. Via applicatoin-level handlers
    3. Via server-level handlers
  6.  Request: These errors occurs when the client request for invalid resources not available from the server side.
    Example:Such errors can be caught via server-wide error handlers.

Notes: Operative Systems – Part 9

< Previous (Operative Systems – Part 8) | (Operative Systems – Part 10) Next >

NOTIFICATION: These notes are published for educational purposes. Using these notes is under your own responsibility and risk. These notes are given ‘as is’. I do not take responsibilities for how you use them.

PDF Content:

  • File system
  • Inodes
  • Data blocks
  • Directories
  • UNIX i-node structure
  • Symbolic links
  • Disk free space (block) management
  • File system cache
  • Data structure for file system cache
  • Performance impact of i-node placement
  • Log-structured File System (LFS)
  • Input/Output sub-system
  • Memory-mapped I/O
  • Direct memory access (DMA)
  • Interrupts revised



< Previous (Operative Systems – Part 8) | (Operative Systems – Part 10) Next >


Notes: Operative Systems – Part 8

< Previous (Operative Systems – Part 7) | (Operative Systems – Part 9) Next >

NOTIFICATION: These notes are published for educational purposes. Using these notes is under your own responsibility and risk. These notes are given ‘as is’. I do not take responsibilities for how you use them.

PDF Content:

  • Memory management
  • Memory reference
  • Mapping
  • Physical address
  • Page directory
  • Page table
  • Page frame
  • Directory field, page field, offset
  • Segment table
  • Dead lock
  • File System (FS)
  • Common file attributes and operations
  • Mapped files
  • Hierarchical directory systems
  • File system layout
  • Implementing files



< Previous (Operative Systems – Part 7) | (Operative Systems – Part 9) Next >