Minando criptomonedas en Android (Smartphone o Tablet)

Minando criptomonedas en Android (Smartphone o Tablet)

Criptominería

Estándar

El hacer dinero especulando con las criptomonedas es un negocio muy arriesgado, ya que podemos perder una parte de lo invertido, Pero qué tal si en lugar de comprar criptomonedas con la esperanza de que aumenten su valor, las minamos y esperamos a que aumenten su valor. Desde esa perspectiva, nuestra inversión es casi cero, si ignoramos el consumo de batería de nuestro móvil o tablet.

 

Aunque si bien es cierto podemos minar criptomonedas más eficientemente desde una computadora personal, debemos dejarla encendida 24/7 y a menos que nuestro hardware sea de grado empresarial, nuestra PC no está hecha para operar de esta manera. Sin embargo hasta el más modesto de los smartphones está hecho para operar sin ser apagado.

Para minar en nuestro smartphone, primero necesitaremos una criptomoneda que minar y debido a que no tenemos una tarjeta gráfica con soporte CUDA, nuestras opciones se reducen a sólo aquellas que soporten el minado a través del CPU y esa criptomoneda en Monero.

El software para minar Monero más universal es XMRig, que puede correr en un smartphone o table Android que soporte el app Termux, un Raspberry Pi (del cuál haré un tutorial luego), un PC con Windows o MacOS y hasta en un navegador.

Pero minar en solitario es un desperdicio de poder de cálculo, es mejor hacerlo en grupo, o como se llama en inglés en «pool«. Pool en realidad quiere decir piscina, pero  debemos entenderlo como un grupo de mineros que se ponen de acuerdo para repartir el trabajo de minado y luego cuando se obtiene un bloque se divide lo ganado proporcionalmente entre todos los miembros del pool, en función al poder de cálculo que aportó cada uno.

Hay muchas comunidades de mineros, pero yo he usado en este ejemplo MineXMR y me ha funcionado sin problemas. Por lo tanto será la que utilizaré en este tutorial.

Ya que tenemos definido la criptomoneda (Morero), el software para el minado (XMRig), la comunidad (pool) de minado (MineXMR). Ahora necesitamos una billetera electrónica en dónde depositar los beneficios del proceso de minado y para ello usaremos el wallet oficial de Monero, que podremos descargar desde aquí.

Primer paso: Crear nuestra billetera electrónica (Wallet)

Para hacer las cosas sencillas crearemos nuestra billetera electrónica en nuestra computadora personal, ya sea que esta corra Windows, MacOS o Linux, tendremos una billetera electrónica en formato gráfico que nos facilitará su uso.

Iniciando la instalación de la billetera nos toparemos con esto:

Selecciones la opción «Simple mode«, luego de ello debemos ver esta pantalla:

Aquí, debemos aceptar que somos concientes que no poseer todo el blockchain en nuestra computadora y conectarnos a un nodo externo es un riesgo de seguridad. Pero, a menos que hagamos una operación de minado a gran escala, pues no necesitaremos tener una copia completa del blockchain en nuestra computadora.

Luego de hacer click en la checkbox, debemos hacer click en Next y obtendremos la siguiente pantalla:

Como no tenemos una billetera previamente instalada, debemos hacer click en «Create a new wallet» y entonces obtendremos esta pantalla:

Completemos los campos necesarios como el nombre de nuestra billetera, en este caso le hemos asignado el nombre MyMoneroWallet, pero puede poner el nombre que más desee. Si no le gusta la ubicación por defecto de su billetera, cambie el campo «Wallet location» al directorio deseado.

Cuando ya están listos los campos como queremos, hacemos click en Next y debemos llegar a una pantalla como esta:

Asignemos un password a nuestra Wallet y luego de presionar Next debemos tener una pantalla como esta:

Aquí nos confirma los parámetros de nuestra Wallet y si estamos de acuerdo, hacemos click en «Create wallet» y llegaremos a una pantalla que nuevamente nos pide el password que asignamos en la configuración:

Ahora ya estamos dentro de nuestra billetera:

Para obtener el número de nuestra billetera, debemos hacer click en la opción «Receive» y veremos una pantalla como esta:

Si hace click en el ícono del copy que se muestra encerrada en un ovalo rojo en la parte superior derecha de la aplicación para que copie la dirección del wallet completo.

Segundo paso: Instalar Termux app en tu smartphone/tablet

Abrimos el Google Play en nuestro smartphone o tablet y buscamos la aplicación Termux, debemos ver algo como esto:

Presionamos el botón de «Install» y una vez instalado exitosamente debemos ver una pantalla como esta:

Si presionamos «Open«, la aplicación Termux debería arrancar y podríamos comenzar a realizar la instalación de nuestro minero.

La pantalla inicial de Termux debe lucir como esta:

Lo primero que debemos hacer ahora es actualizar a los últimos paquetes, para ello debemos ejecutar dos comandos:

apt-get update
apt-get upgrade

Si tiene éxito luego de que hallamos ejecutado esos dos comandos deberemos ver una pantalla como esta:

Ahora debemos instalar las herramientas de software que usaremos para compilar el código fuente de nuestro minero de Monero, para ello ejecutamos este comando:

pkg install -y git build-essential cmake

Cómo se muestra en la siguiente imagen:

Si todo sale bien no deberíamos tener errores y ahora debemos clonar desde github el código fuente de XMRig, para ello usaremos este comando:

git clone https://github.com/xmrig/xmrig.git

En la siguiente pantalla mostramos el comando:

Si la copia del código fuente ha sido exitosa, entonces debemos crear una directorio build dentro del directorio xmrig que contiene todo el código fuente del minero, para luego ir dentro del directorio recientemente creado.

Para conseguir dicho objetivo debemos ejecutar el siguiente comando:

mkdir xmrig/build && cd xmrig/build

Aquí una captura de pantalla que refleja dicha acción:

Una vez dentro del directorio que hemos creado estamos listos para empezar la compilación del código fuente del minero, para tal fin debemos ejecutar este comando:

cmake .. -DWITH_HWLOC=OFF && make -j$(nproc)

Una vez realizada la compilación exitosamente debemos ver una pantalla como la siguiente:

Ya tenemos el binario de nuestro minero, pero debemos crear un archivo de configuración en el cual especificaremos cuál es el pool al cual nos uniremos y cuál es nuestra wallet. Este archivo debe recibir el nombre de config.json.

Para crear el contenido de dicho archivo utilizaremos el wizard de xmring.com que se puede acceder a través de este URL: https://xmrig.com/wizard.

La primera pantalla nos muestra esto:

Como es evidente, debemos hacer click en el botón verde que dice «+ New configuration«. Una vez hecho eso veremos la siguiente pantalla:

Ahora debemos añadir nuestro «pool» de minería, haciendo click en el botón verde que dice «+Add pool«, tendremos las opciones soportadas por XMRig, más cualquier otro que querramos añadir. Así que una vez presionado el botón verde deberíamos ver algo como la pantalla siguiente:

Cómo ya mencionamos anteriormente el pool de minería que usaremos será minexmr.com, que en este caso es el cuarto comenzando desde arriba.

Una vez que lo hayamos seleccionado, nos preguntará la dirección de nuestro Wallet de XMR, a que región deseamos unirnos, en mi caso en particular es Canada (east coast), ya que estoy ubicado en New York. Y nos permitirá etiquetar nuestro worker, en caso de que deseemos tener más de un smartphone/tablet minando y deseamos poder identificar cuánto está produciendo cada uno. En mi caso he etiquetado a mi único worker como GalaxyS20FE que es el modelo de mi smartphone.

Aquí la captura de pantalla con los datos colocados:

Tenga en cuenta que si Ud. usa mi número de Wallet XMR, todo lo que Ud. mine se acreditará a mi cuenta, así que asegurese de que está usando su número de Wallet XMR.

Luego de que está seguro de que ha configurado apropiadamente su pool, presione el botón azul que dice «+Add pool«.

Una vez hecho lo anterior verá una pantalla como la siguiente:

Eso confirma que todo está listo para los siguiente pasos.

Luego presione en el botón azul que dice Backends. Debe tener una pantalla como la siguiente:

No cambie nada, si luce como la figura de arriba y presione Misc, luego de ello debería ver una imagen como esta:

Asegurese que Ud. está donando el 1% para la administración del pool. Puede donar hasta el 5%, pero dado que Ud. desea conservar la mayor parte de lo minado para su bolsillo, asegurese de que ese valor es sólo el 1%.

Finalmente presionando el botón «Result», obtendremos el contenido del archivo de configuración:

o la línea de comandos que debemos introducir cada vez que deseemos ejecutar el minero:

Para poner el contenido del archivo config.json dentro de Termux, usaremos el siguiente comando:

nano config.json

Y copiamos el siguiente contenido dentro de él:

{ "autosave": true, "donate-level": 5, "cpu": true, "opencl": false, "cuda": false, "pools": [ { "url": "ca.minexmr.com:443", "user": "45bEkg8txzAUfrtufbvyqoKPHad2LWVPDGD7owixZ2QVFk4uM3nGEuXZqJaNkiWZwCJE2Z6ZUfPvEgW8a24q9y1j9cM7ys8", "rig-id": "GalaxyS20FE", "keepalive": true, "tls": true } ] }

Cómo se muestra en la siguiente imagen:

Para salir de nano, presionamos Control+X y cuando se nos pregunta si queremos guardar en config.json diremos que sí (Y).

Una vez que hemos salido de editar el archivo config.json, ya podemos correr nuestro minero con el comando:

./xmrig

Cómo se muestra en la siguiente captura de pantalla:

Una vez que el programa está corriendo debemos ver una pantalla como la siguiente:

Tenga en cuante que mientras Ud. no cierre la aplicación Termux, el minero continuará corriendo.

Si su celular caliente demasiado o consume mucha batería, tal vez no sea una buena idea que intente el minado de criptomonedas en su modelo en particular.

Si tiene curiosidad de cuánto ha producido su minero luego de unas cuantas horas de minado, debe ir a este URL:

https://minexmr.com/dashboard

Alli debe colocar su número de billetera electrónica y el sistema le dirá cuánto ha producido.

fuente: https://consejerodigital.com/minando-criptomonedas-en-android-smartphone-o-tablet/

Impactos: 0

DisklessUbuntuHowto


What is diskless booting?

Diskless booting is using a remote system or systems to store the kernel and the filesystem that will be used on other computer(s).

Why do it?

Imagine my case I admin about 25 public workstations for a local library, if they want something changed across the board I can either go sit at each PC and spend X minutes on it, adding up to who knows how many hours, or I can simply make the change at any one of the 25 systems and have it affect every system equally. The same goes for updates and many other operations. It really eases support issues.

How is this different than ThinClientHowto?

Thin clients use some of the same principles but they also connect to a remote X session, which means everything runs on the remote server – all applications will consume the servers resources, such as RAM and CPU cycles.

Diskless Booting simply uses the remote server for storage and still runs all applications on the local client station. This works better if you have full powered PC's to work with, and are working with a large number of clients that would require too much CPU and RAM to run all their applications on one server.

It is different enough to have multiple machines mounting the same root filesystem as opposed to simply being a remote monitor and keyboard to warrant a separate how-to I think.

Oliver Grawert says :- you could have achieved this easier by following the thin client howto, remove the ltsp-client package from the chroot and install ubuntu-desktop (or whatever desktop you want) there, would save you a lot of configuration work 😉

How does it work?

There are a lot of parallels to ThinClientHowto, diskless booting requires a DHCP server which a bootable PXE network card will query to get its configuration and location of the file to tftp from the server, after booting the PXE image the client will tftp and boot the kernel image(with args specified in the pxe config), those args will tell the kernel how to configure itself, and the path to mount the NFS share where its / directory is located.

Requirements

  • An Ubuntu system with (preferably) nfs-kernel-server and tftpd server (the server)
  • At least one PXE-bootable system (the client)
  • It helps to have the client set up in its final configuration before you start
  • Enough disk space on the server to hold the client filesystem
  • A fast network connection between the client and the server
  • A DHCP server which is capable of supporting PXE clients, or a separate network segment where you can run a dedicated DHCP server
  • A good understanding of Linux

Getting Started

Naming Conventions

Client: A diskless system that you wish to boot via a network connection
Server: An always-on system which will provide the neccesary files to allow the client to boot over the network

Set up your Server

  1. Install the required packages
    1. Ubuntu 14.04
      • sudo apt-get install isc-dhcp-server tftpd-hpa syslinux nfs-kernel-server initramfs-tools

    2. Ubuntu 14.10 and after
      • sudo apt-get install isc-dhcp-server tftpd-hpa syslinux pxelinux nfs-kernel-server initramfs-tools

  2. Configure your DHCP server

    You need to set up the DHCP server to offer /tftpboot/pxelinux.0 as a boot file as a minimum. You also assign a fixed IP to the machine you want to boot with PXE (the client). A range of other options are also available but are beyond the scope of this article. Your /etc/dhcp/dhcpd.conf might look like this assuming your subnet is 192.168.2.0

    allow booting; allow bootp;  subnet 192.168.2.0 netmask 255.255.255.0 {   range 192.168.2.xxx 192.168.2.xxx;   option broadcast-address 192.168.2.255;   option routers 192.168.2.xxx;   option domain-name-servers 192.168.2.xxx;    filename "/pxelinux.0"; }  # force the client to this ip for pxe. # This is only necessary assuming you want to send different images to different computers. host pxe_client {   hardware ethernet xx:xx:xx:xx:xx:xx;   fixed-address 192.168.2.xxx; }

    NOTE 1: You will need to replace the 'xx:xx:xx:xx:xx:xx' and the '192.168.2.xxx' with your own values
    NOTE 2: the filename is a relative path to the root of the tftp server.

    Restart DHCP Server using the command

    sudo service isc-dhcp-server restart

  3. Configure the TFTP Server

    We need to set tftp-hpa to run in daemon mode and to use /tftpboot as its root directory.
    Here is an example /etc/default/tftpd-hpa file

    #Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /tftpboot"

  4. Configure your tftp root directory
    1. Create directories
      sudo mkdir -p /tftpboot/pxelinux.cfg

    2. Copy across bootfile
      1. Ubuntu 14.04:
        • sudo cp /usr/lib/syslinux/pxelinux.0 /tftpboot

      2. Ubuntu 14.10 and after:
        • sudo cp /usr/lib/PXELINUX/pxelinux.0 /tftpboot sudo mkdir -p /tftpboot/boot sudo cp -r /usr/lib/syslinux/modules/bios /tftpboot/boot/isolinux

    3. Create default configuration file /tftpboot/pxelinux.cfg/default
      LABEL linux KERNEL vmlinuz-2.6.15-23-686 APPEND root=/dev/nfs initrd=initrd.img-2.6.15-23-686 nfsroot=192.168.2.2:/nfsroot ip=dhcp rw

      NOTE1: your nfs server IP address, kernel name, and initrd name will likely be different. If you have a preconfigured system the names should be the names of the kernel and initrd (see below) on the client system
      NOTE2: to find the vmlinuz type uname -r
      NOTE3: There are more options available such as MAC or IP identification for multiple config files see syslinux/pxelinux documentation for help.
      NOTE4: Newer distributions might require that you append “,rw” to the end of the “nfsroot=” specification, to prevent a race in the Upstart version of the statd and portmap scripts.

    4. Set permissions
      sudo chmod -R 777 /tftpboot

      NOTE:If the files do not have the correct permissions you will receive a “File Not Found” or “Permission Denied” error.

    5. Start the tftp-hpa service:
      sudo /etc/init.d/tftpd-hpa start

  5. Configure OS root
    1. Create a directory to hold the OS files for the client
      sudo mkdir /nfsroot

    2. configure your /etc/exports to export your /nfsroot
      /nfsroot             192.168.2.xxx(rw,no_root_squash,async,insecure)

      NOTE: The '192.168.2.xxx' should be replaced with either the client IP or hostname for single installations, or wildcards to match the set of servers you are using.

      Note: In versions prior to Ubuntu 11.04 the option ',insecure' is not required after async.

    3. sync your exports
      sudo exportfs -rv

Creating your NFS installation

There are a few ways you can go about this:

  • debbootstrap (as outlined at Installation/OnNFSDrive)

  • copying the install from your server
  • install [lk]ubuntu on the client from CD, after you've got your system installed and working on the network mount the /nfsroot and copy everything from your working system to it.

This tutorial will focus on the last option. The commands in this section should be carried out on the client machine unless it is explicitly noted otherwise. You should ensure that the following package is installed on the client nfs-common

  1. Copy current kernel version to your home directory.
    • uname -r will print your kernel version, and ~ is shorthand for your home directory.

    sudo cp /boot/vmlinuz-`uname -r` ~

  2. Create an initrd.img file
    1. Change the BOOT flag to nfs in /etc/initramfs-tools/initramfs.conf

      # # BOOT: [ local | nfs ] # # local - Boot off of local media (harddrive, USB stick). # # nfs - Boot using an NFS drive as the root of the drive. #  BOOT=nfs

    2. Change the MODULES flag to netboot in /etc/initramfs-tools/initramfs.conf

      # # MODULES: [ most | netboot | dep | list ] # # most - Add all framebuffer, acpi, filesystem, and harddrive drivers. # # dep - Try and guess which modules to load. # # netboot - Add the base modules, network modules, but skip block devices. # # list - Only include modules from the 'additional modules' list #  MODULES=netboot

      NOTE: if you have anything in /etc/initramfs-tools/conf.d/driver-policy, this line will be ignored.

    3. Check which modules you will need for your network adapters and put their names into /etc/initramfs-tools/modules (for example forcedeth , r8169 or tulip)
    4. Run mkinitramfs
      mkinitramfs -o ~/initrd.img-`uname -r`

  3. Copy OS files to the server
    mount -t nfs -onolock 192.168.1.2:/nfsroot /mnt cp -ax /. /mnt/. cp -ax /dev/. /mnt/dev/.

    NOTE: If the client source installation you copied the files from should remain bootable and usable from local hard disk, restore the former BOOT=local and MODULES=most options you changed in /etc/initramfs-tools/initramfs.conf. Otherwise, the first time you update the kernel image on the originating installation, the initram will be built for network boot, giving you “can't open /tmp/net-eth0.conf” and “kernel panic”. Skip this step if you no longer need the source client installation.

  4. Copy kernel and initrd to tftp root.

    Run these commands ON THE SERVER

    sudo cp ~/vmlinuz-`uname -r` /tftpboot/ sudo cp ~/initrd.img-`uname -r` /tftpboot/

  5. Modify /nfsroot/etc/network/interfaces

    When booting over the network, the client will already have carried out a DHCP discovery before the OS is reached. For this reason you should ensure the OS does not try to reconfigure the interface later.
    You should set your network interface to be “manual” not “auto” or “dhcp”. Below is an example file.

    # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5).  # The loopback network interface auto lo iface lo inet loopback  # The primary network interface, commented out for NFS root #auto eth0 #iface eth0 inet dhcp iface eth0 inet manual

    NOTE: For Ubuntu 7.04 (Feisty Fawn) it seems the /etc/network/interfaces needs a little tweak, in order *not* to have the NetworkManager fiddle with the interface since it's already configured (see also bug #111227 : “NFS-root support indirectly broken in Feisty”)
    NOTE: If you use dnsmasq for your boot client (instead of dhcp), you will need to provide nameserver(s) information in /etc/resolvconf/resolv.conf.d/base. For instance,
    nameserver 192.168.0.xxx (You will need to replace the '192.168.0.xxx' with your own values.)

  6. Configure fstab

    /nfsroot/etc/fstab contains the information the client will use to mount file systems on boot, edit it to ensure it looks something like this ('note no swap')

    # /etc/fstab: static file system information. # # <file system> <mount point>   <type>  <options>       <dump>  <pass> proc            /proc           proc    defaults        0       0 /dev/nfs       /               nfs    defaults          1       1 none            /tmp            tmpfs   defaults        0       0 none            /var/run        tmpfs   defaults        0       0 none            /var/lock       tmpfs   defaults        0       0 none            /var/tmp        tmpfs   defaults        0       0 /dev/hdc        /media/cdrom0   udf,iso9660 user,noauto 0       0

    NOTE: if you have entries for other tmpfs that's fine to leave them in there

  7. Disable Grub update

    Since diskless systems don't need grub to boot, disable update scripts to prevent glitches during further software updates. Comment out exec update-grub in /etc/kernel/postinst.d/zz-update-grub



Impactos: 0

CPU Affinity Shortcut for a Program – Create in Windows

How to Create a Shortcut to Run an Application with a Set CPU Affinity in Windows



Processor affinity or CPU Pinning enables the binding and un-binding of a process or thread to a physical CPU or a range of CPUs, so that the process or thread in question will run only on the CPU or range of CPUs in question, rather than being able to run on any CPU

By default, Windows runs an application on all available cores of the processor. If you have a multi-core processor, then this tutorial will show you how to set the processor affinity of an application to control which core(s) of the processor the application will run on.

If the application and CPU supports Symmetric Multiprocessing (SMP) or HyperThreading (HT), then Windows will automatically adjust the application's usage of each processor core for the best performance. You will not gain much, if anything, from manually changing the processor affinity for these type of applications.

If you have more then one processor intensive applications running, then you could improve their performance by setting the processor affinity of their processes to run on a different core(s). This way they are not competing for the resources of the same core(s).


This tutorial will show you how to create a shortcut that will always run an application with a set CPU affinity by default in XP, Vista, Windows 7, and Windows 8.



Here's How:

1. This step will show you how many CPU cores you have, and how to figure the hex value to use at step 3 below for the CPU(s) you want to run the application on.

NOTE: If you should need any assistance with this step, then please feel free to post. I'll be happy to help.


A) Open Task Manager (CTRL+Shift+ESC) in more details view, click/tap on the Processes (XP, Vista, Windows 7) OR Details (Windows 8) tab, right click or press and hold on any process in the Name column, and click/tap on Set affinity. (see screenshot below)

NOTE: This will show you how many CPU cores you have. I have 12 CPU cores numbered from 0 to 11.

Task_Manager_Affinity-all.png


B) For how many CPU cores you have will also be how long the binary number will be. Since I have 12 CPU cores, the binary number will be 12 zeros 000000000000. Each zero in the binary number represents a CPU core number from right to left. In my case with 12 CPU cores, the far right 0 in the binary number will be for CPU 0, and the far left 0 will be for CPU 11. (see screenshot below)

C) For each CPU number you want to run the application on, replace 0 (off) with 1 (on) in the binary number for the CPU numbers.

For example, if I wanted to run the application only on CPU 0, then my binary number would be changed to 000000000001. To run the application on CPU 0 and CPU 3, I would use 000000001001. (see screenshot below)

binary.jpg


D) Go the website below, and type your binary number from step 1C above into the Binary field. This will convert the binary number to a hexadecimal (hex) that you will need to use at step 3 below.

Website: Binary/Decimal/Hexadecimal Converter


For example, with my 000000000001 binary number, I get a hex value of 1. (see screenshot below)

Binary-Decimal-Hexadecimal-Converter.png


2. Right click or press and hold on an empty area of your desktop, and click/tap on New and Shortcut.

3. Type the command below into the location area, and click/tap on the Next button. (see screenshot below)


cmd.exe /c start “Program Name” /affinity # “Full path of application file


For example: I would type this command below exactly if I wanted to create a shortcut to run Process Monitor on only CPU 0 (step 1), and it's .exe file is located at “E:\Programs\Process Monitor 3.05\Procmon.exe“.

(For only on CPU 0)
cmd.exe /c start “Process Monitor” /affinity 1 “E:\Programs\Process Monitor 3.05\Procmon.exe

(For on CPU 0 and CPU 3)
cmd.exe /c start “Process Monitor” /affinity 9 “E:\Programs\Process Monitor 3.05\Procmon.exe


Note   Note
Substitute Program Name in the command with the actual program's name within quotes.

Substitute # in the command for the affinity # with the hex value (ex: 1) from step 1D above.

Substitute Full path of application file in the command with the full path of the file within quotes.




shortcut-1.jpg

4. Type any name you would like to give the shortcut, and click/tap on the Finish button. (see screenshot below)

shortcut-2.jpg

5. Right click or press and hold on the new shortcut, and click/tap on Properties.

6. Click/tap on the Shortcut tab, then click/tap on the Change Icon button. (see screenshot below)

Shortcut-3.png

7. In the line under “Look for icons in this file”, copy and paste the same full path of the application file used in the shortcut below, and press Enter. (see screenshot below)

For example: E:\Programs\Process Monitor 3.05\Procmon.exe


Shortcut-4.jpg

8. Select (highlight) the icon you want for the shortcut, and click/tap on OK. (see screenshot above)
NOTE: You can use any icon that you would like instead though.

9. Click/tap on OK. (see screenshot below step 6)

10. In Vista and Windows 7, you can now Pin to Taskbar (Windows 7 only) or Pin to Start Menu, add to Quick Launchassign a keyboard shortcut to it, or move this shortcut to where you like for easy use.

11. In Windows 8, you can Pin to Taskbar on desktop, Pin to Start screen, add to Quick Launchassign a keyboard shortcut to it, or move this shortcut to where you like for easy use.


Impactos: 0

How to Boot Ubuntu 20.04 into Text / Command Console


How to Boot Ubuntu 20.04 into Text / Command Console

Need to do some work in the black & white command line console? You can press Ctrl+Alt+F3 on keyboard to switch from the current session to tty3 text console, and switch back via Ctrl+Alt+F2.

From the startup grub boot-loader menu entry, you may select the Advanced Options > recovery mode > Drop to root shell prompt to get into text mode. However you need to run command mount -o rw,remount / to get file system write permission.

If you want to make Ubuntu automatically boot into the text mode, configure grub settings by doing following steps one by one:

1. Open terminal and run command to backup the configuration file:

sudo cp -n /etc/default/grub /etc/default/grub.backup

2. Edit the configuration file via command:

sudo gedit /etc/default/grub

When the file opens, do:

  • disable GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" by adding # at the beginning.
  • set GRUB_CMDLINE_LINUX="" to GRUB_CMDLINE_LINUX="text"
  • remove # from the line GRUB_TERMINAL="console" to disable graphical terminal.

3. Save the file and apply changes by running command:

sudo update-grub

4. One more command is required as Ubuntu now uses systemd:

sudo systemctl set-default multi-user.target

How to Restore:

To restore changes, simply move back the backup file via command:

sudo mv /etc/default/grub.backup /etc/default/grub

And run sudo update-grub to apply change.

Also change the setting back in systemd via command:

sudo systemctl set-default graphical.target

Impactos: 0

Cómo instalar la CPU XMR STAK para Monero Mining en Ubuntu 16.04

Cómo instalar la CPU XMR STAK para Monero Mining en Ubuntu 16.04

¡Monero Mining es para todos!

A diferencia de Etherum, puedes minar Monero con casi cualquier cosa, incluso con la CPU de tu portátil antiguo. Eso no producirá muchas ganancias, pero es una posibilidad. Además de eso, la minería de GPU no ofrece un aumento sustancial en el poder de minería como en Ethereum. Aquí, una GPU dedicada puede ofrecer solo 2 a 3 veces más hashrate que una nueva CPU, en lugar de 10 a 20 veces la de Ethereum. Esto significa que es mejor configurar todas sus computadoras portátiles antiguas en la mía que comprar una nueva GPU, a menos que, por supuesto, tenga la intención de configurar una granja completa.

También puedes minar con una CPU y una GPU al mismo tiempo. Tenga en cuenta que esto probablemente tenga un mayor consumo de energía, y debe calcular si lo que está haciendo es rentable. Veamos cómo minar usando solo una CPU.

Cómo instalar XMR-STAK-CPU – Herramienta de minería Monero

Recomiendo usar xmr-stak-cpu, una solución de código abierto muy rápida y rentable. En primer lugar, tendremos que instalar dependencias del programa. También tendremos que compilarlo, por lo que también necesitamos software para eso. Correr:

sudo apt install libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev

Luego, descarga el minero:

wget https://github.com/fireice-uk/xmr-stak-cpu/archive/master.zip

Descomprímelo:

unzip master.zip

Ingrese al nuevo directorio:

cd xmr-stak-cpu-master

Ejecute CMake:

cmake .

Una vez que hayas terminado, instala el minero:

make install

Debería crear una carpeta “bin”. Ingrese a la carpeta:

cd bin

Cómo configurar

Y edite el archivo de configuración. Por lo general, todo lo que necesita hacer es especificar la dirección de su grupo, la dirección de su billetera y la “contraseña del grupo”, que para el grupo que estamos usando es solo el nombre de la máquina y el correo electrónico. Aquí hay un ejemplo.

nano config.txt
„pool_address” : „pool.supportxmr.com:3333”, „wallet_address” : „yourmonerowalletaddresshere”, „pool_password” : „worker:name@email.com”,

Una vez que establezca el archivo de configuración, ejecute

./xmr-stak-cpu

¡Y su máquina comenzará a minar con su CPU!

Impactos: 0

Deshabilitar Microsoft Compatibility Telemetry en Windows 10

Deshabilitar Microsoft Compatibility Telemetry en Windows 10

  1. Botón derecho en Símbolo del Sistema y selecciona Ejecutar como administrador.
  2. Copia y pega las siguientes claves y pulsa Enter tras cada comando:
  • sc delete DiagTrack
  • sc delete dmwappushservice
  • echo “” > C:\\ProgramData\\Microsoft\\Diagnosis\\ETLLogs\\AutoLogger\\AutoLogger-Diagtrack-Listener.etl
  • reg add “HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows\\DataCollection” /v AllowTelemetry /t REG_DWORD /d 0 /f


Impactos: 0

Mejorar velocidad PrestaShop optimizando base de datos


Mejorar velocidad PrestaShop optimizando base de datos


Código sql para vaciar/truncar las tablas: TRUNCATE prstshp_guest; TRUNCATE prstshp_connections; TRUNCATE prstshp_connections_page; TRUNCATE prstshp_connections_source; TRUNCATE prstshp_page_viewed;
TRUNCATE prstshp_log; TRUNCATE prstshp_mail;


Impactos: 0

Macro Word exportar combinación PDF individuales

Sub GUARDAR_HOJAS_DOSTIN()
'
' Macro Dustiniana xD
' www.DostinHurtado.com
' Cursos gratis 😀

Dim num_paginas As Integer
Dim num_doc As Integer
Dim pag_inicial As Integer
Dim pagina_final As Integer
Dim URL As String
Dim nombres As String

num_paginas = InputBox(“Ingrese el número de páginas por documento”)
num_doc = InputBox(“¿Cuantos documentos desea generar?”)
URL = InputBox(“¿Donde desea crear los documentos?”)
nombres = InputBox(“¿Que nombre tendrán los Documentos?”)
pag_inicial = 1
pagina_final = num_paginas

For i = 1 To num_doc
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        URL & “\” & nombres & i & “.pdf”, ExportFormat:= _
        wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
        wdExportOptimizeForPrint, Range:=wdExportFromTo, From:=pag_inicial, To:=pagina_final, Item:= _
        wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False
    ChangeFileOpenDirectory URL
   
pag_inicial = pagina_final + 1
pagina_final = pagina_final + num_paginas
Next i
End Sub

Referencia: 
www.DostinHurtado.com

Impactos: 0

Configurar recoger en tienda

Tutorial de 7 pasos para crear un Módulo para retirar y pagar en tienda un pedido, con la posibilidad de configurar diferentes tiendas.

Por defecto en Prestashop esta opción no está creada o instalada ni existe la posibilidad de hacer a no ser que se instale un módulo de prestashop.

Tenemos la opción de pago contra reembolso que lo que hace es generar una forma de pago para envíos de pedidos, pero no para retirar y pagar en tienda.

Hay varios módulos de pago como transferencia bancaria, pago con cheque y ahora el módulo para pagar con tarjeta llamado módulo prestashop Checkout, que no es más que una asociación de Prestashop y PayPal para realizar cobros con tarjeta de crédito, y tarjetas de débito pero con comisión. En la descripción de este módulo explica que ofrece a tus clientes los métodos de pago más utilizados con este módulo todo en uno y administra todas tus ventas en una interfaz centralizada…podemos obtener el modulo prestashop gratis, claro está que no explica que si bien el módulo es gratuito, pero los cobros tienen una comisión que no es poco.

Hace un tiempo la empresa digitalDot desarrolló un módulo para hacer cobros con Bizum y la base de este fué tomada desde un módulo de pago, donde se envía por mail de la información necesaria para realizar el cobro. Si quieren este módulo debajo dejo el enlace para que puedas contactar al desarrollador y descargarlo de forma gratuita.

Tomamos como base este módulo de pago por Bizum y creamos un nuevo “Módulo para Retirar y pagar en Tienda” que cumple la función de poder realizar pagos en diferentes sucursales al retirar un pedido. Esto sirve para que un comercio con más de una tienda desde donde poder retirar un pedido, al momento de pagar en tu carrito podrás seleccionar desde cual de estas tiendas deseas que retirarlo y pagarás tu compra.

Hasta aca esta claro, pero en el fondo este “Módulo para Retirar y pagar en Tienda” de Prestashop tiene mucho más poder que el que explique. Pongamos un ejemplo que un comercio tiene 2 tiendas para retirar el pedido, la Tienda #1 y la Tienda #2, vimos que al momento de hacer el pedido el cliente y seleccionar la Tienda #1, le llega un mail desde donde le dice que tiene que retirar desde la Tienda #1 y los datos de su pedido con el total a pagar. Pero en el backend (el panel de control) de la tienda sucede algo muy bueno para el comercio y es que la Tienda #1 tiene colocado el filtro de Tienda #1 como forma de pago y va a poder identificar y prepara mucho más rápido los pedidos que le corresponden.

Todo esto un poco más abajo lo mostraré y no solo eso, sino que te enseñaré cómo configurarlo para que lo hagas y lo personalices con la cantidad que quieras de Tiendas o Sucursales.

Otro punto a tener en cuenta y creo que es muy bueno es que cuando alguien hace un pedido, al momento de seleccionar la forma de envío, por ejemplo “Retirar y pagar en Tienda” o “Que me lo envíen hoy” dependiendo de esta selección se habilita la forma de pago que sería “Retirar desde Tienda #1” si antes seleccionamos “Retirar y pagar en Tienda”.

De igual manera si seleccionamos “Que me lo envíen hoy” se habilita como forma de pago “Pagar contra reembolso” o “Pagar con tarjeta”… claro que es un ejemplo y pueden haber muchas formas de pagos más 

1- Descarga y personalización del Módulo para Retirar y pagar en Tienda

Comencemos, vamos a ver como crear modulo prestashop 1.7,como primer punto descargamos el módulo para Prestashop 1.7.6 desde este enlace “Módulo para Retirar y pagar en Tienda”. No está probado en otras versiones así que si quieren probarlo pueden dejar un comentario a ver cómo les ha ido.

Una vez descargado lo descomprimimos y vemos que la carpeta que contiene los archivos se llama “dd_tiendauno” cambiamos el nombre de la carpeta por el nombre de la tienda, en este caso vamos a hacer un ejemplo y le cambiaremos el nombre de “dd_tiendauno” a “dd_tiendados”. Este nombre claro que puede ser más complejo y diferente pero hay que tener claro que cada dato que cambiemos tiene que respetarse dentro de los archivos o no podrás instalarlo.

Al descomprimir quedaría así:

Cambiado el nombre quedaría así:

Luego dentro de la carpeta verás que hay un archivo que se llama igual que la carpeta pero .php para que funcione recuerda siempre dejar el mismo nombre que la carpeta anterior, ejemplo: si la carpeta se llama “dd_tiendauno” el archivo será “dd_tiendados.php”.

También lo modificamos como y cambiamos el nombre “dd_tiendauno.php” por “dd_tiendados.php”.

2- Configuración y setup del Módulo para Retirar y pagar en Tienda.

Este archivo “dd_tiendados.php” lo abres y lo editas en el programa que te guste, yo utilizo Dreamweaver. Una vez lo abrimos hay que comenzar a ejecutar acciones pero primero vamos a explicar cuales son.

Nuestra tienda en este caso se llamará “Tiendados”, pero podríamos haberle puesto el nombre “Valencia” por ejemplo. Ahora vamos a ejecutar varias acciones para cambiar todos los nombre que en este ejemplo están como “Tiendauno” y lo cambiaremos como “Tiendados”.

En esta acción vamos a cambiar los siguientes nombre o eventos o datos, como quieran llamarle, pero mucho OJO tenemos que respetar los nombre y las mayúsculas:

  • El dato “tiendauno” lo cambiaremos por “tiendados”
  • El dato “TIENDAUNO” lo cambiaremos por “TIENDADOS”
  • El dato “TYENDAUNO” lo cambiamos por “TYENDADOS” (ojo que la “I” se ha transformado en una “Y” ya que este dato es diferente al anterior
  • El dato “Tiendauno” lo cambiamos por el dato “Tiendados”
  • El dato «la Tienda Uno» lo podemos personalizar y usar el nombre nuestra tienda por ejemplo “la Tienda de Juan” y el mensaje quedaría como “Pagar en la tienda de Juan”. Este dato es de lectura, esto significa que podemos personalizarlo pero siempre y cuando con mucho cuidado ya que son todos datos sensibles.

Nota: esta configurado predeterminada es para que el cliente seleccione entre “tiendas“ así que aquí podemos editar el mensaje que recibirá como por ejemplo “Pagar en la Tienda Uno”, más adelante mostramos cómo hacerlo.

Para esto vamos a realizar varias acciones con el comando “Buscar y reemplazar en archivos…” que para comenzar podemos hacerlo en Dreamweaver de dos maneras, desde el menú Buscar o haciendo clic derecho sobre el panel central.

Cuando se abra hay que buscar y seleccionar la carpeta donde están todos los archivos:

Y asegurarnos de seleccionar bien la carpeta ya que la acción que vamos a ejecutar buscará y cambiará el dato en todos los archivos al mismo tiempo, con esto ahorraremos mucho tiempo y no tendremos que ir uno a uno.

Ahora ya podemos buscar y reemplazar los datos y la carpeta estará seleccionada  para buscar los datos en estos artículos.

Comenzamos con el dato “tiendauno” lo cambiaremos por “tiendados”

Luego nos saldrá el mensaje que “Esta operación no se puede deshacer en documentos que no están abiertos. ¿Seguro que desea reemplazar todas las coincidencias?” y le damos que si.

Y ya abre y modifica estos datos:

Luego repetimos esta acción con el resto de datos:

  • El dato “TIENDAUNO” lo cambiaremos por “TIENDADOS”
  • El dato “TYENDAUNO” lo cambiamos por “TYENDADOS” (ojo que la “I” se ha transformado en una “Y” ya que este dato es diferente al anterior
  • El dato “Tiendauno” lo cambiamos por el dato “Tiendados”
  • El dato «la Tienda Uno» lo podemos personalizar y usar el nombre nuestra tienda por ejemplo “la Tienda de Juan” y el mensaje quedaría como “Pagar en la tienda de Juan”. Este dato es de lectura, esto significa que podemos personalizarlo pero siempre y cuando con mucho cuidado ya que son todos datos sensibles.

Ahora que terminamos la configuración, guardamos este archivo que tenemos abierto (Ctr + s) y cerramos el Dreamweaver.

3- Modificación de los nombres de las plantillas de Mail del Módulo para Retirar y pagar en Tienda.

Ahora solo queda cambiar los nombre de las plantillas de mail que están dentro de la carpeta mail y luego el idioma, el /es/ y el /en/, cambiamos dos archivos en cada carpeta y estos son “tiendauno.html” y “tiendauno.txt” por los siguientes “tiendados.html” y “tiendados.txt”, tiene que quedar de la siguiente manera.

4- Creación del archivo ZIP para instalar el Módulo para Retirar y pagar en Tienda.

Volvemos a la carpeta principal y la comprimimos en un ZIP y quedaría así: “dd_tiendados.zip”

En un principio no tienes que hacer nada más en este paso solo tomar precauciones y para esto lee la siguiente Nota.

Nota: Cuando descomprimimos la primera vez (dependiendo del programa) nos puede haber descomprimido en una carpeta, dentro otra igual y dentro los archivos, pero para cuando comprimimos la estructura tiene que quedar así: “tiendados.zip” , dentro la carpeta “tiendados” y dentro los archivos. Mirar bien esto dependiendo el programa que utilicen porque luego no podremos instalarlo.

5- Instalar el Módulo para Retirar y pagar en Tienda en Prestashop.

Ahora veamos como instalar modulo prestashop.
Para instalar modulo prestashop manualmente,vamos al panel de control de Prestashop y a módulos, buscamos instalar un módulo como lo hemos hecho siempre  y seleccionamos nuestro archivo ZIP.

Hacemos clic en configurar…

y completamos los campos, en el campo “Tienda seleccionada (nombre)” recomiendo que sigas utilizando el mismo nombre así que escribiría “Tienda de Juan” pero claro que lo puedes personalizar, es más que nada para los mails que recibirá el cliente y tu como administrador…

como ejemplo los completaré con estos datos y veremos como se ve en la tienda…

Si ahora vamos a módulos y vemos los módulos instalados veremos que tenemos el anterior que he instalado de “Tiendauno” y el que hemos hecho juntos llamado “Tienda de Juan”

6- Prueba del Módulo para Retirar y pagar en Tienda en Prestashop

Bien, ya estamos en el último punto luego de habernos transformado en programadores sin serlo, felicitaciones. Solo nos queda hacer una prueba y ver como queda nuestro modulo para prestashop.

Vamos a la tienda y hacemos un pedido, seleccionamos la forma de pago “Pagar en la Tienda de Juan”

Cuando el pedido está hecho vemos la pantalla de confirmación, en este momento se lanzaron 2 mails al cliente con el pedido y la confirmación.

Ahora vamos al panel de control de pedidos y podemos identificar el pedido y hacer seguimiento, claro que la configuración de colores y desde prestashop se puede hacer sin problemas.

7- Extra para personalizar el color y nombre del estado del pedido, y para ver como se configura el transportista.

Esto se hace desde Parámetros de la tienda > Configuración de pedidos > y seleccionamos la pestaña “Estados”.

Ahora vamos un extra que está muy bueno y es práctico. Cuando configuramos los transportistas tenemos que crear el «Retirar en tienda» que puede o no tener costo (esto lo decides tu) y con este medio de transporte en  la pestaña Pago > Preferencias podremos selecciona para el transporte «Retirar en Tienda» que solo muestre como forma de pago las tiendas que hemos dado de alta.

Impactos: 0

[Xampp] Añadir servicio MySQL a una instalación existente

image.png

Here is how I did it:

  1. Re-run the installer and install with MySQL into a different folder. (These instructions assume c:\xampp2)
  2. After the installation finishes, move the mysql directory from the new install into the old install. (I moved c:\xampp2\mysql to c:\xampp\mysql) You can then delete the second installation folder.
  3. Be sure xampp is not running and edit c:\xampp\xampp-control.ini, looking for the [EnableModules] section. Set MySQL=1.
  4. Restart xampp. The MySQL buttons should be enabled. Click the Config button next to MySQL and edit the my.ini file. Do a search and replace, changing all instances of xampp2 to xampp.

Now you can hit start, and MySQL should start up. Note these instructions assume c:\xampp is your desired install location, adjust accordingly.

Impactos: 0