Home Blog

Bazel day on Google Open Source Live

Bazel day on Google Open Source Live
Bazel day on Google Open Source Live

Bazel day on Google Open Source Live

March 4

This month’s Google Open Source Live will highlight the Bazel Open Source build system along with multiple sessions presented by Bazel team members and the Bazel community. Join us to understand different approaches to building and creating large Open Source code bases such as Android Open Source Platform (AOSP) as well as packaging Bazel Open Source for Debian. We look forward to seeing you all at Bazel day on Google Open Source Live!

March 4, 2021 11:00 AM – 1:00 PM CST


Hikvision IP Camera RJ45 Pin-Out

Hikvision IP Camera RJ45 Pin-Out
Hikvision IP Camera RJ45 Pin-Out

Hikvision IP Camera RJ45 Pin-Out

When installing HikVision cameras,in some situationsthe RJ-45 plug gets damaged or even cut.The wires connecting to the RJ-45are not standard CAT-5/5e/6color-coded.Pro Series cameras and Value Series cameras have differently colored wires, so each camera has itsown wiring diagram to connect a new connector to the camera, please refer to the Figure 1showsthe diagram for VALUE SERIES CAMERAS.


Figure 2 shows the diagram for PRO SERIES CAMERAS.

Hikvision IP Camera RJ45 Pin-Out pro series
Hikvision IP Camera RJ45 Pin-Out pro series
Hikvision IP Camera RJ45 Pin-Out 1
Hikvision IP Camera RJ45 Pin-Out

1: white
2: brown
3: blue
4: grey
5: purple
6: green
7: yellow
8: orange

Hikvision IP Camera RJ45 Pin-Out
Hikvision IP Camera RJ45 Pin-Out

We can confirm the correctness of your pinout diagram but you are counting the pins in the wrong order. Following the EIA-568 standard, pin 1 is what you call pin 8.
If followed the EIA-568 standard the pins would be assigned to the following colours (so simply inversely).

PyTorch Classifying an image

The essential thing to do with an in-depth learning framework is to classify an image with a pre-trained model. This article works out of the box with PyTorch.

1. Head over to pytorch.org for instructions on how to install PyTorch on your machine.
2. Install other dependencies, including a specific commit of torch vision (since things are changing quickly).


3. Import packages and hardcode URLs.

The first two imports are for reading labels and an image from the internet. The Image class comes from a package called pillow and is the format for passing images into torch vision. LABELS_URL is a JSON file that maps label indices to English descriptions of the ImageNet classes and IMG_URL can be any image you like. If it’s in one of the 1,000 ImageNet classes, this code should correctly classify it.

4. Initialize the model.

This will download the weights for the SqueezeNet model.

5. Define the preprocessing transform.

The specific set of steps in the image processing transform come from the pytorch examples repo here and here. Without these, the classifier will not work correctly.

6. Download the image and create a pillow Image.

This is a quick trick for reading images from a URL. You can also read them from disk with Image.open(“/path/to/image.jpg”). One cool thing about pillow images is that if you execute a code cell with the object in jupyter, it will display the image for you.

7. Preprocess the image.

First, we apply the preprocessing transforms from above; then we use .unsqueeze_(0) to add a dimension for the batch. Any method that ends with an underscore happens in place.

8. Run a forward pass with the neural network.

The input to the network needs to be an autographed Variable. We run the forward pass by calling the squeeze model. NOTE: this does not apply the softmax activation function.

9. Download the labels.

The requests package will parse JSON for us and return a dictionary. But it’s nice for the keys to be integers since we’re looking for the index of the maximum element in fc_out. After this step, labels will look like this:

10. Print the label!

Notice, the fc_out variable has a .data attribute. This is a torch Tensor, which has a .numpy() method, which gives us a numpy array. We can call .argmax() on the numpy array to get the index of the maximum element.  We find the value with that key from labels, and we get our class label.

Code Completed:

Insert and Update in SQL Using User-Defined Table Type in C#

User Defined Table Types SQLServer

Insert and Update in SQL Using User-Defined Table Type in C#
APPLIES TO: SQL Server and Azure SQL Database.
Let Start with [ SQL]
For creating a user-defined table type in SQL here is the procedure:

  1. First create a user-defined table type by selecting in Object Explorer.
  2. Inside that select your database.After selecting it just expand it.
  3. Inside that select the Programmability Folder. After selecting it just expand it.
  4. You will see a folder with Name Types.
  5. Just select and expand it and you will see a user-defined table type.
  6. Just right-click on the folder and select “New User-Defined Table Type…”.

Here is a Snapshot.

User Defined Table Types SQLServer

After selecting you will see this view.

Create User defined Table Type
Create User defined Table Type

Then I created a Table (SQL Table).

Here I created a user-defined type.

Here in this Stored Procedure I used “User_Define_Table_Type”.

Let us Start with C# Here I am passing a Datatable to SQL. Here is the connection String.


usb 3.0 vga driver win 10

adapter usb 3.0 vga
adapter usb 3.0 vga

Fresco logic FL2000 – VGA

USB 3.0 a VGA steren driver win 10

Recently we found some crashes on Win10 anniversary update OS with certain inbox display driver, and found out that the WDDM architecture was updated from 2.0 to 2.1.
Starting from version 2.0.33043.0, the complete support of WDDM2.1 is added. Make sure you download the latest driver.

If your device connects a computer to a monitor or TV then you want our USB 3.0 to VGA/HDMI Driver.
If your device adds USB ports to your computer then you want our USB 3.0 Host Controller Driver.



USB 3.0 to VGA/HDMI Driver
FL2000-2.1.34054.0 (Windows)
USB 3.0 to VGA/HDMI FL2000 Driver FL2000-2.1.34054.0

USB 3.0 to VGA/HDMI Driver
(FL2000) ver 2.1.34
USB 3.0 to VGA/HDMI FL2000 Driver FL2000-2.1.34054.0

USB 3.0 to VGA/HDMI Driver
(FL2000) ver 2.1.33
USB 3.0 to VGA/HDMI FL2000 Driver FL2000-2.1.33788.0


Starting from version 2.1.33350.0, Indirect Display Driver is supported, which aims to eliminate lots of compatibility issues. Make sure you upgrade your driver to the latest if you are running win10 RS1 OS or above.


Installer Error Message “thin2000 usb display adaptor setup ended prematurely”

This error often occurs when you are installing new driver (eg. V2.0 or above) while you have old driver installed (V1.0), and the old driver wouldn’t get uninstalled.

Here is step-by-step procedure to uninstall your previous driver.

1. Locate your original driver CD where you would find “FLUSBVGA-1.1.329.EXE” (for example).

2. Copy the FLUSBVGA-1.1.329.EXE to C:\ .

3. Invoke cmd.exe with “administrator privilege”. type “cd \”, “dir FLUSBVGA*.EXE”. You should see the file in the cmd window output.

4. type “FLUSBVGA-1.1.329.EXE /extract”. You should see 2 msi files extracted. type “dir *.msi”. The 32bit MSI file should look like this xxxxx.msi , while the 64bit msi should be xxxxx.x64.msi. The xxxxx denote random numbers.

5. If your OS is 64bit , type “msiexec.exe /x xxxxx.x64.msi”. Otherwise type “msiexec.exe /x xxxxx.msi”. At this step ,you should see uninstaller window shows up.

6 During step 5, you will be required to reboot your system. After that, you can install the latest driver.

If the above still fails, send us the step by step cmd.exe window screen dump (by ALT-PrintScreen Key, and save it to a bmp file).

USB 3.0 Controller not working or disappears when devices are connected.

This is usually caused by lack of power to the card. Many of the cards using our USB 3.0 host controllers have a power connector that needs to be connected to the system power supply.

If a power cable is not connected then the controller may show up in Windows Device manager but disappear when any USB devices are connected

USB 3.0 USB3 Type-C-Type C USB C to VGA-External

to the controller.

Other possible symptoms:

Controller doesn’t appear in Device Manager.

Controller appears with a yellow triangle in Device Manager.
Controller appears in Device Manager but disappears when an

y device is plugged in.

Linux driver:

Fresco Logic FL2000 Linux/Android kernel driver
Open source https://github.com/FrescoLogic/FL2000

This is an official driver release from Fresco Logic in an attempt to help the open-source community adopting the development and use of the FL2000DX device. This driver only covers the USB part of the display logic. It does not support the Linux desktop logic (eg. extended desktop vs mirrored desktop).

1. On which kernel versions does this driver work?

This driver is tested on Ubuntu 14 LTS as well as some Android platforms with kernel version 3.10.x. This driver source might not compile on newer kernels (eg. 4.0 or above) because of the fast-moving API changes in the mainstream kernel. You might need to adapt it for your own use.

2. Target audience

This release is targeted to open-source developers, as opposed to end-users.

3. How do I enable extended desktop/mirrored desktop on my X Window?

Currently Fresco Logic does not provide desktop related manipulation. Fresco Logic hopes the community will contribute to this area so that end-users can easily adopt this solution.

4. FL2000DX limitation.

The FL2000DX chip is cheap by design where it doesn’t have a frame buffer on its own. It relies heavily on USB 3.0 transfer speed to accommodate continuous USB flow. The larger the image is, the heavier it depends on USB bandwidth. A typical 1920×[email protected] Hz requires 1920 * 1080 * 24bpp * 60 = 373,248,000 bytes/sec of traffic over the USB bus. As such, USB2.0 speed is not supported.

Connecting more than one FL2000DX device to the same bus is deprecated.

How do I file a bug to the Fresco Logic developers?
You can file bugs to Github Issues

Datatables warning(table id = ‘example’): cannot reinitialise data table

DataTable Jquery


DataTables warning (table id = ‘dataTable’): Cannot reinitialise DataTable. To retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy.

Try adding “bDestroy”: true to the options object literal, e.g.
Important to notice that even though this will fix the issue, it does not tackle the original problem, which is the unnecessarily duplicated initialization of Data tables.

Caution Destroy

The basis for altering the initialization parameters is that you need to destroy the old table and then create a new one with your new options. Destroy has a very significant performance hit on the page, since a lot of calculations and DOM manipulation is involved, so if you can avoid this, and use the API, that is very strongly encouraged!


Alternative or Best practice

There are some ways that this error can crop up in code, so there also some methods that can be used to fix the issue. It is depending on precisely what you are trying to achieve.

Single initialization

If we want to make use of multiple DataTables initialization options, apply them all together to the table. In the case of the code error above, where we try to disable paging and searching, the best practice is: