Category: Miscellaneous
-
“WebP is an image format employing both lossy and lossless compression, and supports animation and alpha transparency. Developed by Google, it is designed to create files that are smaller for the same quality, or of higher quality for the same size, than JPEG, PNG, and GIF image formats” - Wikipedia....
-
Three years ago, I created a CMake project, aiming to build a C/C++ project with Dynamsoft Barcode Reader on Windows, Linux, and macOS. Today, as the world’s top barcode SDK, Dynamsoft Barcode Reader has extended to more operating systems and CPU architectures: ARM32 Linux: Raspberry Pi ARM64 Linux: Jetson Nano...
-
In my previous article, I shared how to integrate Dynamsoft Barcode Reader to LabelImg for annotating barcode objects. It is time to take a further step to make some custom models for barcodes. In this article, I will go through the process that I used Darknet to train YOLO v3...
-
During the pandemic, the demand for camera apps is booming due to the social distancing situation. So, I collected some basic OpenCV webcam sample code implemented in different programming languages and built some simple web apps for remote webcam access. Hopefully, it will be helpful for someone who is getting...
-
When I was trying to run a barcode reader app compiled by MinGW GCC on Windows 10, I got an error message “The procedure entry point _ZNSt18condition_variable10notify_oneEv could not be located in the dynamic link library”. In this article, I will share my experience of how to solve the issue...
-
While using laptops, sometimes you may want to disable the built-in webcam for some reasons, such as security or debugging webcam related programs. Not like a USB webcam, the built-in camera is unpluggable. Therefore, a general way is to open the device manager, find the camera, and disable it. To...
-
MyGet is a universal package manager that allows you to create custom package feeds for Python, Maven, NuGet, npm, Bower, PHP, Vsix, and Ruby Gems. For me, the most significant advantage of using MyGet is I can overwrite the package with the same version number comparing to other package repositories...
-
AppVeyor is a continuous integration (CI) service used to automatically build code projects and deploy relevant artifacts. It provides build environments for Windows, Linux, and macOS. In this article, I will share how to use AppVeyor to build and deploy Python Wheels (Windows edition) from C/C++ code. Creating Python Wheels...
-
Emscripten supports compiling C/C++ code to wasm files. Dynamic linking is a basic need for building complicated projects. In this article, I will share how to build a standalone wasm file and how to link multiple wasm files in Windows. Tool Installation Python CMake Emscripten git clone https://github.com/emscripten-core/emsdk.git cd...
-
If you are using GitHub to manage your website source code, you can use webhooks to send GitHub events to external services. In this article, I will share how to deploy my website to IIS, as well as how to pull the source code and update the site automatically when...
-
Three years ago, I created a Python extension module for Dynamsoft Barcode Reader C/C++ SDK. The code skeleton has never been changed until recently the SDK updated to v7.0. In the latest barcode SDK, besides the values of barcode symbologies, there are more constant variables needed to be predefined. The...
-
I’ve collected some learning resources of multi-camera programming for iOS and Android. Because of the hardware limitation, I have not tested the samples provided by Apple and Google. Multi-Camera for iOS OS Version v13+ Devices iPhone XS, XS Max, XR and iPad Pro. AVFoundation API Virtual camera ToF Camera N/A...
-
Webpack is a JavaScript module bundler. It is widely used in web frameworks, such as React and Angular. This tutorial shows how to implement a simple web barcode reading app with webpack and Dynamsoft JavaScript Barcode library. What You Should Know Setting Up a Basic Project with Webpack Create a...
-
Vaadin platform, similar to GWT (Google Web Toolkit), is a set of web components that allow developers to implement HTML5 web apps using the Java programming language. This tutorial aims to help developers to create a simple web document scanning app with Vaadin and Dynamic Web TWAIN SDK. Setting Up...
-
LEGO Wedo 2.0 is a good start for learning robotics. I created a simple GUI app controlling the LEGO motor using Python. In this article, I will share my experience in how to select the development environment and how to build the Python app. Learning Resources When I searched for...
-
A month ago, Mozilla announced WASI (WebAssembly system interface) in their blog post. WASI is a new standardization that allows WebAssembly code to run anywhere. Although WASI is still a work in progress prototype, I can’t wait to try it out. Building Wasmtime in Windows 10 Wasmtime is a standalone...
-
The reason WebAssembly appealing to me, besides the performance, is that I can run WebAssembly either on client-side or server-side. In this post, I will share how to build WebAssembly file and run it with Node.js. Environment Node.js v8.11.3 IIS v10.0.15063.0 WebAssembly Standalone When compiling C++ code to WebAssembly, by...
-
If you have a .jar or a .aar file for distribution, you can publish it to Maven central or jcenter. But the premise is your package has to be open source. If you want to distribute a commercial library, you’d better host a Maven repository yourself. Inspired by STEFFENWELLNER’s article,...
-
Recently, our team needs to regularly update Tar GZIP files that are built for Linux on Windows. GZIP is a file format for file compression and decompression. Unlike ZIP, GZIP is used to compress just one single file. Usually, we have to assemble files into a single tar archive, and...
-
Dynamsoft Android Camera SDK is coming soon. In this article, let’s preview the SDK and learn how to write an Android document scanning app with a few lines of Kotlin code. Features Automatic border detection Trimming and perspective correction Image enhancement iOS image processing Offline I/O and PDF Customizable UI...
-
When creating a new project in Visual Studio, there are two options for version control: Git, which is distributed version control, and Team Foundation Version Control (TFVC), which is centralized version control. Personally, I am a Git advocate, but my team selects TFVC as the version control tool. Generally, I...
-
When you release a JavaScript library, such as jQuery, online, you may need to collect some status information for analytics. If you deploy your website on IIS, you can use HTTP Module to capture HTTP requests of HTML, JS and CSS files. My goal is to make a statistic of...
-
TIFF (Tagged Image File Format) is a file format for storing raster graphics images. TIFF supports many different compression schemes. This post demonstrates how to build libtiff to make it work for TIFF files that hold JPEG compressed images. Prerequisites Visual Studio CMake Libjpeg Building LibTIFF with CMake Get and...
-
When working at the office, if you don’t want to miss any notification, you can use some tools such as IFTTT and Slack, to subscribe notification service based on Webhook. What if you’re going to receive Windows notifications without installing these tools? Using Node.js and Ngrok, I can quickly create...
-
Windows PowerShell is nothing new. It has been along with Windows for many years. Honestly, I preferred to use CMD more than PowerShell due to the learning cost. In the past few years, under the leadership of Satya Nadella, Microsoft is becoming opened and creative. More and more tools and...
-
For a developer, nothing is more important than improving the quality of the code. You probably had this experience that when a project was growing bigger and bigger, you had to spend more time debugging code for inspecting issues – memory leak, null pointer and so on. SonarQube is a...
-
A few weeks ago, Dynamsoft released an iOS camera SDK that aims to help developers quickly build a document scanning app for iOS platform. In this post, I will share how to configure the SDK in Xcode, as well as how to create a simple document scanner app from scratch....
-
Jenkins is an open-source continuous integration tool. I am new to Jenkins. To get familiar with it, I decided to start learning from a CMake project written with Dynamsoft Barcode Reader. Prerequisites Jenkins CMake Dynamsoft Barcode Reader Initializing Jenkins Environment Stop and start Jenkins After installing Jenkins by running setup...
-
It is the first time that I want to write something I failed. A week ago, I tried to submit dbr (Dynamsoft Barcode Reader) to homebrew/core. In spite of passing auto checks, my formula was finally rejected. This article records everything I went through during this process. What is Homebrew...
-
Most windows users like to download an installer to install software. However, for developers, probably they would rather like to use a command line tool (APT, Homebrew, etc.), like they get used on Linux and macOS, to install a program. Chocolatey is a command line package manager for Windows. Installing Chocolatey...
-
Last week, I built a Debian package for Dynamsoft Barcode Reader. Installing .deb file is apparently more efficient than using the .tar file on Linux OS based on Debian. Despite this, I believe most of Linux developers will give priority to the command-line package tool apt-get, unless the software repository...
-
I had no idea about LLVM(Low-Level Virtual Machine) until the day I installed Emscripten for learning asm.js and WebAssembly. Emscripten Compiler Frontend (emcc) uses Clang to convert C/C++ files to LLVM bitcode, and Fastcomp (Emscripten’s Compiler Core — an LLVM backend) to compile the bitcode to JavaScript. Installing LLVM on Different Platforms...
-
Last week, I shared how to create a CMake project for Windows. Since CMake is a cross-platform software building tool, I am going to make my C/C++ project support Linux and macOS. What You Should Know How to Make C/C++ Code Compatible with Multiple Platforms I used the predefined macros to...
-
If you have a program designed for multiple platforms, you definitely don’t want to waste time configuring and maintaining the building environment. I was thinking how to compile my C/C++ code for Windows, Linux and macOS more conveniently, and after that, I decided to learn CMake. CMake is an open-source,...
-
Document Scanning is nothing new for mobile apps. I remember the first time that I installed a document scanning app was in 2010. However, Apple, Microsoft, and Google the giant tech companies got started to recognize the importance of document scanning technology recently. It is good to see the function...
-
For the past week, I was looking for a live streaming solution to broadcast video from a USB webcam that connects to Raspberry Pi. This post will help you set up a live streaming server on Raspberry Pi step by step. Installing FFmpeg on Raspberry Pi My first try was to...
-
Many excellent document mobile apps support not only image capture, but also edge detection and perspective transformation. If you are interested in these computer vision technologies, you can use OpenCV to create a free document scanner app yourself. In this post, I want to share how to use OpenCV-Python to...
-
Recently, I was inspired by a blog post “Python Live Video Streaming Example” and thinking whether it is possible to save the camera streaming to a video file. Based on the example code, I managed to figure out a solution. In this post, I want to share the process of...
-
Using OpenCV APIs to capture video from a camera is convenient. However, OpenCV does not provide an API for listing all available devices. If you have multiple cameras connected to your PC, you have no idea how to choose the right one. To get device information on Windows, you need...
-
It was my first time to hear about WebAssembly when watching Google I/O ‘17. WebAssembly (wasm) lets developers compile C/C++ or other statically typed languages into JavaScript for building high-performance web apps. Assume I have a C/C++ barcode detection or OCR library deployed on server-side, I can now move it to the...
-
Raspbian is a free operating system based on Debian. It is the recommended operating system for Raspberry Pi. If you do not have a Raspberry Pi, you can experience Raspbian by running the OS image in the emulator - QEMU. In this article, I want to share how to resize...
-
When using React and Dynamic Web TWAIN to create a web document scanning app, I was confused about how to load dynamsoft.webtwain.min.js, a global JavaScript library like jQuery, into my project. I spent some time searching Google for relevant questions, but it was hard to find useful answers. Then I...
-
TypeScript, developed by Microsoft, is a superset of JavaScript. It features static typing, class, and interface. Comparing to JavaScript, One of my favorite TypeScript features is that we can create a TypeScript declaration file (.d.ts) for IntelliSense in Visual Studio Code or other supported IDEs. In this article, I will...
-
When using React Native to write mobile apps, JavaScript is the primary programming language. However, sometimes, you may want to call a platform API that not supported by existing React Native component or use a third-party Android library that built as an AAR file. For these cases, you need to...
-
React Native is a JavaScript framework that enables developers to build mobile apps for Android and iOS platforms with one codebase. Even if you are a web developer, you can quickly develop mobile applications using React Native. Not like Cordova that uses WebViews, React Native produces a truly native user...
-
libuv is a cross-platform C library for Node.js asynchronous I/O model. It implements Node.js event loop and uses a thread pool to avoid blocking the Node.js event loop with time-consuming I/O operations. The post shares how to use libuv to optimize Dynamsoft barcode addon for Node.js. Learning Resources Node.js C/C++ Addons...
-
Flutter, a framework developed by Google, aims to help developers build iOS and Android apps from a single codebase in Dart programming language. It is still an early-stage open-source project. The development environment only works on macOS and Linux (64-bit). I was curious about how Flutter performs comparing to Xamarin...
-
Dynamsoft Barcode SDK for Android is distributed as an AAR file. This article aims to help C# developers, who want to build mobile barcode apps with Xamarin, to use the AAR file in Visual Studio 2015. Dynamsoft Xamarin Barcode SDK is Available on NuGet SDK: Xamarin.Dynamsoft.Barcode.Android Examples: https://github.com/dynamsoft-dbr/xamarin If you want to...
-
NV21 is the default image format used by Android camera. Assume you want to save the data and view it as a BMP file on PC, how to write code in Java without Android image APIs? Let’s do it from scratch. What is NV21 NV21 is a kind of YUV...
-
Visual Studio Code - a source code editor for Windows, Linux and macOS released by Microsoft - is getting more extensible and customizable. It is interesting to build an extension yourself. In this article, I will share how to create a simple HTML snippet extension for VS Code. Snippet for...
-
If you want to open webcam stream in a web browser, what technology will you choose? Probably many developers’ answer is HTML5. Yes, with the JavaScript API getUserMedia, it will be pretty easy to open webcam within web browsers. However, the API is not supported by some old web browsers like...
-
It is known that getUserMedia, the API defined by WebRTC, is the main method for accessing media capture devices such as webcam and microphone in web pages. The compatible desktop web browsers include Chrome, Firefox, Opera, and Edge. This article will share the resources for learning how to capture and...
-
If you have a USB camera, how can you build a simple C# camera application on Windows 10? There are three options: WIA (Windows Imaging Acquisition), DirectShow and MediaCapture. After trying some sample code that downloaded from CodeProject and GitHub, I got the conclusion: 1. WIA is not good because...
-
A package manager, based on a central installation database, is a tool that automatically installs, updates and removes distributions of software. With a package manager, users do not need to manually download an application installer. There are many package managers working for different programming languages and platforms, such as Maven,...
-
No matter whether you are a mobile developer of Android or iOS, your ultimate goal is definitely to publish your apps on Google Play or App Store. Before submitting apps for review, you need to attach some screenshots used for promotion. Furthermore, you can record screen video in order to...
-
When creating an Android library for distribution, besides the class package, source code and documentation are also needed in order to assist developers. Although Eclipse is convenient that you just need to right-click on the project and choose export to generate Javadoc and JAR file, more and more Android developer...
-
When making third party libraries and SDKs for Android development, you could build so files, jar files, or aar files. I prefer providing aar files for distribution since aar file is a simple zip file which includes so files, jar files, and other resources. What’s inside aar file? /AndroidManifest.xml (mandatory) /classes.jar (mandatory)...
-
During Build 2016, Microsoft released a Visual Studio C++ extension for Linux. With the extension, you can use Visual Studio to write C++ code for Linux devices. In this post, let’s take a glimpse of how to install the extension and how to remotely build and debug C/C++ code for...
-
Raspberry Pi 3 has been released for a while. The new RPi device added Bluetooth and Wi-Fi. More and more students and developers tend to study and work using Raspberry Pi, which supported by Windows and Linux. If flashing Windows 10 IoT core on Raspberry Pi, you can build IoT...
-
If you are a software developer, you probably have created a GitHub account to manage, share and learn code. To make your contribution public, GitHub is the right place for open source. However, the hosting service of private repositories on GitHub is not free. If you want to co-work with...
-
Since the day that Microsoft released Visual Studio Code, I had installed it on Windows instead of notepad++. Because VS Code does not have a built-in code formatter or beautifier by default, I was eager to see a more powerful VS Code with extensions. Now there it is. We can...
-
Libcurl is a free, open source library for transferring data. It supports various protocols include FTP, FTPS, HTTP, HTTPS, GOPHER, TFTP, SCP, SFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP, and RTMP. I’ve been looking for a cross-platform HTTP library for my project, and libcurl seems to be...
-
In reality, we can always see some photos that have low brightnesses and low contrast. To make objects recognizable in pictures, we need to process the photo with Illumination Compensation. There are many algorithms used for Illumination Compensation such as Histogram equalization, Color similarity measure, Gamma Correction and so on. In this tutorial, I...
-
Dynamic Web TWAIN (DWT) is a Web-based TWAIN scanning solution, which could be deployed to Windows, Mac OS X, and Linux. Users could visit DWT apps via any HTML5-comptible Web browsers on Windows or Mac. To facilitate the process of Web project deployment, we can use Docker. In this post,...
-
Azure is a powerful cloud computing platform created by Microsoft. It provides various services and solutions including Web apps, virtual machines, SQL database and so forth. I’m interested in virtual machine service and have been experiencing it for a few days. During my work time, I often need to switch...
-
More and more companies tend to release products for both Mac and Windows platforms. If a Windows developer wants to create apps for Mac OS, the most economical way is to use a virtual machine. When I upgraded my operating system from Windows 7 to Windows 10 and installed VMWare...
-
In this tutorial, let’s see how easy to find all contours in an image with OpenCV APIs. Overview Finding contours is a useful task during image processing. The relevant OpenCV functions are as follows: Find contours in a binary image. void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int...
-
Links is one of the critical SEO factors for a Website. When creating or re-designing some pages, we cannot ignore Website audit especially in terms of finding and tracking broken links regularly. Although there are many online tools, it is still worth learning and implementing such a tool ourselves for...
-
Plenty of enterprises allocate static IPs and gateways to employees’ devices for better network management. For example, limiting the internet connection speed, monitoring intranet activities and so on. In my company, the network administrator sets up two gateways for accessing different broadband services. During my working time, I often need...
-
In this tutorial, let’s learn how to use Hough line transformation with OpenCV to make line detection in an Image. Hough Line Transform The Hough Line Transform is a transform used to detect straight lines. OpenCV implements three kinds of Hough Line Transforms:(Standard Hough Transform, SHT),(Multi-Scale Hough Transform, MSHT)and (Progressive...
-
Changes or discontinuities of amplitude attribute, such as luminance value, are fundamentally important primitive characteristics of an image. They often provide an indication of the physical extent of objects. Local Discontinuities of image luminance that from one level to another are called luminance edges. In this post, I’ll share how...
-
Django is a Web application framework written in Python. In this article, I will focus on how to use Django to upload files. Besides a basic demo that based on HTML form, I will also share how to combine Dynamic Web TWAIN SDK with Django to scan and upload image...
-
OpenCV (Open Source Computer Vision Library) is a powerful open source library of computer vision algorithms. It is widely used by many technologies, such as image acquiring (e.g. Webcam capture), image processing (e.g. noise reduction), image detection (e.g. face detection), image recognition (e.g. OCR), and so on. Since all OpenCV...
-
When asking UI designers the question “which raster graphics editor do you prefer”, probably most of the answers are Adobe Photoshop, which seems to be the professionals’ best choice. But as a developer, who only needs to do some simple image editing, I’d like to choose Gimp, which is totally...
-
Before releasing a Windows software, which is not open-source, we have to package everything that we have done in a Windows installer. In this post, I’d like to share how to build a Windows MSI installer with Microsoft Visual Studio 2010. Creating a Basic MSI Installer Click Setup and Deployment,...
-
Comparing to iOS, one of my favorite Android features is that Android supports USB peripherals. It’s fairly convenient to connect USB devices to Android smartphones via OTG cables. Therefore, no matter whether your Android phones, which probably only have 16G built-in storage, have SD card slot or not, it’s still...
-
Previously, I shared an article Making an Android OCR Application with Tesseract. This time, I’d like to share how to build the tesseract OCR library with Microsoft Visual Studio 2008 on Windows. Building Tesseract I’ve tried different ways to set up the building environment, and finally concluded that the most...
-
A Pipe, which has two ends, is a section of shared memory that used for communication between processes. It allows processes to read and write information from each end. In this tutorial, I’d like to share how to build the pipe communication for multiple threads on Windows. Pipi Communication between Two Threads...
-
Tesseract is a well-known open source OCR engine that released under the Apache License 2.0. In this tutorial, I’d like to share how to build the OCR library for Android, as well as how to implement a simple Android OCR application with it. Ads Powered by Dynamsoft Tesseract Android Tools...
-
When writing code in IDEs (Visual Studio, Eclipse, Netbeans, Aptana, etc.), developers need to find useful APIs and relevant documentations quickly. The assist function (e.g. IntelliSense) is usually triggered by the shortcut keys Ctrl + space. See the screenshots of Microsoft Visual Studio and Netbeans. All smart IDEs could automatically...
-
Think of the game, we know that we have 4 teams in play. At a given time, all we need to see is where these 16 planes are. For the game engine, all it needs to know is the coordinates of these 16 planes. So we need to create another...
-
Java Native Interface (JNI) is the glue between Java and native code such as C, C++, and assembly. With JNI, Java applications are capable of supporting platform-specific features. JNI enables developers to call low-level APIs (e.g. SQL, OpenGL etc.) to make Java application more powerful with higher performance. For example, we can...
-
When you are going to purchase a new smartphone like iPhone 6 or Galaxy S5, don’t just throw your old devices away. Via socket connection, we can build a remote monitoring system with obsolete mobile devices instead of purchasing expensive Webcams or wireless cameras. In this article, I’d like to...
-
As a Windows developer, I spent some time looking for an efficient way to create a service, as a counterpart of Windows service, on Mac OS X. Referring to the online documentation – Designing Daemons and Services, there are four types of background processes. The type Launch Daemon satisfies my...
-
In this tutorial, I’d like to share how to write a simple Android application to take a picture, as well as upload the image to a remote PHP server. Let’s get started with a simple Java application. [caption id=”attachment_3447” align=”aligncenter” width=”600”] Ads Powered by Dynamsoft[/caption] Uploading Images with Java Download the...
-
In the previous articles, I shared how to implement a .Net WebSocket server with SuperWebSocket. Today, I’d like to continue the series WebSocket: How-to, talking about how to implement a WebSocket server in Java. What is Jetty? “Jetty provides a Web server andjavax.servlet container, plus support forSPDY, WebSocket, OSGi, JMX, JNDI,...
-
Today we start making our Modern Ludo Game from scratch. The first thing to do is draw the board. For this part, we’ll simply use the in HTML5. The MarkUp is very simple: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>ModernLudo</title> <link rel="stylesheet" type="text/css" href="Styles/modernludo.css" /> </head> <body> <div id="playGround" style="display:none;"> <div...
-
A Chrome extension is a package of files including a manifest file, HTML files, JavaScript files and other resources. With extensions, we can add more functionalities to empower Chrome. Getting Started with Chrome Extension Chrome Extension Overview Chrome Extension Debugging Chrome Extension Samples Anatomy of Web Page Screenshots The manifest...
-
HTML5 WebSocket facilitates the communication between web browsers and local/remote servers. If you want to learn a simple websocket example, creating a WebSocket Server in C## and a Web client in JavaScript, you can refer to SuperWebSocket, which is a .NET implementation of Web Socket Server. In this article, I...
-
In this post, let’s take a glimpse of how to organize multiple Visual Studio .sln files under the same directory. Problem about Visual Studio .sln Files For some occassions, you may want to organize the file hierarchy of your Visual Studio projects as belove: All the .sln files are sorted under...
-
If you ever developed some iOS or Android apps, you should know that for localization, the strings should be stored in some resource files and dynamically loaded in apps. What about Windows applications? When I tried to store strings in a resource file in Visual Studio, I met some problems...
-
Last time, I shared my experience about how to use JavaScript saving HTML canvas data to local disk in Chrome. In this tutorial, I would like to share how to save HTML canvas data to remote service with JavaScript and PHP. Ads Powered by Dynamsoft Uploading canvas data is a...
-
When you visit the Dynamic Web TWAIN online demo from Mac OS X, you need to download and install a pkg plugin. How is the installer made? Where is the installed plugin located in the file system? In this tutorial, I will show you how easy it is to make...
-
Recently, I spent several days implementing a web music player. Just for fun. With the player, I can listen to songs that are stored in my home computer. While at work, I just need to start a remote service at my house and then open the browser and input the...
-
In this tutorial, I would like to show how to configure and install nginx on Mac OS X. My Mac system is Mavericks 10.9.2. Prerequisites You have to install Xcode command line tools. Install Nginx Download the latest stable version – nginx 1.4.7. Unzip the downloaded package by the command...
-
In my daily life, I enjoy taking photos with my smartphone and uploading them to various websites. So I started thinking, “Is it possible to implement these functions in a web browser?” Fortunately, the new HTML5 SDK is capable of uploading local images or captured images to web servers. Everything...
-
In HTML5, there is a new tag <canvas>, which is used to draw graphics via JavaScript. In this tutorial, I would like to share how to draw images on canvas, and how to save the canvas data to local disk by clicking button. Ads Powered by Dynamsoft Draw Images on...
-
In this article, I will share the basic concept of Libwebsockets, as well as how to write a simple program with the APIs. What is Libwebsockets Libwebsockets is a lightweight pure C library; built to use minimal CPU and memory resources as well as providing fast throughput in both directions....
-
In this tutorial, let’s continue to learn how to use OpenSSL to sign a certificate. Steps of Signing Certificate with OpenSSL We can use the command line to quickly generate ca certificate. openssl genrsa -out cakey.pem 2048 openssl req -new -days 365 -x509 -key cakey.pem -out cacert.pem -nodes -subj /C=CA/ST=BC/L=Vancouver/O=Dynamsoft/OU=Dynamsoft/CN=Dynamsoft/emailAddress=support@dynamsoft.com...
-
Previously, I talked about how to check PageRank in Java. In this article, I will combine PageRank with Excel files. To operate Excel files in Java, I used Apache POI - the Java API for Microsoft Documents. Apparently, you can download the API package, and follow the relevant tutorials to...
-
In this tutorial, let’s learn how to use OpenSSL to generate X.509 certificate request. Certificate signing request is a message sent from an applicant to a certificate authority, which usually includes: Country Name (2 letter code) [US] State or Province Name (full name) [BC] Locality Name (e.g., city) [Vancouver] Organization...
-
It is known that RSA is a cryptosystem which is used for the security of data transmission. This tutorial introduces how to use RSA to generate a pair of public and private keys on Windows. Download and install OpenSSL https://www.openssl.org/community/binaries.html. Find libeay32.lib, ssleay32.lib and libeay32.dll. The following sample code will...
-
Backlink is one of the most important factors for search engine ranking. Thus, the analysis of backlinks is significant for website owners. It is known that Google Webmaster tools can record search traffic allowing users to check the links to their sites. We can download the relevant data as figure...
-
Strong name signatures consist of the identities of an assembly. They are strengthened by both public keys and digital signatures (as generated from the assembly). The identities include the plain text name, version number and regional information of the assembly (if provided). An assembly with a strong name can only...
-
Yesterday, my colleague told me that there was a weird issue that existed in our WPF sample code for Dynamic .NET TWAIN. What we wanted to implement was to create two projects, and start one application from another. The problem was, when we started the invoked application independently, it worked...
-
In the previous blog post, I have glanced at HTML5. Probably many people have already experienced some cool functions of HTML5. In this article, I would like to share how to invoke Webcam in HTML5. While strolling through StackOverflow, I found there are many questions about how to display webcam...
-
Control web cameras or the built-in laptop webcams inside IE, Firefox and Chrome with JavaScript In some scenarios, such as Visitor Monitoring module for a government department or Patient Tracking module for a hospital, we may need to take a snap of human faces, patient charts, user IDs and so...
-
Control web cameras from browsers with Dynamic Webcam API Introduction to the Webcam Library Dynamic Webcam SDK is a browser plugin which enables users to acquire images from a webcam, edit and then upload/save them to a database, web server or local disk. Also, it can capture a live video stream into...
-
Nowadays, Webcam is widely used for both personal and business. It is simple, cheap, and yet powerful for image acquisition. Some developers prefer to create their own webcam libraries. In this case, you need to learn technologies like TWAIN, WIA and/or DirectShow. Note: the WIA and DirectShow APIs are recommended...
-
Today when I was browsing the MSDN VC++ forum, I saw a post asking the differences between “Start with debugging” and “Start without debugging”. The original post is: I’m having a problem with a network application I’m coding. I have this connection between a client and a server that only...