nelson corrêa viana júnior

dezembro 29, 2007

Cap. Nascimento na Política

Filed under: Uncategorized — nelson @ 9:27:00

Cap. Nascimento

dezembro 10, 2007

Error Gems: SSL Not Installed

Filed under: Uncategorized — nelson @ 15:53:54

$ sudo gem update –system

Attempting remote update of rubygems-update
ERROR:  While executing gem … (Gem::Exception)
SSL is not installed on this system

$ sudo apt-get install libcurl3-openssl-dev libopenssl-ruby
Depois te instalar os pacotes:

$ sudo gem update –system

Aqui funcionou legal.
🙂

novembro 30, 2007

webdesigners primatas, felizmente ou infelizmente?

Filed under: cotidiano — nelson @ 13:06:31

Atualmente faço um curso na Microlins, que diz ser um centro profissionalizante.

Na minha opinião, primeiro os docentes deveriam ser profissionais, pelo menos na unidade em que estudo não parece que existe uma formação. É ridículo as colocações do educador.

Bom! Tudo realmente começou em 2005, quando apareceu a oportunidade de fazer um curso de web. Quando iniciei o curso eu era o único – sem contar o professor – que sabia programação. De início foi bacana, pois conheci o HTML de outra forma, digamos que conhecia o HTML de forma grosseira.

Seguindo do HTML veio Dreamweaver, Fireworks, Corel, Photoshop e Flash – um mais ruim que o outro. 😛

Nesse curso de 2005 eu fui o único que pegou o certificado simbólico, porém deixei de ir nas últimas aulas. Mudaram o horário e ficou muito péssimo! Enfim, não ganhei o certificado e esse ano voltei pra concluir, vou fazer mais uns 2meses e pegar o certificado.

No meio do curso de Web da Microlins eu já me interessava por Tableless. Até perguntei certa vez ao meu professor se ele conhecia Padrões Web. E…! A resposta dele foi:
– Não. Nunca ouvi falar!
Sempre visitava o site do tableless e o forum e depois de um tempo que anunciaram o curso online de tableless eu me inscrevi. Se não me engano no final de 2006 ou no início de 2007; não me recordo exatamente da data. Enfim, nesse período eu fiz o curso pela Visie e que foi muito gratificante. Claro que já sabia formatações habituais, mais a minha mente abriu muito com esse curso da Visie.

Quando cheguei no curso eu vi que o pessoal estava no final do Dreamweaver e então comuniquei a ele que não se preocupasse, eu conseguiria acompanha-los e ressaltei que meu estilo de design era tableless.
Ele fez uma cara, tipo: ã?!
Deixei quieto, sentei em um computador e na primeira aula cheguei aonde eles estavam. ^^

Fiquei ouvindo ele dizer cada coisa ridícula:
– “Gente, frame é muito bom!”;
– “Dreamweaver faz tudo pra você, você só usa o mouse”;
– “Vocês viram? Não precisa saber HTML.”;

Agora ele terminou de “explicar” CSS.
“Ensinou”:
– formatar links, daquele jeito do dreamweaver: Seleciona o texto e seleciona o estilo…
– …e colocar cor no fundo.
Ai vem a parte boa! O cidadão me fala na sala: “É pra isso que serve CSS, só pra isso gente!!”

Caramba, já ia esquecendo!
Certa vez na aula eu fiz uma colocação tentando abrir a cabeça dele e fazê-lo pesquisar mais sobre o assunto, porém não deu certo.
Eu comentei que é muito mais rápido, fácil e pratico construir uma estrutura sem tabela e formatando no css. Ele ponderou:

– Não, não… conheço esse método…
– Será que conhece mesmo professor. – falei, meio que desafiando ele.
– Cara! – disse ele – Eu já cheguei no extremo disso dai e no extremo de tabela. Conheço muito.
Realmente eu fiquei sem argumentos e ele ainda colocou mais.
– Olha só. Quando um cliente chega “doidão” pra você e diz quero um site pra “ontem”! Você vai la no dreamweaver, pá, monta tudo legalzinho, ctrl+c ctrl+v no conteúdo que vai aparecer no frame do meio, altera e ta pronto. Viu como é simples?!

Nessa mesma hora veio em minha cabeça: cuitado do cliente dele.
Bom! Eu não havia mais o que dizer, até porque explicar o processo de construção em padrões web com uma pessoa que não quer entender é impossível.
Então disse:

– Ta bom professor, deixa pra lá. O assunto é complexo.

Até o momento somente nossas vozes ecoavam na sala, os outros não sabiam nem aonde estavam.

Posso dizer que fico muito feliz, porque é menos concorrência. Entretando é triste ver que existem pessoas com “formação” e sem informação. (Belo trocadilho, não?! ;-))

novembro 17, 2007

Giro de Temas no VIM

Filed under: Uncategorized — nelson @ 10:27:17

Achei um código bacana para o vim.
Este código altera o tema instantaneamente  ao precionsar um atalho – no nosso caso F8.

sudo pico /usr/share/vim/vimrc
(usei o pico pra não acontecer de dar algum erro. Nada de mais, só prevenção mesmo. ;-))

let themeindex=0
function! RotateColorTheme()
let y = -1
while y == -1
let colorstring = "#blue.vim#elflord.vim#evening.vim#koehler.vim#murphy.vim#pablo.vim#ron.vim#"
let x = match(colorstring,"#",g:themeindex)
let y = match(colorstring,"#",x+1)
let g:themeindex = x+1
":echo x y g:themeindex
if y == -1
let g:themeindex = 0
else
let themestring = strpart(colorstring,x+1,y-x-1)
echo("Setting Theme to-> ".themestring)
return ":so $VIMRUNTIME/colors/".themestring
endif
endwhile
endfunction

Aqui vai o nosso atalho.

map <F8> :execute RotateColorTheme()

http://www.vim.org/tips/tip.php?tip_id=211

outubro 7, 2007

Serials

Filed under: games, serial — nelson @ 22:06:52

AOE III
MDJV4-XHPKD-DY22X-G29H4-8282G
K8BDT-6BQGR-6CV9F-4GW93-2JPPJ
PCWVY-HGK3T-P8PKQ-Q29BW-M86CM
W987Y-6PWK3-CDDTC-R9DPX-4PMTD
F472F-X2GDG-RK73V-4M4RV-2JT8W

AOE III – War Chiefs
WPXD8-7XYFR-4828Q-FV88X-7DGDJ

setembro 11, 2007

Ruby com MySQL (Básico)

Filed under: mysql, programação, ruby on rails, software livre — nelson @ 22:33:24

Primeiramente tenha o módulo do mysql instalado. Caso não tenha:
gem install mysql

Agora algo bem simples.
Nada mais simples de início como uma conexão com o banco. 🙂
require “mysql”

#Como de custume vamos instanciar algumas variáveis com os valores ‘usuário’, ‘senha’ e ‘host’.
user_mysql = “root”
pass_mysql = “pass”
host_mysql = “localhost”

database_mysql = “nome-da-database”

#Criando uma variável chamando a classe do MySQL.
mydb = Mysql.new(user_mysql, pass_mysql, host_mysql)

#Se você já tem uma database criada, para seleciona-la use:
selecionar = mydb.select_db(database_mysql)
#Caso contrário pode cria-la:
novadb = mydb.query(“CREATE DATABASE #{database_mysql}”)

#Agora o essencial do banco de dados: a listagem.
#Vou colocar com todos os passos já citados.

mydb = Mysql.new(user_mysql, pass_mysql, host_mysql)
selecionar = mydb.select_db(database_mysql)
sqllistar = mydb.query(“SELECT * FROM tabela“)
listar = sqllistar.fetch_fields
listar.each do |lista|
puts lista.name
end

mydb.close

De início, simples e fácil.
🙂

(Essa merda de editor do wordpress acaba com toda minha identação)

setembro 6, 2007

RoR: Sistema simples de autenticação

Filed under: programação, ruby on rails, software livre — nelson @ 16:45:02

Model

1) script/generate model user
1.1) edite o arquivo db/migrate/XXX_create_users.rb

class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.column :firstname, :string
t.column :lastname, :string
t.column :username, :string, :null => false
t.column :password, :string, :null => false
t.column :hashed_password, :string, :limit => 40, :null => false
t.column :admin, :boolean, :default => 0
end
end

def self.down
drop_table :users
end
end

1.2) edite o app/models/user.rb

require ‘sha1’

class User < ActiveRecord::Base

attr_accessor :password
attr_protected :hashed_password

validates_presence_of :password, :password_confirmation

validates_uniqueness_of :username
validates_confirmation_of :password, :on => :create,
:if => lambda { |user| user.new_record? or not user.password.blank? }
validates_length_of :password, :within => 5..40,
:if => lambda { |user| user.new_record? or not user.password.blank? }

def self.hashed(str)
SHA1.new(str).to_s
end

def self.authenticate(user_info)
user = find_by_username(user_info[:username])
if user && user.hashed_password == hashed(user_info[:password])
return user
end
end

before_save :hashed_password
before_update :hashed_password

def hashed_password
if not password.blank?
self.hashed_password = self.class.hashed(password)
end
end
end

Controller

2) script/generate controller user index login process_login logout update_password
2.1) edite o arquivo app/controllers/user_controller.rb

class UserController < ApplicationController

before_filter :login_required, :only => :my_account

def index
render :action => “login”
end

def login
@user = User.new
@user.username = params[:username]
end

def process_login
if user = User.authenticate(params[:user])
session[:user] = user.id
redirect_to session[:return_to] || “/”
else
flash[:error] = “Invalid login.”
redirect_to :action => “login”, :username => params[:user][:username]
end
end

def logout
session[:user] = nil
flash[:message] = “Logout successfully.”
redirect_to :action => “login”
end

def update_password

if request.post?
#Store password fields
password = params[:user][:password]
password_confirmation = params[:user][:password_confirmation]

@user = User.find(session_user.id)
if @user
if password == password_confirmation
if password.blank? or password_confirmation.blank?
flash[“error”] = “Password and/or Password Confirm is blank.”
else
@user.password_confirmation = password_confirmation
@user.update_attribute(“password”, password)
if @user.save
flash[“message”] = “Password was successfully changed.”
end
end
else
flash[“error”] = “Password and/or Password Confirm invalid.”
end
end
redirect_to :action => “my_account”
end
end

def my_account
end
end

3) agora edite o app/controllers/application.rb

class ApplicationController < ActionController::Base
before_filter :set_user
helper_method :session_user

User.content_columns.each do |column|
in_place_edit_for :user, column.name
end

def set_user
@user = User.find(session[:user]) if @user.nil? && session[:user]
end

def session_user
@session_user ||= User.find(:first, :conditions => [“id = ?”, session[:user]])
end

def login_required
return true if @user
access_denied
return false
end

def access_denied
session[:return_to] = request.request_uri
flash[:error] = “Oops. You need to login before you can view that page.”
redirect_to :controller => “user”, :action => “login”
end
end

Views

<!– app/views/user/login.rhtml –>
<% if @flash[:message] %><div><%= @flash[:message] %></div><% end %>
<% if @flash[:error] %><div><%= @flash[:error] %></div><% end %>
<%= form_tag :action => ‘process_login’ %>
Username: <%= text_field “user”, “username” %>
Password: <%= password_field “user”, “password” %>
<%= submit_tag %>
<%= end_form_tag %>

<!– app/views/user/my_account.rhtml –>
<h2>Account Info</h2>

<%= error_messages_for “user” %>
<% if flash[“error”] %><p><%= flash[“error”] %></p><% end %>
<% if flash[“message”] %><p><%= flash[“message”] %></p><% end %>

<h3>Hello! <%= session_user.lastname %>, <%= session_user.firstname %></h3>

<cite>P.S: If you want edit some field, click on value.</cite>
<p><strong>Firstname:</strong> <%= in_place_editor_field :user, :firstname %></p>
<p><strong>Lastname:</strong> <%= in_place_editor_field :user, :lastname %></p>
<p><strong>Username:</strong> <%= in_place_editor_field :user, :username %></p>
<p>
<%= form_tag :action => “update_password” %>
<strong>New password:</strong>
<br />
<%= password_field “user”, “password” %>
<br />
<strong>Confirm:</strong>
<br />
<%= password_field “user”, “password_confirmation” %>
<br /><br />
<%= submit_tag “Change my password” %>
<%= end_form_tag %>
</p>

Layouts

4) crie ou edite o app/views/layouts/application.rhtml

<html>
<head>
<title>título</title>
<%= javascript_include_tag :defaults %>
</head>
<body>
<div id=”all”>
<div id=”header”>
<h1>header</h1>
</div>
<div id=”contents”>
<%= yield %>
</div>
</div>
</body>
</html>

setembro 4, 2007

RoR: in place editor

Filed under: javascript, programação, ruby on rails, software livre — nelson @ 0:07:25

Hoje quando estava criando a parte de ‘Account Info’ resolvi colocar um ‘ajax in place editor’ para facilitar a edição dos campos. Pra falar a verdade eu nunca havia usado essa propriedade do ajax, apesar de achar muito bacana.

Eu não costumo – apesar que a partir de agora eu posso dizer: não costumava – usar javascript pelo motivo da acessibilidade do usuário final.

Mais em vista que sites de grande porte não se preocupa tanto com essa parte de javascript não-obstrutivo, porquê eu preocupar? Partindo disso eu fui atrás de algum código que facilitasse a inserção do ‘in place editor’ no Ruby On Rails.

E não é que eu achei algo?! 🙂

O código é o seguinte:

Primeiramente você adiciona a linha abaixo no app/views/layouts/application.rhtml (caso não exista o arquivo, pode criar, sem problemas).

<%= javascript_include_tag :defaults %>

Obs: Insira essa linha entre a tag <head></head>.

Agora, vá em app/views/user/arquivo.rhtml e insira este código:

<% for column in User.content_columns %>

 <p>

 	<b><%= column.human_name %>:</b>

 	<%= in_place_editor_field :user, column.name %>

 </p>

<% end %>

Caso você queira usar:

<%= in_place_editor_field :user, :username

Pode usar, não há problema.

E no arquivo app/controllers/application.rhtml insira:

User.content_columns.each do |column|

 in_place_edit_for :user, column.name

end

Obs: Aonde está negrito quer dizer que você terá que adaptar.

agosto 24, 2007

Encontrar mp3 pelo Google

Filed under: Uncategorized — nelson @ 16:07:06

Retirado do site: http://www.undergoogle.com

“Os robôs do Google indexam todo o conteúdo livre que acham pela frente. Assim, além de páginas web e vários formatos de arquivos, o motor consegue indexar pastas inteiras com mp3, filmes, livros e documentos.

Muitas pessoas têm diretórios em seus servidores somente para armazenar e compartilhar mp3. Como o Google vasculha tudo, ele acaba encontrando esses diretórios e indexando-os. Para achá-los, basta usar os parâmetros certos, e discografias inteiras de alguns artistas podem ser encontradas pelo buscador.

O parâmetro a seguir encontra justamente essas fontes de mp3. Basta substituir o nome da banda citado aqui pela de sua preferência, ou então pelo nome da música a ser procurada. Pode-se trabalhar na busca também para que o buscador exiba filmes e outros tipos de documentos.”

veja 😉

Instalando Ruby on Rails (Ubuntu 7.04 Feisty Fawm)

Filed under: apache, mysql, programação, ruby on rails, software livre — nelson @ 14:16:36

A instalação é muito mais simples do que tenho olhado em vários links por ai. 🙂

1° Passo

Instalando o Ruby

sudo apt-get install ruby rdoc ri irb libyaml-ruby libzlib-ruby ri ruby1.8-dev

2° Passo

Instalando RubyGems

2.1) Download rubygems
wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz

2.2) Descompactando
tar zxvf rubygems-0.9.0.tgz

2.3) Entrando no dir
cd rubygems-0.9.0

2.4) Instalando
sudo ruby setup.rb

2.5) Atualizando gem
gem update –system

3° Passo

Instalando Rails

sudo gem install rails –include-dependencies

4° Passo

Instalando a lib de ligação com o MySQL

sudo apt-get install libmysql-ruby

5° Passo

Instalando mongrel

sudo gem install mongrel –include-dependencies

Older Posts »

Crie um website ou blog gratuito no WordPress.com.