update the content of XML file based on certain conditions

I received a XML-structured data file. There was no SCHEMA or DTD available. Only data.

XML file held data that was attached to a menu-interface of a product. XML file carried the correspondence of translations in between different languages.

The objective was a solution that would update the content in the XML file, where translation did not exist, with the translated string read from an external file. For ease of handling the external file would possess the format of .csv or .txt.

Technical perspective of final solution:

  • Programming: C#, .NET 4
  • Arhitecture: Console Applications, WPF
  • Other: XML, LINQ

Functionality achieved:

  • user runs solution and exports a list with all lines that do not have translations, as well  with the appropriate attributes of these XML elements for proper localization in the XML tree structure
  • user runs solution and imports the list  from above, after translations have been filled in that list. Solution fills in the XML file with the missing translations at their appropriate locations, by reading their respective attributes from the text file

solution for daily meetings via INTRANET

Once per day, the operational management summons for a quick and precise discussion that concerns the daily topics of conducting each one’s activities. Activities from one department are bound to activities from adjacent departments, hence communication is paramount in order to ensure the proper way of attaining the objectives at the end of the day.

3D Man synergy

Technical perspective

As I needed to cope with an unknown definition of relatively heterogeneous hardware, I have phrased a client-server solution that works universally by means of a browser application container.


The technical implementation went  through:

  • Client side scripting : Javascript, jQuery and html2canvas js library
  • Design scripting : HTML 5, CSS 2.1 ( I used only a small portion of the new CSS 3.0)
  • Server Side scripting: ASP.NET 4.0 ( with the code in C#)
  • Hosting environment : Microsoft IIS 7.5+ (No need for databases for the current version as it uses localstorage
  • feature of HTML 5 and Javascript to handle the saved data)
  • Recommended client working environment: fully tested on Chrome browser version 50.0.2661.87
  • Recommended screen resolution: 1920x1080px


Do you think Pluralsight is better than YouTube?

I have started myself by searching the free stuffs that I could use to learn. The web gives you a plethora of solutions to get the information, but there is time that makes the difference in what concerns the selection of the appropriate learning materials, possibilities for a hands-on practice and eventually exercises ( solutions ) that one can get his hands into.

Information is available through google and the witty use of its search operators like “filetype:pdf” or /mobi/azw/etc or bittorrrent applications. The problem is that you find yourself crammed with tons of pdf books and you do not have a method to structure the study.

It should start with the basics, eventually it should make analogies with something you already know. Then it should give you the feeling of confidence that comes out of understanding and applying the stuffs you learnt. Last , but not least, the learning process should consist in producing a scenario in which you should apply what you learnt up to that particular moment. Best if  the scenario is a real world application of what you learnt into something you need to fix.

Youtube and all the free stuffs will not provide you more than the raw information. You should be ambitious and you should have time to structure the information in order to apply the path I previously described.

In a lifetime case, you have to get things done and you will not have the time to go along with the study as you did during your school time. By weighing things you are going to realize that Pluralsight and similar (Lynda) are worthy of the money you spend.

My piece of advice , the money spent on online training ( Pluralsight and Online Video Tutorials & Training ) is money well spent. If you wish to focus on the study and use the two tools you will find a fast way forward, eventually in a parallel-like comprehension of technologies ( ie you are writing a bash script, while you are going on with a macro in VBA and you are completing some WebForms application in ASP. NET )

I wish you success and good luck with your career.

ABC Classification of Items in current inventory by procurement

Tools: SQL Server Management Studio, T-SQL, SQL Server Reporting Services, INFOR LN ERP

Parameters: Year (Time period), Lower value and Upper value for ABC classification

Description: The study applies with the Counter of Purchase Order Lines and the Sum of Amounts in Purchase Order Lines during the time period. The interpretation of data from the classification reveals strategic hints regarding the business.

e.g. by correlating the absolute values and percentages relative to totals over consecutive time periods one can infer judgements like:

  • whether the line of business is changing or maintains same direction
  • whether the procurement chain has been optimized (cheaper material replacements, better suppliers)
  • what is the general trend of prices concerning raw material of a certain unitary value (category)  in the industry


ABC Classification by unit price for Procurement

Tools: SQL Server Management Studio, T-SQL, SQL Server Reporting Services, INFOR LN ERP


  • Compute the total amount spent on Purchase Order Lines with an “ABC Classification” according to the distribution of unit price values relative to a pair of set reference prices (Lower value and Upper value) .
  • Count the number of Purchase Order Lines according to their ABC Classification  during a defined time period.

I have presented the extracted information in:

  • absolute numeric values (tabular format) and
  • percentages relative to  total values, depending on the report, either sum or count  (graphical representation)




Marketing Manager for 6 months

Just as I quit going at sea (2007) I have been into the hard situation to find a job ashore in a city where practically the maritime transport industry  did not exist. To make it preciser ,when I refer to maritime transport industry I  am saying about  harbour(port) infrastructure, maritime transport trade and navigational jobs.

I had to adapt to the framework where I was living. I have followed along job openings in the local newspapers until eventually I spotted an add which regarded a position of Marketing Manager inside a small company that sold cosmetic products from Israeli producers. For me I should have had:

  • to use the experience I had gained at sea with communication, organization of people
  • to apply the theoretical marketing  knowledge I had learned during my 2nd University studies ( Faculty of Economics, University “Dunarea de Jos”, Galati )
  • to apply to knowledge regarding Raster graphics and Vector graphics pieces of software

I knew about raster and vector graphics. I had a period  a while ago ( after I graduated and until I went at sea ) when I had undertaken freelance projects from www.rentacoder.com ( now https://www.freelancer.com ), mostly by means of HTML, CSS, Adobe Photoshop and Adobe Illustrator tools.

I joined the company on the position of Marketing Manager. The company’s offering comprised a range of professional cosmetic products, with point on anti-aging and anti-wrinkle products. The brands belonged to Jeunesse, Danielle Laroche and Organix, produced by B4You Israel.

The company was a newborn on the Romanian market. During my 6 months time my mission was:

  • to build a visual identity for the products,
  • to maintain the management of the Sales Representatives (track customer visits, follow-up expenditures)
  • to keep a close communication with the established Sales Channels
  • to organize the participation of the company at exhibitions
  • to select and invite potential business partners
  • to identify professionals ( cosmeticians )

I quit the Marketing Manager position when I was proposed a new position at Lacon Electronic, under better conditions.

My assessment at the time included the opportunity of  future personal development, it was not limited to the pay scale.

Business Procurement analysis

Tools: SQL Server Reporting Services, Transact-SQL, SQL Server Management Studio, Infor LN ERP

Scope: one calendaristic year, taken as parameter when executing the report.

Description: Analysis of the procurement activity during one year’s time. Compute the total amounts spent by grouping the Purchase order lines under the following criteria

  1. Main Item Category ( Type of Item )
  2. Item Functional Category ( Refinement of Main Item Category, the particular destination of a given item)
  3. Manufacturer of the Item
  4. Supplier(s) of the Items ( where the item was purchased from during the given year)

Subtotals accounted downwards, at each grouping level. Main Item Category and Item Functional Category do not exist in the live ERP database. These are set programmatically  according with the description received from Top Management and they refer to the Item Groups table from Infor LN ERP database.

Screenshots available below, click to enlarge view




2 years at sea

I have been about two years at sea . This is where I began my career.

During this period I have performed Navigational and Officer of the Watch(OOW) duties for cargo ships sailing worldwide.

I enrolled under British, Danish and Italian shipping companies.

I served on general cargo ships (10500 dwt), as well on oil and chemical tankers  ( from 4000 dwt to 30000 dwt ).

The longest time I served onboard a vessel was 7 months.

I worked with crew mates of british, italian, filipino, romanian, polish, russian, thai and african (Benin, Togo and South Africa) nationalities. It’s been a cross cultural environment. I have had lots of friends on every vessel I boarded, because it is hard to live without friends at sea. Of course, not everybody can be trustworthy enough to be your friend, but you can easily find for yourself the persons you can trust.

Two years is not much and not enough. The peak of my tiny sea-career was the employment with A.P. Moller–Maersk. During my staying onboard the Maersk group I have been an employee of Maersk Tankers and I sailed with MT Maersk Bristol and MT Maersk Belfast.

Maersk is large company, with a corporate culture and a multinational working environment. I learned and, as of today, I have not forgotten their core values, which I wish to quote here:

  • Constant Care : Take care of today, actively prepare for tomorrow.  What it means as a core value: Forward thinking, planning and execution
    Being informed, innovative and seeking out new ideas. Looking for changes in the environment.
  • Humbleness : Listen, learn, share, and give space to others. What it means as a core value: Showing trust and giving empowerment
    Having an attitude of continuous learning. Never underestimating our competitors or other stakeholders.
  • Uprightness : Our word is our bond. What it means as a core value: Honesty and accountability.
    Openness about the good and the bad. Speaking your mind in the debate, but backing the decision.
  • Our Employees : The right environment for the right people. What it means as a core value: Attracting and retaining the right people, building the right team. Providing opportunities for continual development. Rewarding performance, promoting for potential
  • Our Name : The sum of our Values: passionately striving higher. What it means as a core value: The embodiment of our values. Passion and pride for what we do and how we do it. Our image in the eyes of our customers and the external world.

I learned from Maersk the respect for safety when at work.

There were things I loved when on sea-service and things I did not like. I remember  what I liked the most was Watchkeeping. During watchkeeping, a navigational officer is alone on the bridge (ship’s command room) during day time, or with a helmsman during the night watch. Colleagues are confident they hand their lives to the one on watchkeeping, which takes decisions for the safety of lives, the ship and the cargo. This kind of “absolute” trust builds up a particular bond which is hardly to see when serving for regular on-shore jobs.

Sometimes I think I quit the maritime path perhaps too early. But most of the times I think I did the right choice under the circumstances.

I quit the sea-career because I realized the knowledge I had acquired with my 2nd University programme ( Accounting and IT skills ) was becoming obsolete. I had to act because otherwise it would have diminished my chances for integration in a job ashore. Perhaps I would have to remain at sea for the rest of my life, till retirement. Which, by the way, I had not intended, when I signed up for the Maritime Studies.

When I joined the Maritime University of Constanta there was no Internet. Hence no open “connection” with the outside world existed. It changed by the time I graduated because Internet got accessible and information got available. My aim was to stay enough time at sea to earn sufficient money to start my business ashore, by applying the knowledge I had studied for at the 2nd Bachelor Programme , namely Information Technology, Management and Accounting.

I quit the maritime career in 2007.

why I do it

To sum it up, it is not about money.  Money is important, but there is more to add.

I was earning a lot more when I was at sea  than I am  earning now.  And I would be earning  more than I actually do at the moment if I did job hunting on the market.

It is about doing what I like and about persistence to follow a personal path with defined objectives. It is about the satisfaction to have things done. Last, but not least, it is about having a few people around  that I can consider not only colleagues, but lifetime friends.

Does it mean that I stop here? No. I am always open for new ventures.

If you consider I am fit for a job or you have an assignment for me, let me know at george.calin@gmail.com

how I do it

So far I have been using a wide range of tools to achieve my results:

  • SQL Server 2012 and 2014,
  • Transact-SQL,
  • SQL Server Management Studio 2014,
  • SQL Server Reporting Services 2012 and 2014,
  • Report Builder 3.0,
  • Visual Studio 2012 and 2013,
  • ASP.NET version 4.0+,
  • C#,
  • Microsoft Excel 2007+,
  • Power Pivot for Excel
  • LINQPad,
  • Infor ERP,
  • HTML4 and HTML5,
  • CSS 2.1 and 3,
  • jQuery
  • Javascript
  • iMacros 10