Alexey Miroshnikov © Copyright InfoStroy Ltd., 2013.

Slides:



Advertisements
Similar presentations
Beyond Text Representation Building on Unicode to Implement a Multilingual Text Analysis Framework Thomas Hampp – IBM Germany Content Management Development.
Advertisements

Murray Sargent III Microsoft Corporation Text Services Group, Word Tips & Tricks on Editing and Displaying Unicode Text.
The creation of "Yaolan.com" A Site for Pre-natal and Parenting Education in Chinese by James Caldwell DAE Interactive Marketing a Web Connection Company.
© 1998, Progress Software Corporation 1 Migration of a 4GL and Relational Database to Unicode Tex Texin International Product Manager.
Instructors: Connie Hutchison & Christopher McCoy
Chapter 1: Introduction. Contents Whats New in Dreamweaver CS4? The Dreamweaver CS4 Interface Setting Up a Site Creating a Web Page Adding Text to Your.
EFRONT V4 EXTENSIONS ARCHITECTURE. The goal  To offer more flexibility to 3 rd party users to modify eFront functionality  To further extend eFront.
1 Mobile Computing Mobile First (formerly Worklight) Copyright 2015 by Janson Industries.
Many kinds of clients and servers This work is licensed under a Creative Commons Attribution-Noncommercial- Share Alike 3.0 License. Skills: none IT concepts:
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Data Representation Kieran Mathieson. Outline Digital constraints Data types Integer Real Character Boolean Memory address.
Project 2 Issues Dr. Ralph D. Westfall February, 2006.
SM3121 Software Technology Mark Green School of Creative Media.
Office Cool New Features Session 5810 SHARE 97 Minneapolis Patricia Egen Patricia Egen Consulting
Review1 What is multilingual computing? Bilingual, trilingual, vs. Multilingual What are the fundamental issues in multi-lingual computing? –Representation.
Chapter 3 Software Two major types of software
FreeFlow Express to Print 8.0 What’s New? Click the left-mouse button to continue.
Access 2007 ® Use Databases How can Microsoft Access 2007 help you manage a database?
 Pages made using data in a database  Use scripting languages  Use of RDMS  Look and feel by templates, CSS  High scaling  Admin pages as back end.
Windows XP Language Interface Packs (LIPs) - Localized OSs for the Masses Russ Rolfe Program Manager.
A Product of Enterprise Content Management System (CMS) Web & Portal Content Management Systems for faster web publishing Copyright.
© 2009 IBM Corporation Tressa Wilson Global Marketing, Channel Enablement Business Partner Presentation Cross Brand Selling Advisor Overview & Attach Advisor.
26 April 2001 Unicode and Windows XP, IUC 18 (Hong Kong) Unicode and Windows XP Cathy Wissink Program Manager, Globalization Windows Division Microsoft.
2.1.4 BINARY ASCII CHARACTER SETS A451: COMPUTER SYSTEMS AND PROGRAMMING.
Lesson 46: Using Information From the Web copy and paste information from a Web site print a Web page download information from a Web site customize Web.
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky Veronika.
Apps VS Mobile Websites Which is better?. Bizness Apps Survey Bizness Apps surveyed over 500 small business owners with both a mobile app and a mobile.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
JQuery CS 268. What is jQuery? From their web site:
Systems Analysis and Design in a Changing World, 6th Edition
Sophia Antipolis, September 2006 Multilinguality, localization and internationalization Miruna Bădescu Finsiel Romania.
Introduction to our On-Line Self Service Center at
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
IT Essentials 1 v4.0 Chapters 4 & 5 JEOPARDY RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands.
File Formats Chapter 9 Bit Literacy. File formats are often ignored by users Applications automatically save files in the application’s format All formats.
Lesson 14: Installing and Uninstalling Programs how to install a new program what to do if the new program doesn’t work how to uninstall a program © CCI.
Constructing Your Own Corpus from Written Language.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Company Confidential 1 This presentation is solely for the use of Patni personnel. No part of it may be circulated, quoted, or reproduced for distribution.
Nobody’s Unpredictable Ipsos Portals. © 2009 Ipsos Agenda 2 Knowledge Manager Archway Summary Portal Definition & Benefits.
CS 114 – Class 02 Topics  Computer programs  Using the compiler Assignments  Read pages for Thursday.  We will go to the lab on Thursday.
Character Encoding, F onts. Overview Why do character encoding and fonts matter to linguists? How can you identify problems? Why do these problems arise?
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
Installation Objectives –to be aware of Unix installation issues Contents –installing the system –options and packages –disk layout –the swapfile –third.
Your Search for Indian languages ends at Modular InfoTech, Pune Web-Samhita from Modular InfoTech Pvt. Ltd. Modular InfoTech is proud to offer various.
Software. A web site is a collection of web pages on a particular topic. A web page is a document written in HTML code. Web pages are linked together.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
CIT3611 Software i18n Wk 4: Code sets, Online Help, Prototyping David Tuffley School of Computing & IT Griffith University.
20081 Converting workspaces and using SALT & subversion to maintain them. V1.02.
NetTech Solutions Troubleshooting Office Applications Lesson Seven.
SOP PENGGUNAAN JUPEM2U.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
MISSION CRITICAL COMPUTING SQL Server Special Considerations.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Why PACKZ? Innovation No real innovations in pre-press for years Offers new approach using standard open file formats Technology is moving fast, we are.
TOPSpro Special Topics I: Database Managemen t. Agenda for Module I: Database Management  TOPSpro Backup/Restore Wizard  TOPS-TOPS Import/Export Wizard.
Introduction. Internet Worldwide collection of computers and computer networks that link people to businesses, governmental agencies, educational institutions,
Ch. 31 Q and A IS 333 Spring 2016 Victor Norman. SNMP, MIBs, and ASN.1 SNMP defines the protocol used to send requests and get responses. MIBs are like.
Introduction of Wget. Wget Wget is a package for retrieving files using HTTP and FTP, the most widely-used Internet protocols. Wget is non-interactive,
Dynamic Website Design for Temple Beth-El of Ithaca, NY CS 501 Project – Final Presentation May 4, 2006 Presented By: Peter Babinski, Christopher Benedict,
FILE I/O: Low-level 1. The Big Picture 2 Low-Level, cont. Some files are mixed format that are not readable by high- level functions such as xlsread()
An Animated HD PowerPoint Template. This page contains a video element and is optimized to work with PowerPoint 2010 and PowerPoint Static versions.
4.2 Microsoft Word.
DXL to PST Converter presents
Your Reliable and Efficient Design Tool
Representing Information as bit patterns
4.2 Microsoft Word.
Stand Out From The Crowd
Presentation transcript:

Alexey Miroshnikov © Copyright InfoStroy Ltd., 2013

NO ! © Copyright InfoStroy Ltd., 2013

SHOULD I ? What you get is your application Slower Bigger Less compatible! * * It is related to the file format (UTF-8, …) rather than the codding (Unicode). © Copyright InfoStroy Ltd., 2013 There are no visible benefits for your clients !

JUST FOR YOURSELF Get rid of shared ⎕ AV element usage Get rid of *.DIN, *.DOT hassles and the keyboard layout switching Get rid of multilingual support “nightmare” in Dyalog © Copyright InfoStroy Ltd., 2013 ⎕ NXLATE ⎕ NQ ’.’ ‘SetUnicodeTable’ MAPCHARS APLUNICD.INI * ⎕ AVU *

YES, BUT I NEVER USED ANY OF THOSE WHY SHOULD I ? You sell (or going to) to Asia, Eastern Europe, some exotic markets It is imminent and unavoidable © Copyright InfoStroy Ltd., 2013 Start planning !

TWO VIEWS ON THE CONVERSION Going out (Codepage 1252) Coming in (Codepage 1251, …) Specific DIN/DOT tables, keyboard layouts, non- standard ⎕ AV, specific fonts, ⎕ AV position sharing © Copyright InfoStroy Ltd., 2013

GAMA Leading portfolio management solution in Russia and post-USSR market 20 years at the market place © Copyright InfoStroy Ltd., 2013

TO BE CONSIDERED Encoding Unicode File format ANSI, UTF-8, UTF-16, … © Copyright InfoStroy Ltd., 2013

WHAT EXACTLY ? NOT JUST APL CODE Application: Infrastructure APL code 3 rd party software Database © Copyright InfoStroy Ltd., 2013

WHAT EXACTLY ? NOT JUST APL CODE Infrastructure: Config files Menus Help files Import/Export profiles Text inside the application code Logs Dyalog related files (APLUNICD.INI …) © Copyright InfoStroy Ltd., 2013

WHAT EXACTLY ? NOT JUST APL CODE Config files If it is Windows Registry based – no problem. If it is something like old good INI file … Menus Depends on the implementation. In our case an action for a menu item is a number – the action code, but in some cases it is an APL expression that later interpreted by the application Help files Depends on implementation Import/Export profiles Sometimes with the APL expressions Text inside the application code In our case it is almost none – all in application dictionaries © Copyright InfoStroy Ltd., 2013

WHAT EXACTLY ? Logs Include traditional logging, events logging, messaging. Big troubles! We had something like 6 “about the same” logging feature implementations inside one application! Some Dyalog related files APLUNICD.INI … © Copyright InfoStroy Ltd., 2013

IS IT YOUR PROBLEM ONLY? NO! There is lots of data at the client site which you don’t have a direct access to. © Copyright InfoStroy Ltd., 2013

THE APL CODE. HOW MANY ? Functions: Variables: n/a Files: 500 © Copyright InfoStroy Ltd., 2013 ⎕ AV ⍝ 297 times ⎕ DR ⍝ 278 times( ⎕ DR, ⎕ dr, PLUS.dr) ⎕ NREAD ⍝ … and related - a lot !

JUST A SAMPLE © Copyright InfoStroy Ltd., 2013 →( ⎕ av[27]≠ ⎕ nread T,82 1,S-1)↑S1 ⎕ UCS ⍳⎕ AV[27] 106 →(( ⎕ UCS 106)≠ ⎕ nread T,82 1,S-1)↑S1 ⍝ but what about ⎕ AV[MyDelimiter] ⍝ what is the file and it’s new format ? ⍝ you can’t proceed without information ⍝ there are s in code

HOW MUCH ? Start: to finish by , then , then , then The Unicode version was shipped 19 July The development team: 2 the most experienced developers + 1 good developer on “intelligent” tests. There is no point to use any but the best developers due to the work specifics – the decision making. The test team: 3 people © Copyright InfoStroy Ltd., 2013

WHEN ? We were delaying the Unicode project for quite while – for about 3 years… We’ve started when we realized that the pause in the financial activity caused by the global crises is going to be long… Now or never! © Copyright InfoStroy Ltd., 2013

IS IT EASY? Yes and No. UNDERESTIMATION Usually very misleading. Could be damaging considering usually limited time spot selected for implementation. VERSIONS, VERSIONS Keep a single version at any price – it is less expensive than a re-start. © Copyright InfoStroy Ltd., 2013

TRAPS Don’t trust 3 rd party software Any step should be reversible Conversion to Unicode is not the code optimization! © Copyright InfoStroy Ltd., 2013

CONCIDER TO Develop an utility for an “intelligent” update of all files to the 62bit Unicode format. Don’t forget the files at the client locations. Develop an utility where you can specify not only the ⎕ AVU table for a file but for each single component Develop a procedure for checking all files at the client site as backups still exist ! © Copyright InfoStroy Ltd., 2013

TOOLS Nothing special. In our case the most used were © Copyright InfoStroy Ltd., 2013

UTILITIES DETECT ENCODING UTILITIES It is a headache… MLANG We did not really use it but you might. us/library/aa767865(v=VS.85).aspxhttp://msdn.microsoft.com/en- us/library/aa767865(v=VS.85).aspx Could be useful for Code page and locale enumeration from the MIME database. Code page, locale, and character set information retrieval. Character set conversion between different multibyte character sets, as well as to and from Unicode. A method of working with a set of code pages at once. A way to determine which code pages contain a given character or string. Detection of which possible code pages and languages text data is written in. Custom font creation to display characters from a variety of character sets at once. Locale-aware line breaking for console-based applications. © Copyright InfoStroy Ltd., 2013

UTILITIES NATIVE FILES We decided to minimize their usage. Changed to.NET LOGGING Consider a good logging third party software Windows Events Log Pop-up messages Cross platforms iPad/iPhone messaging NLog © Copyright InfoStroy Ltd., 2013

INTERNET RESOURCES: Unicode charts: Good reading: UTF-8 Everywhere: Reference information like: …and a lot of information like: © Copyright InfoStroy Ltd., 2013

and good luck with Unicode ! © Copyright InfoStroy Ltd., 2013 Take it easy