Delphi Lazarus SSC
Novidades no SSC 2.3

O SSC 2.3 veio cheio de novidades, agora a interface grava o contexto posicional da tela e de algumas informações.

Melhorias da versão 2.3 do software SSC

Este trabalho, vem melhorando o software dando mais opções para o mesmo.

Gravação de algumas parametrizações ao final da execução

Modificações da Versão

  • Criação dinâmica do arquivo ssc.cfg
  • Criação do fonte funcoes.pas
  • Criação do fonte setssc.pas
  • Modificação do fonte main.pas e main.lfm

SSC
Novidades no SSC

Implementamos no SSC o servidor de conexão TCP, com ele é possível conectar via TCP clientes, e fazer a comunicação direta do dispositivo Serial ou USB/Serial.

Esta melhoria, permite acionar dispositivos através de comunicação Serial.

Esta feature já esta embarcada na versão 2.2 do SSC.

C/C++ CUDA IA
CUDA – Trabalhando com Memória da placa de vídeo

Neste artigo irei apresentar como trabalhar com a memória da placa de vídeo, na lib CUDA da NVIDIA.

GIT

O exemplo deste projeto pode ser visto no git.

https://github.com/marcelomaurin/CUDA2

Código do projeto

Veremos a seguir o projeto do código, onde em seguida irei comentar o mesmo:


#include <stdio.h>
#include "cuda_runtime.h"

#define TAM_MAP 30

//Kernel
__global__
void projecao_x(int *p_param){
	printf("video: %d\n",*p_param);
	*p_param += 5; /*muda valor*/
}


int main(){
	int valor;
        valor = 10; /* declaração da variavel alocada no pc*/
	cudaDeviceReset();

	int *d_param; /*Declaracao da variavel alocado na placa de video*/


	/*alocação de variaveis da placa de vídeos*/
	cudaMalloc((void**)&d_param,sizeof(int));         /*aloca na cuda o tamanho de 1 inteiro*/


	cudaMemcpy( d_param, &valor,
                              sizeof(int),
	                      cudaMemcpyHostToDevice);

	printf("Chamando hello!\n");
	projecao_x << <1, 1>> >(d_param); /*Criação funcao do processador*/
	cudaDeviceSynchronize();
	cudaMemcpy( &valor, d_param,
                             sizeof(int),
                             cudaMemcpyDeviceToHost);
	printf("pc:%d\n",valor);
	cudaFree(d_param);
	return 0;
}

O que faz o programa

O Programa acima cria uma variavel na placa de vídeo chamada d_param, que é atribuído valor 10 no Desktop.

Depois ao ser chamado a thread, e já na placa de vídeo, seu valor é modificado.

Por fim é transferida para a memória do desktop, e em seguida apresentada no desktop.

Funções importantes

cudaMalloc – É responsável pela criação da variavel na placa de vídeo.

cudaMemcpy – É responsável por copiar os dados de um espaço para outro. Nos dois sentidos DESKTOP -> VIDEO, e VIDEO -> Desktop.

Bom pessoal, espero que tenham gostado deste artigo.

Os próximos espero serem mais emocionantes.

Vida longa e prospera a todos.

Delphi Lazarus MNote2 Mysql pacotes Programação Yocto Project
Exemplo de Pacote debian – Parte 1

O objetivo deste artigo é demonstrar o uso prático de pacotes do linux.

Escrevi alguns artigos, sobre o desenvolvimento de pacotes.

    Inclusive já desenvolvi o MNOTE2, que é um bloco de notas simplificado. Sendo que este projeto, o MNote2, já possui um pacote em seu código.

    O MNote 2 pode ser visto no meu git:

    https://github.com/marcelomaurin/MNote2

    Neste artigo, e nos demais, irei continuar o trabalho apresentado no MNote2, gerando um pacote para um projeto em Lazarus, este projeto consiste em um sistema Cliente/Server, que consome um banco de dados Mysql.

    Este artigo tem relação tambem sobre outro conjunto de artigos:

      A instalação deste tipo de aplicação demanda certo trabalho, que irei abordar durante o ciclo de posts, aqui apresentados.

      Ao fim dos artigoa, pretendo se houver tempo, desenvolver uma imagem iso, usando yocto project, consumindo este pacote. E por fim criando um instalador completo com uma imagem de CD para distribuição. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

      Para apresentar o trabalho completo, estarei incluindo tudo no git:

      GIT do Exemplo

      https://github.com/marcelomaurin/cliPessoa

      Este é um conjunto de posts, que irei apresentar.

      Serão vários, e por um período longo. Espero que gostem.

      Mysql PHP Programação Python
      Mysql com C/Lazarus/Python/PHP/R – Parte 4

      Neste penultimo artigo, mostrarei como ler JSON com mysql.

      Para não me repetir, pois já apresentei isso anteriormente, no artigo abaixo:

      http://maurinsoft.com.br/index.php/2019/03/09/usar-o-mysql-com-python/
      Usando mysql diretamente com python.

      Resolvi fazer diferente.

      No artigo de PHP, mostrei um web service, que consumi com AngularJS/BootStrap:

      http://maurinsoft.com.br/index.php/2022/02/04/mysql-com-c-lazarus-python-php-r-parte-3/

      Agora neste artigo, vou consumir tambem o web service.

      GIT do Projeto

      https://github.com/marcelomaurin/PythonJS

      Exemplo do Código

      Client WebService

      Neste exemplo, consumimos o web service, onde recebemos o JSON.

      import requests
      import codecs
      import json
      
      api_url = "http://maurinsoft.com.br/exemplos/phpmysql/ws/Pessoa.php"
      response = requests.get(api_url)
      response.headers['content-type']
      #response.encoding
      #response.text
      #print(response.text)
      #response.text.encode('utf-8-sig','ignore')
      #print(response);
      info = ""
      if(response.text!={}):
          dados = codecs.decode(response.text.encode(),'utf-8-sig')
          js = json.loads(dados)
          print(js)
          #print(js.count())
      

      Usando PANDAS

      Neste segundo exemplo, podemos verificar uma ligeira diferença, pois estamos convertendo os dados para Pandas. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

      from urllib.request import urlopen
      import json
      import pandas as pd
      
      response = urlopen("http://maurinsoft.com.br/exemplos/phpmysql/ws/Pessoa.php")
      json_data = response.read().decode('utf-8-sig', 'replace')
      
      d = json.loads(json_data)
      df = pd.json_normalize(d[0])
      
      print(df)

      Espero ter auxiliado os amigos, neste interessante artigo.

      Artigos relacionados

        Blog C/C++ Dicas PHP Python Sem categoria
        Validação de JSON ONLINE

        Uma boa dica para quem esta montando seus JSONS, é que existem alguns sites que validam seu JSON.

        Um bom exemplo disso é o site:

        https://jsonformatter.curiousconcept.com/#

        Ele permite validar erros de JSON. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

        Blog Dicas IA Programação Python
        Incluir python no wordpress

        Muitas vezes ao começarmos a apresentar um conceito em uma linguagens, temos a necessidade de apresentar uma interface, que permita a interação do usuário come esta linguagem.

        Para faze-lo com python, sugiro o

        onlinegdb.com

        Este site permite interagir de forma fácil e interativa, não somente com python mas com C, C# entre outras linguagens.

        <iframe height="400px" width="100%" src="https://replit.com/@USERNAME/REPLNAME?<script src="//onlinegdb.com/embed/js/nVoXG1sFy?theme=dark"></script>

        Apresentação do Exemplo:

        Python
        Python – List Comprehensions

        Otimiza código para listas.

        Exemplo de Caso:

        Exemplo1

        Código tradicional

        Código simplificado

        Exemplo2

        Código tradicional

        lista = []
        for numero in range(1,30):
           if numero % 4 = 0:
              lista.append(numero)
        print(lista)

        Código simplificado

        multiplo4 = [numero for numero in range(1,30) if numero % 4 == 0]
        print(multiplo4

        CUDA IA Sem categoria
        Criando CUDA Hello World

        O objetivo deste artigo, é iniciar o programador, no desenvolvimento de aplicações usando GPU da NVIDIA.

        No artigo anterior, eu ensinei a instalar o pacote cuda.

        http://maurinsoft.com.br/index.php/2021/08/27/install-cuda-toolkit-em-xubuntu-18-04/

        Agora iremos desenvolver o nosso famoso hello world.

        Primeiramente, precisamos instalar um outro pacote adicional:

        apt install nvidia-cuda-toolkit

        Este pacote instala o compilador do cuda “nvcc”, que gera o binário para o GPU.

        Criando o Hello World

        Neste exemplo não faremos muita coisa, a não ser chamar nossa primeira rotina que irá processar no GPU.

        GIT

        O projeto esta no GIT e pode ser baixado aqui:

        https://github.com/marcelomaurin/CUDA_HELLO

        Baixando o Projeto

        Para baixar o projeto digite:

        git clone https://github.com/marcelomaurin/CUDA_HELLO.git

        Compilando o projeto

        Para compilar o projeto digite o seguinte comando:

        make

        Segue o print screen da tela

        Compilação do projeto

        Agora iremos rodar o projeto.

        Rodando o projeto

        Analisando o código

        Agora vamos dar uma olhada no fonte:

        #include <stdio.h>
        #include "cuda_runtime.h"
        
        //Kernel
        __global__
        void hello_world(void){
        	printf("hello\n");
        }
        
        
        int main(){
        	printf("Chamando hello!\n");
        	hello_world << <3, 10>> >();
        	cudaDeviceSynchronize();
        	return 0;
        }

        Este pequeno código, chama o hello_world, iniciando 30 threads, onde chama 3 blocos (SMs), com 10 threads cada.

        O comando cudaDeviceSynchronize, realiza a sincronização entre o kernel do linux e as threads do cuda.

        Lembrando que o valor máximo dado por thread é 1024 por bloco SM.

        Referências

        https://cuda-tutorial.readthedocs.io/en/latest/tutorials/tutorial01/

        Documentação NVIDIA da API runtime

        https://docs.nvidia.com/cuda/cuda-runtime-api/modules.html#modules

        POSTGRES
        Instalar PostgreSQL no Linux

        O Procedimento de instalação do postgresql é muito simples:

        apt install postgresql

        apt install postgresql-contrib

        Vídeo apresentando a instalação do PostgreSQL no linux

        Acessando o banco de dados

        Voce instalou o banco, agora iremos acessa-lo.

        O processo de instalação criou o usuário padrão postgres, iremos utiliza-lo.

        su -i -u postgres

        Agora iremos chamar o psql.

        psql

        Para sair \q do postgres.

        Criando contas de usuário e Banco de dados

        Para criar um usuário no banco, deve-se primeiramente entrar com o usuário postgres.

        su -i -u postgres

        Em seguida devemos criar um novo usuário.

        createuser –interactive

        Voce será questionado, ao nome do usuário.

        Criando um banco de dados

        Ainda com usuário postgres, faça:

        createdb <nome do banco>

        Conectando com outro usuário

        psql -d postgres

        Instalando pacote de desenvolvimento

        Entre com o super usuário, e instale o seguinte pacote:

        apt install libpq-dev

        O include ficará em /usr/include/postgresql/libpq

        Referências:

        https://www.digitalocean.com/community/tutorials/how-to-install-postgresql-on-ubuntu-20-04-quickstart-pt

        https://qastack.com.br/programming/3116015/how-to-install-postgresqls-pg-gem-on-ubuntu

        Veja tambem

          maurinsoft.com.br