07 May

IT BPO is hard. This is how do we handle it at ABN Asia

IT BPO is full of challenges. Selecting a vendor is hard. This is how we do it. If you’re confident with what we do, give us a call.

1. Lack of Skilled Workforce
– ABN Oppa BPO Service has an in-house training program that provides continuous training and development for employees to upskill and stay updated with the latest technologies and trends. We have GoodJobs Academy, which is handy for this purpose.
– ABN Oppa BPO Service partners with educational institutions to offer internships and training programs to attract top talent.
– ABN Oppa BPO Service has an employee referral program that rewards employees for referring skilled candidates.

2. Meeting Tight Deadlines
– ABN Oppa BPO Service uses agile project management methodologies to streamline the development process and meet tight deadlines.
– ABN Oppa BPO Service has a team of experienced developers who can work on projects simultaneously to ensure timely delivery.
– ABN Oppa BPO Service offers incentives for meeting or exceeding deadlines to motivate and encourage employees.

3. Security Concerns
– ABN Oppa BPO Service invests in advanced security technologies such as firewalls, anti-virus software, and encryption to ensure the security of client data.
– ABN Oppa BPO Service has a strict data access policy that restricts employee access to confidential information.
– ABN Oppa BPO Service partners with cybersecurity firms to conduct regular audits and assessments to identify and address security vulnerabilities.

4. High Operating Costs
– ABN Oppa BPO Service used AI and robotic automations to automate non-core functions to reduce operating costs while maintaining high-quality services.
– ABN Oppa BPO Service implements cost-saving measures such as energy-efficient technologies to reduce electricity consumption and lower utility costs.
– ABN Oppa BPO Service explores alternative revenue streams such as offering consulting services to increase revenue and reduce operating costs.

5. Poor Quality of Output
– ABN Oppa BPO Service implements a rigorous quality control process to ensure high-quality output.
– ABN Oppa BPO Service hires experienced and skilled employees to deliver high-quality services.
– ABN Oppa BPO Service provides continuous training and development programs to employees to maintain and improve the quality of services.

6. Communication Issues with Clients
– ABN Oppa BPO Service uses a project management tool to improve communication and collaboration with clients.
– ABN Oppa BPO Service appoints a dedicated account manager to act as a single point of contact for clients, ensuring effective communication and faster issue resolution.
– ABN Oppa BPO Service conducts regular meetings and progress updates with clients to keep them informed about project progress.

7. Insufficient Infrastructure
– ABN Oppa BPO Service invests in high-speed internet and modern hardware to ensure a stable and efficient infrastructure.
– ABN Oppa BPO Service implements cloud-based solutions to reduce infrastructure costs and improve scalability.
– ABN Oppa BPO Service leases equipment and infrastructure instead of purchasing them outright to reduce upfront costs.

8. Inefficient Processes
– ABN Oppa BPO Service conducts regular process audits to identify and address inefficiencies in processes.
– ABN Oppa BPO Service implements automation tools to streamline processes and reduce manual work.
– ABN Oppa BPO Service hires process improvement experts to implement best practices and improve the efficiency of processes.

9. Inadequate Training and Development
– ABN Oppa BPO Service has a comprehensive training and development program that includes onboarding, continuous learning, and upskilling opportunities.
– ABN Oppa BPO Service offers online courses and certifications to employees to enhance their skills and knowledge.
– ABN Oppa BPO Service provides opportunities for employees to attend industry events and conferences to learn about the latest trends and technologies.

10. Unpredictable Changes in Client Requirements
– ABN Oppa BPO Service has a change management process that handles changes effectively and efficiently

ABN Oppa BPO has a dedicated IT hub located in Vietnam, which provides access to a pool of highly skilled and cost-effective resources. Our team in Vietnam is equipped with the necessary skills and expertise to support various software BPO needs, and we ensure that our clients receive the best possible service at a competitive cost. With our Vietnam IT hub, we are able to provide our clients with high-quality solutions while reducing operational costs, enabling us to remain a trusted partner for all their BPO needs.

30 Mar

New CatLingo Email: [email protected]

Meow,

CatLingo here. This is to meow you that I have moved to a new home:

Email: [email protected]

Email me here to have your files translated as before.

– Attach 01 file: PPT, Word, Excel
– Email Subject:
VIET.ENG: for Vietnamese to English translation.
ENG.VIET: for English to Vietnamese translation.

Meow
cat.abnasia.org
CatLingo, the translation service that people love more than Google Translate.

14 Mar

ABN Techweek – How Discord Stores Trillions Of Messages?

ABN Tech Week trains engineers on the most important issues in building highly scalable software systems. The topic today is: How Discord Stores Trillions Of Messages?

HOW DISCORD STORES TRILLIONS OF MESSAGES

THE DIAGRAM BELOW SHOWS THE EVOLUTION OF MESSAGE STORAGE AT DISCORD:

MONGODB ➡️ CASSANDRA ➡️ SCYLLADB

IN 2015, THE FIRST VERSION OF DISCORD WAS BUILT ON TOP OF A SINGLE MONGODB REPLICA. AROUND NOV 2015, MONGODB STORED 100 MILLION MESSAGES AND THE RAM COULDN’T HOLD THE DATA AND INDEX ANY LONGER. THE LATENCY BECAME UNPREDICTABLE. MESSAGE STORAGE NEEDS TO BE MOVED TO ANOTHER DATABASE. CASSANDRA WAS CHOSEN.

IN 2017, DISCORD HAD 12 CASSANDRA NODES AND STORED BILLIONS OF MESSAGES.

AT THE BEGINNING OF 2022, IT HAD 177 NODES WITH TRILLIONS OF MESSAGES. AT THIS POINT, LATENCY WAS UNPREDICTABLE, AND MAINTENANCE OPERATIONS BECAME TOO EXPENSIVE TO RUN.

THEN COME SCYLLADB.

IN 2015, THE FIRST VERSION OF DISCORD WAS BUILT ON TOP OF A SINGLE MONGODB REPLICA. AROUND NOV 2015, MONGODB STORED 100 MILLION MESSAGES AND THE RAM COULDN’T HOLD THE DATA AND INDEX ANY LONGER. THE LATENCY BECAME UNPREDICTABLE. MESSAGE STORAGE NEEDS TO BE MOVED TO ANOTHER DATABASE. CASSANDRA WAS CHOSEN.

IN 2017, DISCORD HAD 12 CASSANDRA NODES AND STORED BILLIONS OF MESSAGES.

AT THE BEGINNING OF 2022, IT HAD 177 NODES WITH TRILLIONS OF MESSAGES. AT THIS POINT, LATENCY WAS UNPREDICTABLE, AND MAINTENANCE OPERATIONS BECAME TOO EXPENSIVE TO RUN.

THERE ARE SEVERAL REASONS FOR THE ISSUE:

– CASSANDRA USES THE LSM TREE FOR THE INTERNAL DATA STRUCTURE. THE READS ARE MORE EXPENSIVE THAN THE WRITES. THERE CAN BE MANY CONCURRENT READS ON A SERVER WITH HUNDREDS OF USERS, RESULTING IN HOTSPOTS.

– MAINTAINING CLUSTERS, SUCH AS COMPACTING SSTABLES, IMPACTS PERFORMANCE.

– GARBAGE COLLECTION PAUSES WOULD CAUSE SIGNIFICANT LATENCY SPIKES

SCYLLADB IS CASSANDRA COMPATIBLE DATABASE WRITTEN IN C++. DISCORD REDESIGNED ITS ARCHITECTURE TO HAVE A MONOLITHIC API, A DATA SERVICE WRITTEN IN RUST, AND SCYLLADB-BASED STORAGE.

THE P99 READ LATENCY IN SCYLLADB IS 15MS COMPARED TO 40-125MS IN CASSANDRA. THE P99 WRITE LATENCY IS 5MS COMPARED TO 5-70MS IN CASSANDRA.

10 Mar

ABN Techweek – How does the browser render a web page?

HOW DOES THE BROWSER RENDER A WEB PAGE?

1. PARSE HTML AND GENERATE DOCUMENT OBJECT MODEL (DOM) TREE.

WHEN THE BROWSER RECEIVES THE HTML DATA FROM THE SERVER, IT IMMEDIATELY PARSES IT AND CONVERTS IT INTO A DOM TREE.

2. PARSE CSS AND GENERATE CSSOM TREE.

THE STYLES (CSS FILES) ARE LOADED AND PARSED TO THE CSSOM (CSS OBJECT MODEL).

3. COMBINE DOM TREE AND CSSOM TREE TO CONSTRUCT THE RENDER TREE.

WITH THE DOM AND CSSOM, A RENDERING TREE WILL BE CREATED. THE RENDER TREE MAPS ALL DOM STRUCTURES EXCEPT INVISIBLE ELEMENTS (SUCH AS <HEAD> OR TAGS WITH DISPLAY:NONE; ). IN OTHER WORDS, THE RENDER TREE IS A VISUAL REPRESENTATION OF THE DOM.

4. LAYOUT.

THE CONTENT IN EACH ELEMENT OF THE RENDERING TREE WILL BE CALCULATED TO GET THE GEOMETRIC INFORMATION (POSITION, SIZE), WHICH IS CALLED LAYOUT.

5. PAINTING.

AFTER THE LAYOUT IS COMPLETE, THE RENDERING TREE IS TRANSFORMED INTO THE ACTUAL CONTENT ON THE SCREEN. THIS STEP IS CALLED PAINTING. THE BROWSER GETS THE ABSOLUTE PIXELS OF THE CONTENT.

6. DISPLAY.

FINALLY, THE BROWSER SENDS THE ABSOLUTE PIXELS TO THE GPU AND DISPLAYS THEM ON THE PAGE.

09 Mar

ABN Techweek – HOW DO VISA AND MASTERCARD PREVENT CNP (CARD-NOT-PRESENT) FRAUD

ABN Tech Week trains engineers on the most important issues in building highly scalable software systems. The topic for today is: HOW DO VISA AND MASTERCARD PREVENT CNP (CARD-NOT-PRESENT) FRAUD?

THE DIAGRAM BELOW SHOWS HOW 3-D SECURE PROTOCOL WORKS IN ORDER TO PROTECT ONLINE PURCHASES FROM CNP FRAUD.

3-D SECURE (3DS) PROTOCOL IS AN ADDITIONAL 𝐬𝐞𝐜𝐮𝐫𝐢𝐭𝐲 𝐥𝐚𝐲𝐞𝐫 FOR ONLINE CARDS TRANSACTIONS. IT WAS ORIGINALLY DEVELOPED IN 1999, AND THE LATEST VERSION (VERSION 2) WAS PUBLISHED IN 2016 TO COMPLY WITH NEW EU AUTHENTICATION REQUIREMENTS.

3-D REFERS TO THE “THREE DOMAINS” – THE ACQUIRER DOMAIN, THE ISSUER DOMAIN, AND THE INTEROPERABILITY DOMAIN.

𝐅𝐫𝐢𝐜𝐭𝐢𝐨𝐧𝐥𝐞𝐬𝐬 𝐅𝐥𝐨𝐰 – NORMAL TRANSACTIONS

🔹 STEPS 1-2: A CONSUMER MAKES AN ONLINE PURCHASE AND HITS CHECKOUT TO ENTER PAYMENT CARD DETAILS. IF THE MERCHANT’S WEBSITE ENABLES 3DS, THE 3D SERVER SENDS THE AUTHENTICATION REQUEST TO THE DIRECTORY SERVER (DS).

🔹 STEPS 3-6: BASED ON THE PRIMARY ACCOUNT NUMBER (PAN), DS FINDS THE CARD ISSUER’S ACCESS CONTROL SERVER (ACS) AND CHECKS IF THE CARD IS REGISTERED IN 3DS. THE RESPONSE IS SENT BACK TO DS, MERCHANT, AND CARDHOLDER.

🔹 STEPS 7-10: NOW THAT THE CARD IS AUTHENTICATED, THE CARDHOLDER CAN PROCEED WITH THE PAYMENT REQUEST. THE REQUEST GOES THROUGH THE ACQUIRER AND THE CARD NETWORK AS USUAL.

𝐂𝐡𝐚𝐥𝐥𝐞𝐧𝐠𝐞 𝐅𝐥𝐨𝐰 – SUSPICIOUS TRANSACTIONS

🔹 STEPS 1-6: THE STEPS ARE THE SAME WITH THE FRICTIONLESS FLOW. HOWEVER, THE CARDHOLDER IS PROMPTED TO ENTER PROOFS TO VERIFY THE CARD OWNERSHIP.

🔹 STEPS 7-9: THE CARDHOLDER CAN VERIFY VIA OTP (ONE-TIME PASSWORD), SAFETY QUESTIONS AND BIOMETICS. THE RESULTS ARE SENT BACK VIA DS, SO IS MORE SECURE.

🔹 STEPS 10-13: IF THE CARD IS AUTHENTICATED, THE CARDHOLDER CAN CONTINUE WITH THE ONLINE PAYMENT TRANSACTION.

07 Mar

ABN Techweek – What distinguishes MVC, MVP, MVVM, MVVM-C, and VIPER architecture patterns from each other?

ABN Tech Week trains engineers on the most important issues in building highly scalable software systems. The topic today is: What distinguishes MVC, MVP, MVVM, MVVM-C, and VIPER architecture patterns from each other?

WHAT DISTINGUISHES MVC, MVP, MVVM, MVVM-C, AND VIPER ARCHITECTURE PATTERNS FROM EACH OTHER?

THESE ARCHITECTURE PATTERNS ARE AMONG THE MOST COMMONLY USED IN APP DEVELOPMENT, WHETHER ON IOS OR ANDROID PLATFORMS. DEVELOPERS HAVE INTRODUCED THEM TO OVERCOME THE LIMITATIONS OF EARLIER PATTERNS. SO, HOW DO THEY DIFFER?

🔹 MVC, THE OLDEST PATTERN, DATES BACK ALMOST 50 YEARS

🔹 EVERY PATTERN HAS A "VIEW" (V) RESPONSIBLE FOR DISPLAYING CONTENT AND RECEIVING USER INPUT

🔹 MOST PATTERNS INCLUDE A "MODEL" (M) TO MANAGE BUSINESS DATA

🔹 "CONTROLLER," "PRESENTER," AND "VIEW-MODEL" ARE TRANSLATORS THAT MEDIATE BETWEEN THE VIEW AND THE MODEL ("ENTITY" IN THE VIPER PATTERN)

🔹 THESE TRANSLATORS CAN BE QUITE COMPLEX TO WRITE, SO VARIOUS PATTERNS HAVE BEEN PROPOSED TO MAKE THEM MORE MAINTAINABLE

Call Now Button