terça-feira, 19 de fevereiro de 2019
Projeto Reconhecimento de Imagem do RBP
equipamentos todos ok
YOLO: Real-Time Object Detection
Adicional
OgmaNeo Overview and Video Prediction
https://github.com/ogmacorp/OgmaNeoDemos
quarta-feira, 5 de dezembro de 2018
Boa introdução ao Algoritmo RSA
Entendendo (de verdade) a criptografia RSA
Achei uma boa apresentação da aritmética modular e porque de seu uso.
Encontrei o link a partir da sequência de leituras:
1. Sliding Right into Information Theory no Planet Debian (by Joachim Breitner )
2. Sliding right into disaster: Left-to-right sliding windows leak - Artigo
3. Analysis of Sliding Window Techniques for Exponentiation - Artigo
O artigo 2 é referenciado no post do Debian Planet. Lendo este artigo fui atrás do termo Sliding Window Techniques que é uma tecnica para calcular a potência de um número (x^E) com expoente gigante (E) sendo E inteiro e positivo, usado no algoritmo RSA.O algoritmo é descrito no artigo 3.
Outros termos pesquisados
- Exponentiation by squaring
[12.02.2019]
Gerar o hash de uma letra
echo -n "a" | md5sum
o "-n" elimina a nova linha adicionada pelo comando echo, o que altera a saída do comando md5sum
ver Why does `md5sum` not give the same hash as the Internet does?
DRfddSufdi8PR6Wj8Bj1c71x8rxP3Gewna (DOGE)
16FFpSdBThTKrQv4miBso8DrDRocyXjwft (bitcoin BTC)
45nCBgYZHHz83U4tdnxAfm4w4KGgs4f8XL9wbcPX8QZTMvExysktkD598NuDfLPEmXfSNvhu58CsBTfWofXj2TgR3WfTX3m (Monero XMR)
0x8C095453569A443ef8B854B5BaA0000b347d9803 (Ethereum ETH)
RChBPGktHhEPsCBRH6Yzr4Higq7fPr5a6d (Ravecoin RVN)
0x8C095453569A443ef8B854B5BaA0000b347d9803 (Shiba)
segunda-feira, 19 de novembro de 2018
Teste com Hamlib e Icom
usei o tutorial HOWTO: Configure Hamlib for Linux Hams
rigctl é a implementação Hamlib (rigctld é a versão daemon que aceita comandos via TCP)
Comandos
rigctl -l (lista todos os modelo suportados, código 360 é icom)
rigctl -m 360 -r /dev/radio -s 9600 -c 0x70
No shell do rigctl: comando "f" retorna (get) a frequencia atual do radio, "F" seta uma fequência.
mas não funcionou possivelmente problemas no cabo ci-v, foi usado um conversor usb<=> serial que veio no kit mas pela documentação o cabo usa um conector stereo que é para ser usado em radios HT, para usar em radios desktop tem de usar um plug adaptador mono.
[atualização] testei com o cabo LD-C101 USB to CI-V e funcionou normalmente
Provavelmete a configuração ali da foto funcione ligandodireto DB9<=> DB9 (sem o adaptador USB-serial)
Conectado no conector adequado conforme manual
Compilado ainda software wsjtx-1.9.1 para testes em modos digitais, ver modos FT8, JT65
diretório de instalação:
~/programas/icom/wsjtx-1.9.1
executável em:
./build/wsjtx-prefix/src/wsjtx-build/wsjtx
Sobre modo JT65 ver
Configurando IC-7100 para JT65 e JT65Alert modos digitais
Equipamento usado antena g5rv w8am e radio icom 7100
Sobre WSPR ver (sobre problemas)
https://www.george-smart.co.uk/wspr/2m_wspr/
Sobre cabo CI-V
como fazer um usando conexão bluetooth
https://www.george-smart.co.uk/scrapbook/bluetooth_radio_interface/
não funcionou..
Pacotes instalados
Flrig
Grig
Fldigi
Icom
Atualização [04/2020]
Dois chips
- BC417 - módulo Bluetooth<=> RS232. (HC-06 somente slave)
- MX29LV800 - memória flash
Sobre o módulo Bluetooth testado, o modelo que tenho é o HC-06 (somente slave) o HC-05 é master/slave, este foi utilizado no projeto Bluetooth Radio Interface
Consegui setar os parâmetros do HC-06 somente com o comando Picocom, tentado sem sucesso no Debian com GtkTerm, Minicom, Cutecom
Comandos utilizados:
picocom -b 9600 --omap crcrlf --echo /dev/ttyUSB0
AT
AT+VERSION (retorna VERSION:3.0-20170609)
AT+NAME=PU5BIT
AT+PSWD:"1234" (AT+PIN=1234,não funciona como HC-06)
Conexão Módulo Bluetooth <=> Usb Serial com PL2303 usando pino 3.3v
Links consultados
https://wiki.kewl.org/dokuwiki/interfaces:bt0417c
https://www.aranacorp.com/en/arduino-and-bluetooth-module-hc-06/
sexta-feira, 12 de outubro de 2018
Cursos Udemy
- Ansible para SysAdmin
- Certificação Amazon AWS Solution Architect + 3 Cursos EXTRAS
- Computação em Nuvem: aprenda Amazon AWS com a mão na massa
- DevOps For Beginners - Docker, Kubernetes and Azure DevOps
- DevOps: AWS com Terraform Automatizando sua infraestrutura
- Docker: Ferramenta essencial para Desenvolvedores
- Simulados para Certificação EXIN Cloud Computing Foundation
IoT
- Primeiros passos com o FreeRTOS e ESP32
Web
- Criando Páginas Web com o GitHub Pages
- Crie sites Wordpress hospedados gratuitamente na Amazon
- Curso Completo Criar Sites com Design Profissional WordPress
- Curso Completo de PHP 7
- Curso Completo do Desenvolvedor NodeJS e MongoDB
- Curso React + Redux: Fundamentos e 2 Apps do Absoluto ZERO!
- Do Zero à Nuvem: API Restful com NodeJS, Restify e MongoDB
- Introdução à linguagem CSS
- Introdução à linguagem JavaScript
IA
- Formação Cientista de Dados com Python e R
- Introdução à Estatística para Data Science em R
- Machine Learning e Data Science com Python de A a Z
- Machine Learning in R: Curso Completo de Regressão Linear
- Statistical Modeling for Data science
- Super Formação Inteligência Artificial e Machine Learning
- Unsupervised Machine Learning Hidden Markov Models in Python
Música
- Aprenda a Improvisar na Guitarra
- Curso de Flauta Doce Prática
Linux
- Iptables - O Firewall do Linux
- Linux Kernel System Programming
- Preparatório para Certificação Linux LPIC-1
- Git para iniciantes
Mercado Financeiro
- Python para Finanças: Investimentos & Análise de Dados
Diversos
- Curso de ESP8266
- Go (Golang): Explorando a Linguagem do Google
- Learning Data Structures in JavaScript from Scratch
- LGPD - Lei geral de proteção de dados para leigos
- Nanodegree Digital Marketing - Launch Formula
terça-feira, 2 de outubro de 2018
Cadeia de Markov explicação Interativa
Ótima expçicação do site Explained Visually
Markov Chains
http://setosa.io/ev/markov-chains/
Legal de ver também do mesmo site
Eigenvectors and Eigenvalues
Principal Component Analysis
Eigenvectors and Eigenvalues
Image Kernels (usado na extração de características em imagens)
[24.10.2121]
Deep Learning with Tensorflow 2.0
sobre Eigendecomposition - eigenvectors e eigenvalues.
assim como decompomos um número 12 como 2*2*3
pode-se decompor uma matriz em eigenvectors e eigenvalues.
Um eigenvector (autovetor) de uma matriz quadrada A é um vetor diferente de zero v tal que a multiplicação por A altera apenas a escala de v, em suma, este é um vetor especial que não muda a direção da matriz quando aplicado a ele:
Av=λv
A escala (o escalar) λ é conhecida como o autovalor correspondente a este autovetor.
Determinante
O determinante de uma matriz quadrada, denotado det (A), é uma função que mapeia matrizes para escalares reais.
==>>> The determinant is equal to the product of all the eigenvalues of the matrix.
quarta-feira, 25 de abril de 2018
Algoritmo CORDIC
revisão de conteúdo para entender o algoritmo CORDIC ver
Matrizes de Rotação no R2
Sistemas Lineares e Determinantes: Origens e Desenvolvimento
Cayley e a Teoria das Matrizes
Ótimo o texto CORDIC For Dummies onde explica a tecnica em termos de busca binária
[01.05.18]
A coleção FORTH Dimensions é um conjunto de revistas da década de 80 com foco na linguagem Forth. No Volume 5 Nº 3 (V5N3) tem uma explicação sobre o algoritmo CORDIC e uma referência à edição V4N1 por seu bom material em "fixed-point arithmetic"
Link
Forth no STM32F103 (comprei o ST-Link v2)
sexta-feira, 6 de abril de 2018
Exemplo de Uso com FFT
Como é que isto se faz? (https://blol.org/94-multiplicacao-com-fft)
1 - Transformar os números a multiplicar num polinómio, escolhendo uma base apropriada (e.g. 10, 16, 2^32, etc).
2 - Calcular a DFT de ambos, através do uso de uma FFT. (Não é necessário ser estritamente a FFT, qualquer convolução em teoria dá.) [interessante]
3 - Multiplicar ponto a ponto ao longo do array obtido (multiplicação diádica).
4 - Calcular a DFT inversa do resultado.
5 - Avaliar o polinómio para obter o número final.
do site LeGauss
entendimento passa pela Matriz de Vandermonde (é uma matriz em que os termos de cada linha estão em progressão geométrica, ela surge naturalmente do problema de interpolação polinomial.)
mais ou menos assim (da wikipedia Algoritmo Schönhage-Strassen)
para multiplicar 147 e 258 (em decimal), serão realizadas as seguintes operações:
Representação de 147 como x^2+4x+7 e 258 - como 2x^2+5x+8, onde x = 10.
Multiplique polinômios x^2+4x+7 e 2x^2+5x+8 usando a transformada rápida de Fourier. Obter o produto dos polinômios 2x4+13x^3+42x^2+67x+56.
Ao fazer transferências entre as fileiras, temos 3x4+7x^3+9x^3+2x+6., ou seja, 37.926.
interpolar - método que permite construir um novo conjunto de dados a partir de um conjunto discreto de dados pontuais previamente conhecidos (wikipedia)
interolação polinomial - dado um conjunto de dados (pontos) achar um polinomio que passe por estes pontos