Information Technology (IT)
Sam Eldin - IT Profile
                           

Developer Skills
Owing your own company with limited resources forces you to be creative and supper efficient. When it comes to coding there is no choice, but to be able to code end-to-end including Linux or Unix scripts, Makefile, pipes, etc. Object Oriented Design, frameworks, templates and code segments, tests scripts and training material become household items. This also demands building good documentation with running examples and training material. The next issue is that everything you had built must be integrated with ease into any clients' system, technologies and teams. Building intelligent system is an added tool in these integration. Not to mention, you are competing with companies such IBM, Microsoft and all the offshore consulting companies and their resource. Searching the internet and open source become the quickest tools for being update and saving time. Sadly open source comes with a price such as costly vendor support or running into issues which you do not know what are the causes.

I have been coding for over 18 years and I am not interested in coding day-in-day-out. I believe my skills should be used to technical lead, architecting and technical and project management. I am willing to code complex components, where my experience and knowledge would properly be utilized.

The following are code which I posted in my SamEldi.com and other sites.
Note:
Some of these code qualify as Core Java and some may need updating. Nevertheless, they demonstrate my ability to code, trace-debug code, document as well as mentor:


       Excel Sheet-DAO-XML Data Exchange Seed Framework
       Unix Code
       Java-SQL
       JavaScript and Servlets
       String Manipulation
       Conversions and utils
       Swing

go to top
Excel Sheet-DAO-XML Data Exchange Seed Framework
Our First Intelligent CRM Metadata (ICM) Seed Framework:
We have built our "ICM_DB_TestComponents" project using NetBeans. We had chosen excel sheets as the project first input data for a number of reasons. First, most companies have thousands if not hundreds of thousands of excel sheets with critical data which is a big part of the Big Data dilemma. Excel sheets have no fixed standards in their creation or format, therefore they bring to our parser and converts the biggest challenges. Having copies of excel sheets to test our parsers and converter do not require any special effort as in the case of databases. Also excel formulas can be used in making our DAO an Intelligent DAO (IDAO).

The following are the actual code of our for "ICM_DB_TestComponents" project.
We created our first Parser-Converter Java code and we called "Using Business Rule #1".

The following are our "ICM_DB_TestComponents" project input-out files and Java code files.
We welcome any feedback or comments and our contact email is: Sam@SamEldin.com

Input Files:
       1.     SimpleInputExcelSheet.xlsx
       2.     BusinessToken_ID.txt

Java Constant Classes:
       1.     MainConstants.java
       2.     SOAP_XML_Constants.java
       3.     ExcelDAO_Constants.java

Package: Java DAO Classes - unstructured_data_idao:
       1.     ExcelCellMap2DAO.java
       2.     ExcelColumnMap2DAO.java
       3.     JavaCodeGeneratorDAO.java
       4.     OneRow_ExcelCells.java
       5.     TokenValueDAO.java

Package - unstructured_data_parser:
       1.     ColumnCellParserUsingBusinessRule_1.java
       2.     Convert2DAO_Class_UsingBusinessRule_1.java
       3.     DAO2SOAP_XML_Converter.java
       4.     DAO_ClassLoader.java
       5.     DAO_DynamicCompilation.java
       6.     Excel2DAO_CellParserBusinessRule_1.java
       7.     Excel2DAO_Mapper.java
       8.     LoadTokenValueArrayList.java
       9.     ParsingSOAP_XML_MessagesFile.java
     10.     RowCellParserUsingBusinessRule_1.java
Output Files:
       1.     SimpleInputExcelSheetDAO.java
       2.     SimpleInputExcelSheet_XML.xml
       2.     Debugger Tracking of Input and Output
javadoc:
       1.     ICM_DB_TestComponents javadoc link

go to top
Unix code
The following are some of my review material and code as refreshing tips sense I am using Unix or Linux on/off as needed.

    1) Bourne Shell Commands 2) Starting Unix 3) UNIX Directory Struture
    4) Intoduction to SHELL PROGRAMMING 5) First Shell Script 6) Unix Shell Loops
    7) Case Statement 8) Change Premission Unix Script 9) Java and Makefile
    10) VI EDITOR 11) Unix PIPES 12) Ant Example -Under Construction


go to top
Java-SQL
The following are some of review material and code as refreshing tips for SQL code. Also cut/paste our these code. These code help with quick syntax look up.

    1) Alter.java 2) Batch.java 3) BD_Connector.java
    4) CHECK_Constraint.java 5) Constants.java 6) CreateNewTable.java
    7) DatabaseKeysPropertyManager.java 8) DateStringConverter.java 9) DB_Constants.java
    10) DB_QueriesPropertyManager.java 11) DeleteRowsFromTables.java 12) Distinct.java
    13) Enum_LIKE_Search.java 14) If_exists.java 15) InsertSQLStatements.javas
    16) LIKE_Percentage.java 17) Modify.java 18) ON_DUPLICATE_KEY_UPDATE.java
    10) OrderBy.java 20) ROWCOUNT.java 21) SelectSQLStatements.java
    22) UpdateSQLStatements.java 23) UPPER_COUNT.java 24) SQL_OuterJoin.java
    25) AS_Aliases.java 26) CASE_Expression.java 27) MathOperations.java
    28) Count_Select.java          


go to top
JavaScript and Servlets
JSP, Session, JavaScript, Import Page Directive, Forms and Servlets were my choice in building browser-servlets code. The following is a small sample to demo the flexibility of such code.

    1) AddSearchSamLinks.jsp 2) DatesFields.jsp 3) MyTestjsp.jsp
    4) MyUploadDocs.jsp 5) DeleteMeetingDatesServlet.java 6) DocumentServlet.java
    7) DocumentServletUpload.java 8) SaveSearchSamLinksServlet.java 9) TestUploadMultipleDocuments.java
    7) Constants.java 8) SessionExample.jsp 9) PropertyManager.java


go to top
String Manipulation
Strings are sequences of characters and string manipulation is key when dealing with strings. Java has number of built-in APIs that developers may use. Most of interview questions about strings targeting some of the code in the following list of Java classes.

    1) ReverseString.java 2) StringManipulationDateConversionServices.java 3) DateStringConverter.java


Coding Questions:
Implement code to calculate the value of string “-123456.89” or “123,456.789”. Make your code extensible and able to parse all strings that can be converted to a numerical value. Do not use or assume availability of Java parsing libraries.

     1)     ConvertString_2_NumericalValue.java

Implement code which will calculate the value of 2^(3^(4^(5^6))) two different ways. Do not use or assume availability of math function libraries. For note, this is a mathematical and not a bitwise operator.
As an example, 2^3 = 8.

We coded this question with:
Coding using String Parsing

     1)     Calculate_X_Value_2_Power_Y.java

Coding using Nodes Linked List

    1) ValuePowerDataObject.java 2) ValuePowerNode.java 3) CreateCalcList.java


go to top
Conversions and utils
The following is a number of conversion and utilities which often used in projects.

    1) CopyFile.java 2) DatabaseKeysPropertyManager.java 3) DateStringConverter.java
    4) EnumerationExample.java 5) EnvironmentPropertyManager.java 6) FileUtilities.java
    7) Log4JManager.java 8) PropertyManager.java 9) StateCodeConversion.java
    10) StateIntValue.java 11) SystemDefaultsPropertyManager.java 12) SystemUtilHashtable.java


go to top
Swing
The following was part of training course on Java swing and Design Patterns.

swing - command_pattern_w_objects

command_pattern_w_objects

    1) Command.java 2) Command_1.java 3) Command_2.java
    4) Command_3.java 5) CommandPanel.java 6) CommandsPerformer.java
    7) CoreCommandsPerformer.java          


swing - behavior_patterns.command_pattern_w_menu

command_pattern_w_menu

    1) Command.java 2) CommandObject.java 3) CommandPanel.html
    4) CommandsPerformer.java 5) DummyObject.java 6) NestedMenu_CoreCommandsPerformer.java
    7) One_Item_1.java 8) One_Item_2.java 9) One_Item_3.java
    10) Three_Item_1.java 11) Three_Item_2.java 12) Three_Item_3.java
    13) Two_Item_1.java 14) Two_Item_1_1.java 15) Two_Item_1_2.java
    16) Two_Item_1_3.java 17) Two_Item_2.java 18) Two_Item_3.java


swing - structural_patterns_pdf_facade_pattern

command_pattern_w_menu

    1) Command.java 2) CommandObject.java 3) CommandPanel.java
    4) CommandsPerformer.java 5) DesignPatternLesson.java 6) DummyObject.javas
    7) PDF__CoreCommandsPerformer.java 8) PDF_Base.java 9) Product.java
    10) TextBaseProduct.java 11) TextImageBaseAssembler.java 12) TextObjectDisplayer.java
    13) TextObjectProducer.java