DatabaseCast 60: Currículo de DBA

VitrineDatabaseCast60

Olá, pessoal! Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e os convidados Rodrigo Almeida (@dbarodrigo) e Airton Lastori (@alastori) abrem a caixa de entrada e analisam currículos para a vaga de DBA Oracle, SQL Server e MySQL. Neste episódio você vai descobrir o que colocar em um currículo para vagas de DBA júnior, pleno e sênior, indicar o quanto quer ganhar, citar sua experiência no condomínio, gastar um tempo no LinkeIn, contar sua história e como (não) mentir no currículo.

Confira o preço promocional da camiseta do DatabaseCast Fluxo Matrix com tecido especial (tipo tradicional econômico) clicando aqui.

Camiseta DatabaseCast Fluxo Matrix

Veja também a caneca Datas SQL com a sintaxe para manipulação de datas no Oracle, SQL Server, MySQL e PostgreSQL.

FINAL_FotoColocaoReal

Não deixe de nos incentivar digitando o seu comentário no final deste artigo, mandando um e-mail para  databasecast@gmail.com, seguindo o nosso twitter @databasecast, vendo informações de bastidores e as músicas do programa no nosso Tumblr e curtindo a nossa página no Facebook e no Google+.

feed-rss1

Veja no gráfico abaixo a duração e os tempos aproximados de início e fim de cada bloco:

GraficoTamanhoDatabaseCastEpisodio60

Veja na tag cloud abaixo a contagem das palavras mais usadas nos e-mails, comentários e tweets do episódio anterior:

TagCloudEp60

Livro Conversando sobre Banco de dados do Mauro Pichiliani (Impresso e PDF, EPUB e MOBI)

Você pode comprar a camiseta com estampa fractal Fluxo Matrix e Sonho Fractal diretamente neste link. Veja também:

Links do episódio:



Publicado em DatabaseCast, Podcast | Com a tag , , , , , , , , | Deixar um comentário

DatabaseCast 59: Banco de dados no mobile

VitrineDatabaseCast59

Olá, pessoal! Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e o convidado Sebastião Relson (@reslson) tiram o celular do bolso para falar sobre bancos de dados no mundo mobile. Neste episódio, você vai saber quais foram as soluções iniciais para lidar com banco de dados no mobile, quem teve um celular de flip, relembrar do Palm, Teletrim e do iPaq, fazer a sincronia dos dados da força de vendas que vai a campo, criticar o POS (Ponto de Venda), colar com a calculadora do relógio e nunca se esquecer de transferir os contatos da agenda eletrônica com o cabo serial.

Este episódio é um oferecimento da Nerv Informática, a escola de computação onde você aprende tudo sobre banco de dados, Oracle e MySQL. Aproveite o preço promocional para a palestra sobre Oracle Internals.

LogoNervClique aqui para se inscrever no evento de Android do iMasters, o Android Dev Converence. O cupom para a inscrição com o valor promocional de R$ 99,00 é DatabasecastAndroidConf.

Confira o preço promocional da camiseta do DatabaseCast Fluxo Matrix com tecido especial (tipo tradicional econômico) clicando aqui.

Camiseta DatabaseCast Fluxo MatrixVeja também a caneca Datas SQL com a sintaxe para manipulação de datas no Oracle, SQL Server, MySQL e PostgreSQL.

MontagemCanecaDatabaseCast

Não deixe de nos incentivar digitando o seu comentário no final deste artigo, mandando um e-mail para  databasecast@gmail.com, seguindo o nosso twitter @databasecast, vendo informações de bastidores e as músicas do programa no nosso Tumblr e curtindo a nossa página no Facebook e no Google+.

feed-rss

Veja no gráfico abaixo a duração e os tempos aproximados de início e fim de cada bloco:

GraficoTamanhoDatabaseCastEpisodio59

Veja na tag cloud abaixo a contagem das palavras mais usadas nos e-mails, comentários e tweets do episódio anterior:

TagCloudEp59

Livro Conversando sobre Banco de dados do Mauro Pichiliani (Impresso e PDF, EPUB e MOBI)

Você pode comprar a camiseta com estampa fractal Fluxo Matrix e Sonho Fractal diretamente neste link. Veja também:

Links do episódio:



Publicado em DatabaseCast, Podcast | Com a tag , , , , , , , , , , | 1 comentário

Conferências onde eu gostaria de palestrar

Fonte: http://bit.ly/1ShLtrI

Fonte: http://bit.ly/1ShLtrI

Eu já tive a oportunidade de participar de diversas conferências na área da computação, sejam elas nacionais ou internacionais. Neste post vou falar sobre algumas conferências que eu ainda não participei, mas que gostaria muito de apresentar algum trabalho.

Figure2_attendee-perspective-header

A área da computação é cheia de eventos técnicos ou não. Em geral, os eventos técnicos que contam com palestras voltadas para o público desenvolvedor são os que mais me interessam, pois nestes encontros eu sempre aprendo algo e acabo fazendo bons contatos.

A participação em conferências técnicas basicamente se resume a dois modos não exclusivos: ou você é a audiência ou participa como palestrante. Na maioria das vezes eu participo como palestrante para demonstrar algum trabalho que eu tenha realizado ou algo que estou estudando/pesquisando.

Nas conferências, eventos e encontros da comunidade é comum que haja algum tipo de processo de seleção para a participação, algo como um Call for Papers (chamada de trabalhos), Call for Presentations ou similar. Este tipo de processo pode ser mais ou menos rígido dependendo da conferência. Já falei um pouco sobre isso e outros aspectos das conferências acadêmicas no episódio do DatabaseCast que falou sobre banco de dados na academia.

Mas enfim, voltando ao assunto do post, vou lista aqui quatro conferências que eu acredito serem de ótima qualidade e que gostaria de participar como um palestrante algum dia, desde que eu tenha algo relevante e importante para contribuir com a respectiva comunidade.

The ACM Conference of Computer Human Interaction (CHI)

Figura3_CHI_logo

A CHI é a principal conferência internacional relacionada a interação de computadores e humanos. E o termo interação aqui é amplo, ou seja, ele abrange uma grande quantidade de tópicos. Já tive a oportunidade de participar uma vez desta conferência como audiência, e realmente fiquei muito impressionado pela quantidade de ideias, criatividade, inovação e imaginação no que foi apresentado lá. Apesar de ser um pouco fora da minha área e ser muito difícil conseguir publicar um paper lá (taxa de aceitação de trabalhos em torno de 20%), eu realmente gostaria de participar como um palestrante algum dia.

The ACM Conference of Computer-Supported Cooperative Work and Social Computing (ACM CSCW)

Figura4_CSCW-LogoA conferência ACM CSCW aborda diversos tópicos da minha área de pesquisa e, sem nenhum constrangimento, eu assumo que tenho um sonho de publicar um paper nesta conferência. Os tópicos envolvem diversas linhas de pesquisa que estudam como a tecnologia pode ajudar as pessoas a trabalharem junto, incluindo diversos sistemas, aplicações e estudos nos mais diferentes contextos.

DefCon

Figura5_DEF CON 20 Hacking Conference Artwork By Mar - Logo with CharactersA DefCon não é exatamente uma conferência acadêmica, porém o nível das palestras técnica é muito alto. Focada em diversos aspectos de segurança, esta é a principal conferência para todos os tipos de Hacking. O destaque vai para os eventos “paralelos” desta conferência, como os campeonatos de Capture de Flag, os workshops e os diversos eventos que a comunidade produz.

Capturing the FlagTED

Figura6_TED_logo_rgb1

Eu sei, o TED é uma conferência que ganhou muita popularidade recentemente e não é exatamente técnica, mas eu vejo um apelo muito forte nas palestras voltadas para a tecnologia que apresentam inovações. Apesar desta conferência ser cada vez mais criticada devido as palestras do tipo “como salvar o planeta com uma ideia que eu tive e você não”, sei que existem diversos eventos que levam a marca TED e que se consideram independentes e acredito que se um dia eu tiver uma palestra/conteúdo/inovação que seja digno de uma palestra em um evento TED oficial isso seria um dos pontos altos da minha carreira.



Publicado em Evento | Com a tag , , , , , , , , | Deixar um comentário

DatabaseCast 58: Banco de dados no setor público

VitrineDatabaseCast58

Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e o convidado Lucas Benevides (@beneladen) estudam para passar no concurso público. Neste episódio você vai saber quais são as vagas do setor público para trabalhar com banco de dados, como ficar com raiva das questões da prova, aprender a lidar com burocracia, identificar quem trabalha e quem fica de moleza no serviço e porquê nunca se deve esquecer um acento em um modelo de dados.

Este episódio é um oferecimento da Nerv Informática, a escola de computação onde você aprende tudo sobre banco de dados, Oracle e MySQL. Aproveite o preço promocional para a palestra sobre performance tuning no MySQL!.

LogoNerv

Confira o preço promocional da camiseta do DatabaseCast Fluxo Matrix com tecido especial (tipo tradicional econômico) clicando aqui.

Camiseta DatabaseCast Fluxo Matrix

Veja também a caneca Datas SQL com a sintaxe para manipulação de datas no Oracle, SQL Server, Mysql e PostgreSQL.

MontagemCanecaDatabaseCast

Não deixe de nos incentivar digitando o seu comentário no final deste artigo, mandando um e-mail para  databasecast@gmail.com, seguindo o nosso twitter @databasecast, vendo informações de bastidores e as músicas do programa no nosso Tumblr e curtindo a nossa página no Facebook e no Google+.

feed-rss

Veja no gráfico abaixo a duração e os tempos aproximados de início e fim de cada bloco:

GraficoTamanhoDatabaseCastEpisodio58

Veja na tag cloud abaixo a contagem das palavras mais usadas nos emails, comentários e tweets do episódio anterior:

TagCloudEp58

Livro Conversando sobre Banco de dados do Mauro Pichiliani (Impresso e PDF, EPUB e MOBI)

Você pode comprar a camiseta com estampa fractal Fluxo Matrix e Sonho Fractal diretamente neste link. Veja também:

Links do episódio:



Publicado em DatabaseCast, Podcast | Com a tag | Deixar um comentário

Analisando a frequência cardíaca (BPM)

Figura1_capaA frequência cardíaca medida por meio de Batimentos por Minuto (BPM) é uma das métricas que vem sendo muito utilizadas por diversos dispositivos, incluindo os wearables. Neste post vou falar um pouco sobre que tipo de análise e o que é possível fazer com estes dados.

Figura2_apple-watchAssim como diversos outros tipos dados coletados por sensores, os dados fornecidos por um medidor cardíaco tal como um smartwatch ou uma cinta específica para quem faz exercícios aeróbicos podem ser analisados e utilizados de diversas maneiras. Portanto, o que vou comentar neste post é útil tanto para os dados de BPM como para outros tipos de sensores que produzem dados mais ou menos no mesmo formato, sejam eles coletados em projetos que envolvam wearables ou iOT (Internet of Things).

Print

Do ponto de vista técnico, os dados de BPM coletados são tratados por meio de uma disciplina chamada de processamento digital de sinais, ou DSP. Existem muitas teorias, algoritmos e técnicas desta área que podem ajudam quem deseja lidar com este tipo de dado. Recomendo para quem se interessar por isso procurar se aprofundar nesta área, pois existe muita coisa legal que pode ser feita a partir da quantidade de conhecimento acumulada sob a sigla DSP.

Considerando que já obtemos os dados brutos de BPM a partir de um sensor, a primeira coisa que precisamos fazer é uma limpeza para obter somente dados válidos e, por exemplo, eliminar valores negativos ou que estejam muito fora da escala esperada para um batimento cardíaco humano. O segundo passo, dependendo de algumas característicos do conjunto de dados, é considerar algum tipo de tratamento tal como um filtro de Kalman ou semelhante. Depois destes passos podemos pensar em começar a analisar mais de perto os dados.

Apesar da métrica se chamar BPM é comum os dispositivos e sensores coletarem os dados em uma frequência menor como, por exemplo, uma mediação por segundo. Uma vez que os dados já tenho sido processados e armazenados adequadamente recomenda-se dar uma olhada por cima em sua distribuição através de um gráfico de linha onde coloca-se no eixo X a unidade de tempo e no eixo Y o valor BPM obtido. Observar os dados desta maneira ajuda a compreendê-los melhor, nem que seja apenas uma parcela do total de dados.

Figura4_healthy-hrUma das primeiras análises que pode ser feita nos dados BPM é descobrir onde estão os picos mais altos e os valores mais baixos. Isso pode ser associado com algum tipo de evento que aconteceu no mesmo momento e, inclusive, diversas aplicações usam esta abordagem para criar gatilhos ou ações quando certo patamar ou pico de dados for alcançado. Por exemplo: regras do tipo “se o BPM for maior que 120 emitir aviso de ‘faça uma pausa de 5 minutos’” são comuns em aplicações, considerando que uma alta frequência cardíaca pode estar relacionada a um alto nível de nervosismo ou stress. Sem contar a análise para exercícios que indica a faixa adequada de BPM.

Depois da análise de picos também é importante obter medidas de centralidade como a média, mediana, moda e calcular a variância. Tais medidas gerais pode sem acompanhadas de teste de distribuição (especialmente a distribuição normal) para ajudar a compreender os dados. A partir deste ponto já é possível utilizar técnicas de análises um pouco mais avançadas.

Uma técnica de mineração de dados para classificação automática em grupos, tal como o K-means, pode ser muito útil para identificar, por exemplo, quanto tempo por dia a pessoa está com uma alta frequência cardíaca. A figura abaixo, obtida a partir dos dados coletados no meu experimento com o Android, mostra como foi classificada uma série de dados BPM em três categorias (baixo BPM, BPM médio e alto BPM) representadas pelo uso de cores diferentes nos pontos do gráfico.

Figura5_DadosClusterizados

Outra análise possível é identificar se há uma certa repetição (padrão) na frequência. Neste ponto já estamos entrando em análises de séries temporais (time series) que já contam com diversos algoritmos da literatura para análise, classificação e predição.

Figura6_TiposSerieTemporal

Existem alguns algoritmos que permitem identificar um ou mais motifs, que nada mais são do que padrões para a série temporal. No caso do BPM este tipo de padrão pode ser associado com outros dados como, por exemplo, a atividade que a pessoa estava realizado ou o local por onde ela passou (obtido por dados de um GPS).

Além da descoberta de padrões também é interessante classificar a série temporal de dados BPM em uma sequência de caracteres, tal como o resultado do algoritmo iSAX. Com diversas séries temporais representadas por uma sequência de caracteres é possível empregar outros algoritmos de machine learning (Apriori, Clustering, LCS, etc) que permitem comparar uma série com outra. Tal comparação pode indicar, por exemplo, se a hora de ida ao trabalho (6h -> 7h) é tão estressantes quanto o horário da volta (18h -> 17h).

Figura7_sax

A partir dos dados de BPM é possível gerar a quantidade de calorias gastas. Para isso geralmente é preciso contar com algum tipo de modelo representado por uma equação, tal como esta aqui. O cálculo deste tipo de dado derivado também requer a idade, o peso, o sexo da pessoa e o tempo total medido. De qualquer forma, a análise de calorias permite comparações e indicações para dizer, por exemplo, que o tempo que a pessoa ficou em uma reunião foi o suficiente para gastar a quantidade de calorias equivalentes às calorias ingeridas pelo consumo de um bombom.

Por fim, também é possível utilizar a série de dados BPM para gerar previsões, apesar deste tipo de análise não ser comum devido aos diversos fatores externos que podem tornar a previsão não tão interessante. Por exemplo, usando as ferramentas de API do Eureqa é possível gerar um modelo de dados prevendo (baseado nos dados históricos) que na próxima semana o usuário vai ficar muito nervoso ou estressado pelo menos um dia da semana e recomendar algum tipo de atividade para aliviar ou amenizar este stress.



Publicado em Programação | Com a tag , , , , , , , , | Deixar um comentário