Problema de certificado SSL ao baixar uma box no vagrant

Olá, hoje ao tentar iniciar uma nova box utilizando Vagrant, acabei tendo problemas com certificação. Como não achei solução específica e em português pela internet, resolvi compartilhar pra ajudar quem possa ter o mesmo problema.

Problema retornado pelo GitShell no windows:
An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again. SSL certificate problem: unable to get local issuer certificate More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.


Solução encontrada:
O comando abaixo foi adicionado no meu Vagrantfile para que ignorasse o certificado SSL que estava impedindo o download da box.
config.vm.box_download_insecure = "https://caminhoparadownload.nomedabox.box"
Após alterado o Vagrantfile, basta executar "vagrant up" novamente.

Referencias:
https://docs.vagrantup.com/v2/vagrantfile/machine_settings.html


Dual Boot Windows x Linux - ASUS X550LA

Problema/Solução

Eu estava tentando instalar o Ubuntu no meu notebook, tentei diversas versões e diversas formas (dual boot, instalação, formatação) e não conseguia de jeito nenhuma por causa da UEFI na BIOS. Depois de muita pesquisa sem encontrar informação que me ajudasse, resolvi fazer uma atualização da BIOS para tentar a sorte e finalmente funcionou, então to compartilhando caso alguém venha a ter o mesmo problema.

Notebook: Asus X550LA
BIOS: X550LA.505
Versão atual da BIOS (05/05/2015): X550LA.509
 (Print doo suporte da Asus - Download de drivers)

Eu baixei a nova versão da BIOS (509) do site da Asus e segui o seguinte tutorial para fazer a atualização.
Link do tutorial: https://www.youtube.com/watch?v=SZKQ-0tuqQg
Depois de atualizar a minha BIOS, fiz a instalação novamente (ao lado do windows) e funcionou, apareceu a janelinha para escolher qual sistema operacional eu queria iniciar, conforme o esperado.



Erros ocorridos durante as tentativas

• Uma das primeiras tentativas que fiz foi restaurar o boot pela live do Ubuntu, mas ao instalar o Boot Repair dava o seguinte erro.

"The current session is in Legacy mode. Please reboot the computer, and use this software in an EFI session. This will enable this feature. For example, use a live-USB of Boot-Repair-Disk-64bit, after making sure your BIOS is set up to boot USB in EFI mode."
Acho que esse erro ocorria porque minha versão antiga da bios não permitia mudar o Legacy mode. De qualquer forma, não deu certo até atualizar a BIOS.



Observações

Link de como configurar o boot pelo pendrive:
https://www.youtube.com/watch?v=AM9UyNcSEU0
Link de como fazer o pendrive bootavel para funcionar na opção UEFI:
https://www.youtube.com/watch?v=FzVHxevBw2E

Qualquer dúvida envia nos comentários que talvez eu possa ajudar. 

Cor do item selecionado (em foco) e linha zebrada

Bom, pra variar, perdi um tempo danado tentando deixar a linha selecionada do meu ListView com cor diferente, tentei com vários eventos e não conseguia mudar a cor nem da linha selecionada e nem da linha em foco. Tentei também usar aquele tal de ObjectListView, mas vi que para o que eu precisava, ele era muito complexo. Ok, acho que ninguém quer saber minha história de vida com a ListView, vou direto a solução.

Criei um componente o tipo Listview para facilitar, e nele programei o seguinte:



Imagens do exemplo, utilizando o componente ListViewSBGColor criado com o código acima:






Se tiver dúvidas, pode perguntar via comentário.

Link para download do componente + projeto de exemplo em:
https://bitbucket.org/bitshoogie/listviewsbgcolor/



C# e MySql - Deadlock found when trying to get lock; try restarting transaction

Gente boa tarde! Eu resolvi a pouco tempo atrás, integrar o software da empresa onde trabalho de SqlServer para MySql, devido a varias vantagens que li sobre o MySql (Incluindo o fato de ser livre). Porém, nessa mudança perdi um tempo medonho tentando descobrir porque dava a seguinte MySqlException na minha aplicação:

Erro 1213 - Deadlock found when trying to get lock; try restarting transaction


Problema:

Eu tenho uma aplicação que está toda hora atualizando uma determinada tabela no banco, e outras tantas aplicações que fazem a leitura da mesma tabela. O que acontece, é que quando você vai dar um UPDATE na tabela, a tabela é trancada, não podendo ser acessada naquele momento, ou seja, eu estava lendo mundo e atualizando muito em um curto intervalo de tempo, e isso causava VARIAS vezes essa maldita exceção..

Até onde eu li, esse tipo de coisa acontece com todos os bancos, não só com o MySql, porém é configurável, eu não tinha esse problema quando usava o SqlServer.

Resolução:

Depois de tentar todo tipo de coisa, e fazer todo tipo de pesquisa, meu boss descobriu que tem uma variável no MySql onde você pode definir se a busca de dados será feita com os dados já comitados, ou seja, não da problema de acesso pois ele ignora o que está sendo comitado no momento em que a tabela está em lock.

Script para alterar a variavel:
SET GLOBAL TX_ISOLATION='READ-UNCOMMITTED';


Esse SCRIPT funciona, só que tem um porém, quando inicia a instancia do MySql, a variavel volta para o valor default, para isso não acontecer deve ser alterada no arquivo MySql.ini ou se você usa o Workbench, vá em Options File/Advanced, selecione a variavel transaction-isolation e mude o valor dela para READ-UNCOMMITED
Ex:

Dessa forma você libera a leitura da tabela mesmo quando ela esta em lock e não se incomoda mais com esses Deadlock do capiroto..

Não é possível converter um objeto do tipo 'System.Windows.Forms.ToolStripSeparator' no tipo 'System.Windows.Forms.ToolStripMenuItem'.

 Problema:

Ao fazer um foreach dos ToolStripMenuItem do seu MenuStrip, se tiver algum separador na lista vai dar erro, pois este não pode ser convertido para ToolStripMenuItem .

Solução:

Em vez de procurar por um ToolStripMenuItem no foreach, procure um objeto, então ele vai conter ambos os ToolStripMenuItem e os ToolStripSeparator, dentro do foreach antes de fazer sua rotina, verifique se o item do foreach é mesmo um ToolStripMenuItem e manda bala.

Segue a imagem com exemplo: (O código comentado é o correto)


(Falha/Erro ao instalar o Sql Server 2012) As instâncias anteriores do Visual Studio 2010 precisam ser atualizadas.


Só para deixar mais pratico, pois não achei nenhum link na web que ia direto ao ponto dessa questão! Para resolver o problema acima basta baixar e instalar o Service Pack 1 do Visual Studio 2010, e depois clicar em "Executar Novamente".

Link para download:

http://www.microsoft.com/en-us/download/details.aspx?id=23691

Sql Server - Arithmetic overflow error converting varchar to data type numeric.

rro ao inserir valor decimal na tabela:
Msg 8115, Level 16, State 8, Line 1
Arithmetic overflow error converting varchar to data type numeric.
The statement has been terminated.

       Eu estava tendo este erro na hora de inserir dados em uma tabela do meu sistema, e o problema é que eu tinha um campo decimal de tamanho (8,2), e estava tentando inserir o seguinte valor: 1234567.89
       O que acontece, quando digo que a precisão é 8, significa que a quantidade de números que eu vou poder inserir também é 8, e no meu caso estava inserindo 9, se eu coloca-se da seguinte forma iria funcionar perfeitamente: 123456.78. O que pode ser feito também é aumentar o tamanho da precisão nas propriedades da coluna como por exemplo (9,2).