By default docker-machine-kvm uses a boot2docker.iso as guest os for the kvm hypervisior. It’s also possible to use every guest os image that is derived from boot2docker.iso as well.
For using another image use the --kvm-boot2docker-url parameter.
Dual Network
eth1 – A host private network called docker-machines is automatically created to ensure we always have connectivity to the VMs. The docker-machine ip command will always return this IP address which is only accessible from your local system.
eth0 – You can specify any libvirt named network. If you don’t specify one, the “default” named network will be used.
If you have exotic networking topolgies (openvswitch, etc.), you can use virsh edit mymachinename after creation, modify the first network definition by hand, then reboot the VM for the changes to take effect.
Typically this would be your “public” network accessible from external systems
To retrieve the IP address of this network, you can run a command like the following:
docker-machine ssh mymachinename "ip -one -4 addr show dev eth0|cut -f7 -d' '"
Driver Parameters
Here are all currently driver parameters listed that you can use.
Parameter
Description
–kvm-cpu-count
Sets the used CPU Cores for the KVM Machine. Defaults to 1 .
–kvm-disk-size
Sets the kvm machine Disk size in MB. Defaults to 20000 .
–kvm-memory
Sets the Memory of the kvm machine in MB. Defaults to 1024.
–kvm-network
Sets the Network of the kvm machinee which it should connect to. Defaults to default.
–kvm-boot2docker-url
Sets the url from which host the image is loaded. By default it’s not set.
–kvm-cache-mode
Sets the caching mode of the kvm machine. Defaults to default.
–kvm-io-mode-url
Sets the disk io mode of the kvm machine. Defaults to threads.
Send is a native macOS client for Firefox Send services directly based on a fast and secure Rust library with first class support for uploading folders and large files.
This project is inspired by Ben Eater’s VGA display project, where the goal is to build a circuit that generates the correct timing of sync signals for a VGA monitor to display an image stored on an EEPROM. While Ben Eater’s version displays a single 100×75 pixel image with a 64-color palette, my version introduces significant upgrades. These include support for two images that can be controlled both asynchronously and synchronously, and an increase in color depth from 64 colors to 256 colors. This is achieved by fully utilizing the 8 bits of the AT28C256 EEPROM instead of the 6 bits used in the original version.
Dual Image Display
Upgrading the project to support two images required only minor adjustments, as the full address space of the AT28C256 EEPROM was not used in the original project. The EEPROM has 15 address pins (A0-A14), but in the original video, the most significant address pin, A14, was left unused. By utilizing this pin, the EEPROM was effectively divided in half, with each half storing a separate image. Controlling which image is displayed is simple: toggling the A14 signal between logic 0 and logic 1 selects one of the two images. This toggle can be controlled automatically using a fixed timing mechanism or manually by the user.
Result of the Finch and Bird Images
Here are photos showing the result of the Finch and Bird images displayed on the VGA monitor. These photos demonstrate how the images look after being processed and stored on the EEPROM.
Image Control Mechanism
The control mechanism for switching between images offers three modes, selected via sliding switches: astable, monostable, and bistable. In the astable mode, the image changes at regular intervals using an adjustable clock built with a 555 timer chip and a potentiometer to vary the frequency. The monostable mode uses a set resistor and capacitor value to switch images based on a fixed timing. Finally, the bistable mode allows the user to manually change the displayed image by pressing a button that toggles between the two states.
Upgrading the Color Palette to 256 Colors
Ben Eater’s original project used 6 bits for color, allowing for a palette of 64 colors. Two bits were used for each of the three color channels: red, green, and blue. However, since the EEPROM has 8 bits, I expanded the color palette to 256 colors (2^8 = 256) by using all available bits. The 8 bits are organized as follows:
The least significant 3 bits (bits 0-2) represent the red channel.
The next 3 bits (bits 3-5) represent the green channel.
The most significant 2 bits (bits 6-7) represent the blue channel.
This expanded palette allows for greater color depth while maintaining the same method of generating the required voltage levels via voltage dividers. These dividers divide the voltage signal into two or three equal parts, depending on the channel.
Building the Project
The project was initially prototyped on a breadboard to test the circuit. After the design was confirmed to be working, I transitioned to designing and printing a custom PCB using an online service. This made the circuit more reliable and compact compared to the breadboard version.
Generating and Uploading Images to the EEPROM
In Ben Eater’s video, Photoshop was used to convert images to the defined 64-color palette, and Python was then used to convert the image to a .bin file, which was uploaded to the EEPROM using a programmer. Since I did not have access to Photoshop or an EEPROM programmer, I created a Python script to convert each pixel of a 100×75 image to one of the 256 possible values, and then used an Arduino Mega to upload the image to the EEPROM. The Arduino Mega was chosen due to its higher memory capacity, allowing one image to be saved and loaded into the EEPROM at a time. This process has some limitations: the Mega only has enough memory to handle one image at a time, and it takes approximately 1 minute and 20 seconds to program a single image.
Future Improvements
There are several future enhancements planned for this project:
Increasing Resolution: A higher resolution image could be displayed, but this would require faster hardware and a more efficient EEPROM to handle the increased data.
Improved Circuit Design: Adding bypass capacitors as close as possible to each component on the PCB will help mitigate noise and improve signal integrity.
Better EEPROM Quality: Purchasing EEPROM chips from reputable sources may help reduce screen artifacts and improve the quality of the displayed image.
Improved Color Conversion Algorithm: The current algorithm used to convert pixel colors to a 256-color palette is relatively simple, based on dividing the color range into equal parts. A more sophisticated algorithm could be developed to better map image colors to the 256-color space, optimizing the visual output. This would help take fuller advantage of the available color palette.
Faster EEPROM Programming: The speed of EEPROM programming could be improved by using Port Manipulation on the Arduino. This method involves manipulating the microcontroller’s port registers directly, allowing for faster and more efficient control of the I/O pins compared to the higher-level digitalWrite() functions.
Welcome to the Stock Analysis Dashboard, an open-source project designed for interactive stock data visualization and analysis. This dashboard is built using Panel, Cufflinks, and Plotly, providing a dynamic and user-friendly interface for exploring stock market trends and metrics.
Features
Interactive charts and graphs using Plotly and cufflinks
Customizable technical analysis charts
Historical data comparison
Forecasting
Installation
To set up the Stock Analysis Dashboard, follow these steps:
In this project, we use Neural Networks for the detection of Eyeblink and Eyegaze concurrently. For that, we use 2 pre-trained Neural Networks. One network is used for the detection of eye-blink and another is used for the detection of ‘Left’, ‘Right’, and ‘Center’ gaze of the eye. For the detection of the eye, we use dlib library.
Using Dlib frontal face detector all of the 68 facial landmarks co-ordinates are detected and the co-ordinates are converted into numpy array.
Pass 36,37,38,39,40,41th index of array to the crop_eye()
function as it contains co-ordinates of respective landmarks and function returns cropped image for left eye.
Similarly pass 42,43,44,45,46,47 index to get cropped image of right eye.
4. Pass the cropped eye images through the model for the detection of the eye’s state.
5. If the opening of the left eye and opening of the right eye is less than 10% then it is registered as blink and gaze is determined through the index of highest value in the array returned by the model.
Show all the status and results in the final window.
Magento 2 Social Login extension is designed for quick login to your Magento store without procesing complex register steps. Let say goodbye the complicated registration process and ignore a lot of unnecessarily required fields. Magento 2 Social Login extension is simply and powerful tool to integrate your Magento customer account to Facebook, Google Plus, Twitter, LinkedIn, and Instagram channel. Logging in via the social medias is the great idea to enhance your customer’s satisfaction.
Highlight features for Social Login
Quickly login step with five most common social channels
Easy to change the personal information after registering
The biggest preparation step for the loyalty of customers
Customers are not patient enough to fill a lot of required information while those are available in social account as Facebook, LinkedIn,…. Mageplaza Social Login extension, your customers only need to click on the social button and all necessary information is completed automatically.That is the main reason why Magento 2 Social Login extension is considered as the great solution for that convenience.
Login to Magento Admin and do as the following:
General Configuration
Enable Social Login
Go to Admin Panel > Social Login > Settings > General
Select Yes option in order to allow customers to sign in quickly via social channels they are using.
Setting Social Login popup effect
Go to Admin Panel > Social Login > Settings > General
Right after activating, all of available social buttons are shown on Sign In box while the page will appear instantly on Home page without any navigation to other site.
Admin can choose one of nice effects as you need by block in Popup Effect field.
Custom color of checkbox
Go to Admin Panel > Social Login > Settings > General
Mageplaza Social Login provides a Magento 2 default color and 8 popular colors for your design, you can choose custom color which fit with your store design.
Especially, now we also support you 9th color that you can freely custom depends on needs of yourself. It is unlimited color to design the style of Sign In box
Facebook Sign In
How to configure Facebook Login
Go to Admin Panel > Social Login > Settings > Facebook
Choose Yes or No to enable or disableFacebook Sign In button on the front-end with Facebook App ID and Facebook App Secret.
If customers login via Facebook App, you can send email notification about their account’s password on your site or not, that depends on setting in Send Password to Customer field.
Login using Facebook account
The login box will display as popup checkbox after clicking on Facebook Sign In button.
Google Sign In
How to configure Google Login
Go to Admin Panel > Social Login > Settings > Google
Choose Yes or No to enable or disableGoogle Sign In button on the front-end with Client ID and Client Secret.
If customers login via Google, you can send email notification about their account’s password on your site or not, that depends on setting in Send Password to Customer field.
Login using Google account
The login box will display as popup checkbox after clicking on Google Sign In button.
Twitter Sign In
How to configure Twitter Login
Go to Admin Panel > Social Login > Settings > Twitter
Choose Yes or No to enable or disable Twitter Sign In button on the front-end with Consumer Key and Consumer Secret.
If customers login via Twitter, you can send email notification about their account’s password on your site or not, that depends on setting in Send Password to Customer field.
Login using Twitter account
The login box will display as popup checkbox after clicking on Twitter Sign In button.
LinkedIn Sign In
How to configure LinkedIn Login
Go to Admin Panel > Social Login > Settings > LinkedIn
Choose Yes or No to enable or disable LikedIn Sign In button on the front-end with API Key and Client Key.
If customers login via LinkedIn, you can send email notification about their account’s password on your site or not, that depends on setting in Send Password to Customer field.
Login using LinkedIn account
The login box will display as popup checkbox after clicking on LinkedIn Sign In button.
Mageplaza extensions on Magento Marketplace, Github
In the following of this README, the full sample of analyzed tools is classified according to the features from the taxonomy presented in the paper; for the reader’s convenience, a figure representing the taxonomy is also displayed in the following paragraph.
Please, include the following citation if you intend to (re)use our work:
L. Quaranta, F. Calefato and F. Lanubile, “A Taxonomy of Tools for Reproducible Machine Learning Experiments,” Proceedings of the AIxIA 2021 Discussion Papers Workshop (AIxIA DP 2021), 2021, pp. 65-76, online: CEUR-WS.org/Vol-3078/paper-81.pdf.
The Taxonomy
Tools Review
General
The tool sample classified according to the features of the General category.
N.B.: Rows related to Dotscience are strike-through because the service seems to be shutting down. We read this blog post a few days after our trial.
Repository contents
The tools/ folder contains environment templates for the tools that require a local installation to be executed. To try the tools we used — where possible — a realistic case study inspired to the lessons of the Kaggle’s micro-courses “Intro to Machine Learning” and “Intermediate Machine Learning”. The kernels/ folder contains template notebooks implementing the case study, while the sample dataset is stored in the input/ folder.
Setup instructions
To try one of the reviewed tools, follow these steps:
go to the tool’s folder: /tools/<tool_name>;
if a .env_template file exist, make a copy of it; give the name .env to the copy; edit .env giving a value to each of the mentioned variables.
if a README.md file is present, follow the specific instruction there.
If you don’t want to deal the command-line interface (CLI) you can simply
drag-and-drop the target binary on the appropriate (32-bit or 64-bit) unlicense
executable (which is available in the “Releases” section).
Otherwise here’s what the CLI looks like:
unlicense --help
NAME
unlicense.exe - Unpack executables protected with Themida/WinLicense 2.x and 3.x
SYNOPSIS
unlicense.exe PE_TO_DUMP <flags>
DESCRIPTION
Unpack executables protected with Themida/WinLicense 2.x and 3.x
POSITIONAL ARGUMENTS
PE_TO_DUMP
Type: str
FLAGS
--verbose=VERBOSE
Type: bool
Default: False
--pause_on_oep=PAUSE_ON_OEP
Type: bool
Default: False
--no_imports=NO_IMPORTS
Type: bool
Default: False
--force_oep=FORCE_OEP
Type: Optional[Optional]
Default: None
--target_version=TARGET_VERSION
Type: Optional[Optional]
Default: None
--timeout=TIMEOUT
Type: int
Default: 10
NOTES
You can also use flags syntax for POSITIONAL ARGUMENTS