06
Aug 08

Eu recomendo: Plugin para WordPress

:: news :: by Gilberto Saraiva

Camaradas,

Eu recomendo:

Developer Formatter

O Developer Formatter (Formatador para desenvolvedores) é um plugin fantástico para qualquer programador que se preze, facilita em uns 200% a publicação de códigos, exemplos, dicas e outros sobre uma vasta lista de linguagens suportadas. Tem um sistema inteligente de formatação que identifica códigos JavaScript e CSS em códigos HTMLs e o mesmo é feito com PHP. Utiliza o sistema de evidência de código GeSHi ( Syntax Highlighter ) que roda no seu servidor web.

As principais vantagens:

  • Itegração com os 2 Editores do WordPress, o TinyMCE e o Editor HTML plano.
  • Fácil instalação, só colocar no diretório de plugins do Wordpress pelo FTP e ativar na área administrativa.
  • Suporta as linguagens: GNU Gettext, Verilog, LotusScript, VHDL, Ada, C#, Rails, dot, Scala, NSIS, Smalltalk, Java(TM) 2 Platform Standard Edition 5.0, XML, OpenOffice.org Basic, Objective C, QBasic/QuickBASIC, Python, ABAP, Pascal, Inno, PHP, BlitzBasic, vb.net, Microsoft Registry, Io, MXML, Javascript, Diff, HTML, PHP brief, Matlab M, Fortran, robots.txt, GML, AutoIt, Bash, SAS, CFDG, Visual Basic, Smarty, glSlang, INI, Visual Fox Pro, CAD DCL, LaTeX, Text, Perl, ZiLOG Z80 Assembler, Java, Lotus Notes @Formulas, C++, ActionScript 3, thinBasic, OCaml, Basic4GL, MySQL, Microchip Assembler, ColdFusion, Lisp, per, Motorola 68000 Assembler, Uno Idl, X++, T-SQL, CAD Lisp, C (Mac), OCaml, C, DIV, KiXtart, AppleScript, mIRC Scripting, C++ (QT), ASM, TCL, Oracle 8 SQL, SQL, HTML, Haskell, Winbatch, ASP, Delphi, Lua, Scheme, DOS, Apache Log, ActionScript, Groovy, D, genero, FreeBasic, CSS, Ruby, PL/SQL, bnf, Eiffel, sdlBasic.
  • Se você já possui o GeSHi no seu servidor você poderá configurar o local aonde ele guarda as linguagens suportadas e usa-las sem precisar de enviar o pacote do plugin com as linguagens.
  • Sistema de copia (Ctrl+C) de código crossbrowser, e com texto editável.
  • Númeração das linhas via javascript (jQuery), reduzindo o tamanho do código gerado.
  • O formatador padrão poderá ser substituido pelo o que o Developer Formatter possui e você poderá escrever códigos HTML, tais como javascript, css, textareas e outros sem se preocupar com a perda da formatação no resultado final.
  • Comentários poderão utilizar a tag < code > para discussões sobre códigos.
  • Um pequeno exemplo da capacidade do Developer Formatter:

     HTML |  copy code |? 
    01
    <html>
    02
     <head>
    03
     <title>Html Test</title>
    04
     <script language="JavaScript">
    05
     <!--
    06
       /* My Javascript code */
    07
       function MyJSFunction(AParam){
    08
         alert('Param: ' + AParam);
    09
       }
    10
       var Variable = new Array(15.0, 30.0, 45, "test", MyJSFunction);
    11
     //-->
    12
     </script>
    13
     
    14
     <style type="text/css">
    15
       /* My CSS structure */
    16
       body {
    17
         background: transparent url("bg.gif") no-repeat 0% 0%;
    18
         font-family: verdana;
    19
         font-size: 16px;
    20
       }
    21
       table, table tr, table tr td {
    22
        padding: 0;
    23
        margin: 0; !important;
    24
       }
    25
       div#bullet {
    26
         font-weight: bold;
    27
       }
    28
       .hints {
    29
          font-style: italic;
    30
        }
    31
     </style>
    32
     </head>
    33
    <body topmargin="1">
    34
     <table width="100%">
    35
      <tr><td align="left" valign="middle">
    36
        Table test 1
    37
      </td></tr>
    38
     
    39
      <tr><td>
    40
        Table test 2
    41
      </td></tr>
    42
     
    43
      <tr><td valign="middle">
    44
        Table test 3
    45
      </td></tr>  
    46
     </table>
    47
    </body>
    48
    </html>

    teste
    Faça o download no site do WordPress: http://wordpress.org/extend/plugins/devformatter/

    Demais exemplos e comentários:
    http://gsaraiva.projects.pro.br/?developer-formatter



    05
    Aug 08

    Eu recomendo: Linguagem

    :: news :: by Gilberto Saraiva

    Camaradas,

    Eu recomendo:

    PHP

    PHP é uma linguagem interpretada ( pode ser encriptada também ) que te ofereçe o dinamismo necessário para resoluções rápidas de problemas na grande maioria, mas também lhe disponibiliza uma boa estrutura para projetos grandes e pesados.

    As principais vantagens:

  • Cast automático entre tipos de variáveis, mas com possibilidade de tipificação forçada.
  • Manipulação de arquivos bem estruturada e rápida.
  • Possibilidade de criação de Objetos/Classes.
  • Comunicação via socket.
  • Gerenciamento automático de sessão.
  • Leve.
  • Possibilidade de vazamento de memória muito pequena.
  • Vasto material na internet.
  • Vasto número de projetos open-source.
  • Fácil aprendizagem.


  • 01
    Aug 08

    Eu recomendo: Criação de Blog

    :: news :: by Gilberto Saraiva

    Camaradas,

    Eu recomendo:

    WordPress

    Todo mundo quer ter um site, aonde se publica qualquer informação e muita gente vai poder ler, e pra isso foi criado um sistema, um sistema que facilita a publicação e gerênciamento de conteúdo pra quem quiser, e esse sistema foi chamado de Blog. Várias são as linguagens que podemos achar projetos prontos ou escrever nossos próprios sistemas de blog, mas em específico temos o WordPress ( WP ) que é escrito em PHP, que tem um dos melhores ( se não for o melhor ) sistemas gerênciamento de Blog do mundo. Como PHP é uma linguagem prá lá de difundida no mercado ( acho que não existe servidor na internet que não rode o dito cujo ) o WordPress se torna ainda mais acessível para quem quiser ter um site com conteúdo de fácil manutênção. Eu particularmente poderia ficar falando horas e horas sobre o WordPress, pois já conheço bem o sistema além deste site ser estruturado em cima do mesmo.

    As principais vantagens:

  • Vários plugins. Não sei exatamente qual a quantidade, mas já é possível achar muita coisa pronta para vários tipos de necessidade.
  • Publicação de Posts ( leia-se: espécie de cartinha informativa :) ) e Pages ( Páginas ). Isso facilita a organização do layout, sendo Pages de conteúdo importantes e sempre visíveis e Posts de conteúdo informativo passageiro.
  • Não sei bem se é vantagem pra quem usa muito de Editor de texto plano, mas o WordPress faz uso do TinyMCE ( WYSIWYG editor ), que é um editor “comparável” ao WordPad que vem no windows, mas de funcionamento online ( Multi-plataforma ).
  • Gerencia comentários. Você poderá deletar, modificar comentários além de poder requerer sua autorização para a publicação do mesmo.
  • Sistema de Themes. Você pode mudar a cara do seu Blog com 1 Click.
  • Sistema de Cache muito bem estruturado. Pra quem entende que recurso poupado é mente tranquila, o sistema de cache do WordPress é algo a se levar em conta numa escolha em ambientes diversos.
  • Multi-usuários. Você e quem mais você quiser poderão ter acesso a parte admintrativa para publicar conteúdo.


  • 01
    Aug 08

    Eu recomendo: Editor de texto plano

    :: news :: by Gilberto Saraiva

    Camaradas,

    Eu recomendo:

    Notepad++

    Antes eu achava que estava com vantagem utilizando o ConText, mas acabei por me decepcionar, a primeira impressão que tive utlizando o Notepad++ me deu uma vontade de bater na cabeça, pois estava a tanto tempo sem saber que uma ferramenta com aquele nível existia. Pois bem, pra todo mundo que é cabeça dura como eu, não gosta muito de IDE de páginas html, php, css, javascript e outros fica aqui minha recomendação.

    As principais vantagens:

  • Plugins que facilitam certas rotinas trabalhalhosas.
  • Regular Expression no sistema de replace. Esse aqui de fato é a maior vantagem de se usar o aplicativo.
  • Troca de formato do arquivo UTF-8, ANSI e outros. ( valioso para quem mexe muito com Ajax )
  • Seleção de colunas ao precionar a tecla ALT.
  • Selection highlight matchs ( Ocorrências de seleção em evidência ): Outra grande melhoria, quando você seleciona um texto ou palavra ele automaticamente marcará com uma evidência mais branda as partes que são iguais dentro do arquivo.


  • 01
    Aug 08

    Eu recomendo: Criação de fórum

    :: news :: by Gilberto Saraiva

    Camaradas,

    Primeiro da série “Eu recomendo” que vou passar a publicar aqui. Então vamos lá.

    Eu recomendo:

    Simple Machines Forum

    O SMF é pacote que possibilita a criação de fóruns de discussão, seja pra qual finalidade for, é muito simples, como o nome mesmo já diz, tem um código-fonte muito bem estruturado e sem complicação para eventuais modificações ( aquelas que sempre são necessárias para caracterizar mais o que deseja publicar ou manter ).

    As principais vantagens:

  • Fácil manutenção
  • Criação e/ou modificações adicionais no código é bem simples, não requer conhecimento avançado para tal.
  • É leve. Não tem muita coisa pendurada que torna o server-side response ( tempo de processamento e resposta do servidor ) alto.
  • Escrito em PHP.
  • Caso ocorra algum erro de banco de dados e/ou de servidor, você é automaticamente notificado no e-mail.
  • Eu utilizo o SMF em vários locais, um deles é a minha área de projetos freelancer e outra é o DevPartners e nunca tive problemas.



    28
    Jul 08

    Delphi: Utils :: ChangeDropShadow

    :: articles :: by Gilberto Saraiva

    Folks,

    With this procedure you can change the Drop Shadow effect provided by windows XP/Vista on all windows without need to reset the computer.

     Delphi |  copy code |? 
    01
    procedure ChangeDropShadow(AActive: boolean);
    02
    var
    03
      Buff: Cardinal;
    04
      Param: Pointer;
    05
      DevMode: TDeviceMode;
    06
    begin
    07
      with TRegistry.Create do
    08
      begin
    09
        RootKey := HKEY_CURRENT_USER;
    10
        if OpenKey('\Control Panel\Desktop\', false) then
    11
        begin
    12
          ReadBinaryData('UserPreferencesMask', Buff, 4);
    13
          if AActive then
    14
            Buff := Buff or (1 shl 18)
    15
          else
    16
            Buff := Buff xor (Buff and (1 shl 18));
    17
          WriteBinaryData('UserPreferencesMask', Buff, 4);
    18
          Param := nil;
    19
          if AActive then
    20
            Param := @AActive;
    21
     
    22
          SystemParametersInfo(SPI_SETDROPSHADOW, 0,
    23
            Param, SPIF_SENDWININICHANGE);
    24
        end;
    25
        Free;
    26
      end;
    27
    end;

    Hugs!



    26
    Jul 08

    Benchmark: Como utilizar?

    :: articles :: by Gilberto Saraiva

    Camaradas,

    Vou falar um pouco sobre o projeto Benchmark que está disponível no fórum da DevPartners.

    Para que serve o projeto Benchmark?

    O projeto começou de uma brincadeira entre amigos para desenvolver o algoritmo mais rápido de criação de arranjos, então surgiu a necessidade de termos um sistema de quantificação de tempo utilizado, um benchmark, foi ai que eu comecei a escrever o projeto Benchamark.

    Um Benchmark serve para medir uma grandeza matemática que servirá para comparação ou avaliação.
    Exemplo:
    Frames por segundo em um jogo de computador, a grande maioria dos benchmarks são feitos para comparar o desempenho entre duas ou mais placas de vídeo.

    O projeto Benchmark servirá no meu aplicativo?

    Claro, o projeto Benchmark foi feito para não ser dependente de nada, é só colocar no seu projeto e utilizar quando necessário.

    Como faço para fazer um Benchmark de uma processo dentro do meu aplicativo?

    Primeiro você deve baixar o código-fonte do projeto Benchmark para sua máquina, acessando o fórum do projeto, http://devpartners.projects.pro.br/forum/?board=4.

    Uma pequena ajuda foi escrita para você que não conhece bem o Subversion:
    Como baixar um projeto pelo Subversion.

    Logo que tiver o código do Benchmark na sua máquina, acesse a pasta do Benchmark e copie o arquivo pasBenchmark.pas ( Benchmark\source\ ) para o diretorio de Lib do seu Delphi ( essa dica é para facilitar a implementação em outros projetos também, se você entende um pouco mais do esquema de diretórios do Delphi você poderá adicionar a Unit como uma biblioteca ), o diretório Lib do Delphi 7 é o:
    C:\Arquivos de programas\Borland\Delphi7\Lib

    Feito isso, você deve editar seu projeto em apenas 2 partes:

  • Adicionar o Benchmark no Uses da Unit do processo:
    Exemplo:
     Delphi |  copy code |? 
    01
    02
    unit Unit1;
    03
    { ... }
    04
     
    05
    var
    06
      Form1: TForm1;
    07
     
    08
    implementation
    09
     
    10
    uses pasBenchmark;
    11
  • Antes de iniciar o processo que deseja fazer o Benchmark:
     Delphi |  copy code |? 
    01
    procedure TForm1.ConnectToServer;
    02
    begin
    03
      { ... processo que conecta em um servidor de dados ... }
    04
    end;
    05
     
    06
    procedure TForm1.btnRunClick(Sender: TObject);
    07
    begin
    08
      Benchmark.StartBenchmarking('Benchmark de conexão com o servidor');
    09
      try
    10
        ConnectToServer;
    11
      except
    12
      end;
    13
      Benchmark.EndBenchmarking;
    14
    end;
  • Ao executar o aplicativo e executar o processo, você verá que uma janela abrirá, exibindo as informações do Benchmark, com um resultado semelhante ao exemplificado abaixo:
    1º Benchmark de conexão com o servidor
    Benchmark start at : 26/07/2008 11:54:26
    \___ runned under 550.587,964276 ms

    O que nos informa que a conexão com o servidor de dados demorou 550.587 milisegundos, algo en torno de 0,5 segundos.

    Aonde posso obter mais exemplos de como usar?

    Logo que você copiar os arquivos do projeto para sua máquina atravez do Subversion, você poderá acessar as demonstrações que acompanham o projeto na pasta Benchmark\demos

    Espero que o projeto ajude mais gente como já me ajudou algumas vezes.

    Abraço a todos



    24
    Jul 08

    Caster: New version avaliable

    :: news :: by Gilberto Saraiva

    Folks,

    New version avaliable:
    Caster – Word Clouds

    Version improviments:

  • Ctrl+A select all the text on the editor.
  • Anti-aliase factor can be changed as needed.
  • Compression of JPEG can be modified for export.
  • Compression of PNG can be modified for export.
  • PNG alpha channel can be enabled of not.
  • Fixed Bugs:

  • RGB fields change the color on Color Selection Helper.
  • Lower case button will convert the text to Lower case.
  • Upper case button will convert the text to Upper case.
  • All HTML Tags:

    >_ Castered! _<



    23
    Jul 08

    MySQL: Database Dump tricks

    :: articles :: by Gilberto Saraiva

    Folks,

    Let me relate this:

    Sometimes when you are dumping a database to another host your connection can down, and you will lost all your job and start again? No, no, no, you can make some tricks to continue where you stopped.

    So let me enumarate the tricks:

    MySQLDump commands:

  • Use –add-drop-table
    For don’t lose what you already done, you can config dump to don’t drop the table you are transfering.
    Command:
     DOS |  copy code |? 
    1
    --add-drop-table=FALSE
  • Use –no-create-info
    To avoid the creation of the table, you need to set this option as true.
    Command:
     DOS |  copy code |? 
    1
    --no-create-info=TRUE
  • Use –where option
    the –where option will work as a SQL filter for you, so if you have a indexed table you can
    Command:
     DOS |  copy code |? 
    1
    --where="ID > 300"
  • MySQL commands:

  • Use –force
    To avoid a break on the processing if the dump post a SQL that can cause a error, you need to Force to MySQL continue even with a SQL error and it will keep the rest of the process working.
    Command:
     DOS |  copy code |? 
    1
    --force
  • So, now you know what the commands do and can create a full command line like this one:

     DOS |  copy code |? 
    1
    2
    C:\MySQL\Bin>mysqldump -h 10.0.0.1 -u root -p123456 --add-drop-table=FALSE --no-create-info=TRUE --where="ID > 300" MyDatabase MyTable | mysql -h www.mysite.com -u MyWebUser -p123456 --force MyWebDatabase
    3

    Piece of cake, uhm?



    22
    Jul 08

    MySQL: Database Dump to another Host

    :: articles :: by Gilberto Saraiva

    Folks,

    I’m not a big fan of database programming, but sometimes we need to use then and sometimes we need to manipulate HUGE databases.

    Today I’ve take a big problem, a MySQL database with ~4 GB of size to send to webserver on USA, I tryed to use SQLYog, but this one is to slow and don’t provide a way to retry o continue if some error raise. So 2 hours has pass, and I decided to learn a little about MySQL dump system, and for my luck the mysqldump executable make all the job for me, we need only pass the right command line.

    Lets take a look on the possibilities:

  • MySQLDump is a application that provide a easy way to backup your table(s) or full database(s), keep this idea on the mind!
  • When we create a dump we can output the structure as a SQL file, normal or compressed one.
  • And after reading a little about the dump, I founded the glory magic of create a output to another host
  • Let me show the glory magic of dump a database to another host:
    On a shell (DOS or other one):

     DOS |  copy code |? 
    1
    2
    C:\MySQL\Bin>mysqldump -h 10.0.0.1 -u root -p123456 MyDatabase MyTable | mysql -h www.mysite.com -u MyWebUser -p123456 MyWebDatabase
    3

    Where:
  • -h 10.0.0.1: -h param to indicate the host, the default is localhost, so if you are on the machine that have the database to copy, the use isn’t needed.
  • -u root: -u param to indicate the mysql user.
  • -p123456: -p param to indicate the mysql user password. Note: the password is together the -p param without space between.
  • MyDatabase MyTable: MyDatabase indicate the database name, and MyTable indicate the table name.
  • | mysql: This param makes mysqldump use mysql command line as the output place.
  • -h www.mysite.com: Indicate the host to mysql command line.
  • -u MyWebUser: indicate the mysql user to mysql command line.
  • -p123456: indicate the mysql user password to mysql command line.
  • MyWebDatabase: indicate the database to be used by mysql command line.
  • This is the simple way to get things working fast, you can advance with your knowlegdes by searching more on the web and reading the following pages:
    http://dev.mysql.com/doc/refman/5.0/en/upgrading-to-arch.html
    http://www.tutorialspoint.com/mysql/mysql-database-export.htm

    Very good uhm?

    Hugs for all