Últimos Conteúdos

By default, Netdata only shows data from the last hour (unless configured to keep data for a longer period of time).

In version 1.15, they included a database engine, which can be used to store more data. It is very easy to enable it, but I could not find anywhere a guide showing how to do it. So, here it goes.


First, you must update your Netdata to at least v. 1.15.

Then, you must find your netdata install folder. There, you must look for a script called edit-config. In one of my servers, it is located at /etc/netdata, but in another one it was in a different location. Navigate to that folder, then run this command:

./edit-config health.d/dbengine.conf

You may need to use sudo.

After that, you must edit netdata.conf, which is in the same folder. Under [global], you must add these 3 lines:

memory mode = dbengine
page cache size = 32
dbengine disk space = 256

And that's it. Reboot, and load the netdata page at servername:19999. To make sure that it is working, I had to wait one hour to see if it would keep showing old data or not. Maybe there's a better way to check it, but that's what I did.

 

 

 

THE LESSER-KNOWN PROGRAMMING LANGUAGES #18: FIFTH

FIFTH is a precision mathematical language in which the data types refer to quantity. The data types range from CC, OUNCE, SHOT, and JIGGER to FIFTH (hence the name of the language), LITER, MAGNUM and BLOTTO. Commands refer to ingredients such as CHABLIS, CHARDONNAY, CABERNET, GIN, VERMOUTH, VODKA, SCOTCH, and WHATEVERSAROUND.

The many versions of the FIFTH language reflect the sophistication and financial status of its users. Commands in the ELITE dialect include VSOP and LAFITE, while commands in the GUTTER dialect include HOOTCH and RIPPLE. The latter is a favorite of frustrated FORTH programmers who end up using this language.

Sempre esqueço.

 

$pasta = __DIR__.'/pasta/processar';
$iterator = new DirectoryIterator($pasta);

foreach ( $iterator as $entry )
{
if($entry->isFile ())
{
$file_extension = pathinfo($entry->getFilename(), PATHINFO_EXTENSION);
if($file_extension=='log')
{
$arquivos[] = $entry->getPathname();
}
}
}

 

Um aprendiz perguntou ao mestre: "Eu vejo que uma empresa de computadores é muito maior que as demais. Ela ascende sobre seus competidores como um gigante entre anões. Qualquer uma de suas sub-divisões poderia comprometer todo um mercado. Como isso é possível?"

O mestre respondeu, "Porque você faz perguntas tão tolas? Aquela empresa é gigante porque é gigante. Se ela só fabricasse hardware, ninguém a compraria. Se ela só mantivesse sistemas, as pessoas a tratariam como um serviçal. Mas por ela combinar todas essas coisas, as pessoas a vêem como um dos deuses! Por não procurar se empenhar, ela conquista sem fazer grandes esforços."

Para gerar o boleto de pagamento do ITBI na cidade de São Paulo, precisa acessar e preencher o seguinte formulário:

https://www3.prefeitura.sp.gov.br/damsp_itbi/forms/frm_sql.aspx?Tipo=Sql

Se o imóvel não tem vaga, é só preencher normalmente o formulário com os dados solicitados.

O que complica é no caso do imóvel ter vaga de garagem, e essa vaga ter uma matrícula e IPTU diferentes do imóvel, o que foi o meu caso.

Quando isso acontece, é necessário fazer dois ITBI - um pro apartamento, e um pra vaga de garagem.

O que complica mais ainda é quando a vaga de garagem não é separada da garagem inteira - ou seja, o valor de mercado da sua vaga é, seilá, R$50.000,00, mas o valor do ITBI é baseado no valor venal, que no caso é de R$5.000.000,00 - sim, cinco milhões.

Nesse caso, primeiro tu preenche a guia do ITBI com os dados do apartamento, informa se teve financiamento, etc e tal. Só não esqueça que no campo Valor da Transação vai apenas o valor de compra do apartamento, e não o total (apartamento + vaga).

Segundo, precisa preencher o ITBI da vaga, e é aqui que complica um pouco.

  • No campo Valor da Transação, vai o valor pago pela vaga (ex.: 50.000,00)
  • No campo Tipo financiamento, não vai nada - a moça que me atendeu na Secretaria da Fazenda disse que não se deve informar nada aí, pois vaga não tem financiamento.
  • Agora, o pulo do gato: no campo "Está sendo transmitida a totalidade do imóvel", tu marca "não". Vai aparecer um campo pedindo a proporção transmitida. Esse campo deve ser preenchido com o valor da fração ideal da vaga, descrita na matrícula da vaga (aquele papel amarelo). No meu caso, era 0,19% (na matrícula, diz 0,1962, mas o formulário só aceita 2 casas decimais).

E é isso. Pague os dois boletos, e depois leve ao cartório.

 

Ao contrário do que eu tinha escrito, não é nada disso. Depois de esperar 5 dias, o cartório não aceitou o pagamento do ITBI, pois estava errado. Como o pessoal do cartório fez o novo cálculo, eu acabei sem saber qual a regra correta, mas a orientação deles é que se vá até a prefeitura, para obter o valor correto.

Ah, um detalhe: Pergunte antes no cartório se o boleto pode ser pago no caixa eletrônico. Quando estava na fila do Itaú pra pagar o boleto, a moça do caixa disse que no cartório que ela foi (se não me engano era o 15°), eles não aceitaram o comprovante emitido pelo caixa eletrônico. No meu caso (8° cartório), eles aceitaram normalmente.

Ah, outro detalhe: O horário do cartório é até as 17h, mas o atendimento para assuntos imobiliários é só até as 16h.

Ah, mais um último detalhe: Nós já tivemos um imóvel financiado pelo Minha Casa Minha Vida, que até já foi vendido. Mesmo assim, o cartório não aceitou a declaração de primeiro imóvel pelo SFH, e tivemos que pagar o valor integral, sem ter direito ao desconto de 50%.

Listando os dispositivos e partições encontrados:

sudo fdisk -l

Montando a partição do dispositivo em uma pasta:

sudo mount /dev/sdb1 /media/usb/

Obs: A pasta /media/usb precisa ter sido criada antes.

Listando o espaço em disco dos dispositivos:

df

Desmontando a partição para remover o drive:

sudo umount /media/usb

There is hardly a thing in the world that some man can not make a little
worse and sell a little cheaper.

Going to church does not make a person religious, nor does going to school make a person educated, any more than going to a garage makes a person a car.

Eu sempre esqueço a conta que deve ser feita, então vamos lá:

A conta que deve ser feita é dividir o preço do etanol pelo preço da gasolina.

Se o resultado for inferior a 0,70, compensa mais abastecer com etanol.

Se o resultado foi superior a 0,70, a gasolina é mais vantajosa.

Caso o valor seja igual a 0,70, a opção é indiferente.

... aí tu olha praquele notebook antigo parado, ali, e pensa "preciso fazer alguma coisa com ele".

Aí tu sobe um servidor de Xonotic nele, e deixa ligado o fim de semana inteiro. E, ao contrário do que pensei, até que apareceram algumas pessoas.

Agora, preciso descobrir se o ping ficou decente, e se consigo gerar estatísticas de quantos usuários acessaram.

Link do servidor: http://stats.xonotic.org/server/18368

Um exemplo, porque vivo esquecendo.

$.ajax({
  dataType: 'json'
  ,url: url
  ,data: form.serialize()
  ,method:'POST'
  ,success: function(data){
    sucesso(data);
  }
  ,error: function(jqXHR, textStatus, errorThrown){

  }
  ,complete: function(){
    $('#carregando').slideUp();
  }
});

Everyone says that having power is a great responsibility.

This is a lot of bunk.

Responsibility is when someone can blame you if something goes wrong.

When you have power you are surrounded by people whose job it is to take the blame for your mistakes.

If they're smart, that is.
-- Cerebus, "On Governing"

Primeiro, instalamos tor e o connect-proxy:

sudo apt install tor connect-proxy

Depois, configuramos o arquivo ~/.ssh/config para usar o proxy:

Host *
CheckHostIP no
Compression yes
Protocol 2
ProxyCommand connect -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p

Por fim, conectamos no ssh:

ssh [email protected]

Se der a mensagem de erro ERROR: You must specify the destination port correctly., então precisa usar o ip do servidor, ao invés do hostname.

The world's most avid baseball fan (an Aggie) had arrived at the stadium for the first game of the World Series only to realize he had left his ticket at home.

Not wanting to miss any of the first inning, he went to the ticket booth and got in a long line for another seat.

After an hour's wait he was just a few feet from the booth when a voice called out, "Hey, Dave!" The Aggie looked up, stepped out of line and tried to find the owner
of the voice -- with no success. Then he realized he had lost his place in line and had to wait all over again.

When the fan finally bought his ticket, he was thirsty, so he went to buy a drink. The line at the concession stand was long, too, but since the game hadn't started he decided to wait.

Just as he got to the window, a voice called out, "Hey, Dave!" Again the Aggie tried to find the voice -- but no luck.

He was very upset as he got back in line for his drink.

Finally the fan went to his seat, eager for the game to begin.
As he waited for the pitch, he heard the voice calling, "Hey Dave!" once more.

Furious, he stood up and yelled at the top of his lungs, "My name isn't Dave!"

Ao tentar criar um projeto novo com o Flutter no Android Studio, aparece sempre o erro abaixo:

* Error running Gradle:
Exit code 1 from: /home/everton/AndroidStudioProjects/flutter_layout/android/gradlew app:properties:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/everton/AndroidStudioProjects/flutter_layout/android/build.gradle' line: 24

* What went wrong:
A problem occurred evaluating root project 'android'.
> A problem occurred configuring project ':app'.
> No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

Para corrigir:

  • Abrir o arquivo android/build.gradle e trocar gradle:3.0.1 por gradle:3.1.1;

Com isso, o erro vai mudar para algo assim:
> Failed to apply plugin [id 'com.android.application']
> Minimum supported Gradle version is 4.4. Current version is 4.1.

  • Abrir o arquivo android/gradle/wrapper/gradle-wrapper.properties e trocar gradle-4.1-all.zip por gradle-4.6-all.zip

Obs: O Android Studio avisa que a versão mais recente do gradle é a 3.2.1, mas não funciona com ela. Só consegui fazer funcionar com a 3.1.1.

 

Fonte: Uns mil sites e StackOverflow

Life is like arriving late for a movie, having to figure out what was going on without bothering everybody with a lot of questions, and then being unexpectedly called away before you find out how it ends.