企鵝,蘋果,遊戲及其他藥物
Posts tagged osx
Hackintoshs em Netbooks
Dec 19th
Hackintosh, no meu PC novo ?
Aug 25th
Já faz mais de um ano que desmontei meu último hackintosh… nem lembro mais dos travamentos com a USB, a emoção de aditar plists, de compilar módulos, alterar DVDs de instalação etc…
Mas meu AMD 64 esta dando sinais de que vai parar, então estou pesquisando qual vai ser meu próximo PC, e claro ele vai ter que rodar OSX.
Meu próximo PC vai resolver um problema antigo que tenho aqui em casa, 400 DVDs de dados e filmes que entulham minha sala , e sem falar da frutração de precisar de um arquivo e o DVD não funciona mais isso acontece sempre. Então o forte dessa máquina será armazenamento, e minha idéia é colocar 3 HDs de 750 Gb, melhor custo benefício atual, em RAIDZ … RAIDZ ? RAID Z é um RAID configuravel via ZFS, que tem vários benefícios quando comparado com o RAID-5, principalmente baixo custo.
Como o ZFS é a minha escolha para storage, só me restam 3 alternativas de sistema operacional OpenSolaris, FreeBSD e OSX. O linux tem um suporte pra lá de porco, que não é estável, nem rápido, nem prático e não da pra usar. O OpenSolaris tem graves problemas de suporte , documentação, e compatibilidade com hardware, ele será minha primeira opção, se falhar vou de FreeBSD e por Último vou de OSX.
Pesquisando em fóruns descobri que o fabuloso HMTB vai encerrar suas atividades então pretendo criar e manter um fórum especializado no assunto afinal fui eu quem lançou a primeira comunidade no Orkut sobre o assunto
e fui um dos primeiros hackintoshers do Brasil.
Enquanto pesquiso o hardware que vou usar já estou baixando o DVD do OSX para Hackintoshs, se interessar :
iATKOS 4va (AMD)
http://rapidshare.com/files/137727738/macos.part01.rar
http://rapidshare.com/files/137732595/macos.part02.rar
http://rapidshare.com/files/137736011/macos.part03.rar
http://rapidshare.com/files/137742262/macos.part04.rar
http://rapidshare.com/files/137746900/macos.part05.rar
http://rapidshare.com/files/137751590/macos.part06.rar
http://rapidshare.com/files/137756333/macos.part07.rar
http://rapidshare.com/files/137760501/macos.part08.rar
http://rapidshare.com/files/137765032/macos.part09.rar
http://rapidshare.com/files/137767849/macos.part10.rar
http://rapidshare.com/files/137772611/macos.part11.rar
http://rapidshare.com/files/137774443/macos.part12.rar
Arkanoid de pobre em Flash pt1
Aug 6th
Defensores radicais do software livre, pulem o post pois esse blog está mergulhando no mundo imundo do software proprietário fechado barbudo e mal.
Disse em algum post atrás que estava me interessando cada vez mais pela produção de jogos, bobos e simples, e de preferência portateis… Já fiz um game ou outro, a maioria em BASIC pro antigo MSX 2.0 e um outro em C/SDL pro linux, mas game casual que é game casual tem que rodar em qualquer micro, em qualquer sistema, e nada melhor que Flash para isso.
A proposta é criar um clone do Arkanoid, sem todo seu glamour, coisa simples sem muita firula, nem mesmo som
Eu sei que é possível desenvolver maravilhas com puro ActionScript+Javascript mas eu não tenho a manha, então vou de Flash CS3 mesmo. Alias, vou usar o Flash CS3 no OSX Leopard, se você usa windows os screenshots vão ser diferentes mais ainda assim parecidos.
Primeiro passo, abra um novo “Flash File (ActionScript 2.0)”, se quiser mude as propriedades do fundo da tela e seu tamanho em “Modify > Document…”.
Agora vamos desenhar a bola, use a ferramenta para criar circunferências e crie uma bola em algum canto da tela. Selecione a bola e converta para Símbolo em “Modify > Convert to Symbol” , marque a caixa “Type” como “Movie Clip”. Marque a caixa “Linkage to ActionScript” também:
Agora clique com o botão direito em cima da bola e vá em “Actions”, e cole o seguinte código :
// Função carregada no início do jogo
onClipEvent(load) {
// A cada loop incrementa em 10 a posição da bola
// na direção horizontal
xspeed =10;
// A cada loop incrementa em 10 a posição da bola
// na direção vertical
yspeed =10;
// Tamanho da tela horizontal (width) e vertical (height)
stageWidth=400;
stageHeight=300;
}
// Carregado quando o jogo entra nesse frame
onClipEvent(enterFrame) {
//Incrementa as velocidades em x e em y a cada loop
this._x += xspeed;
this._y += yspeed;
// Detecta se a bola atingiu a parede o teto e inverte sua velocidade
if ((this._x <= 0) || (this._x >= stageWidth)) {
xspeed = -xspeed;
}
if (this._y <= 0 || (_root.barra.hitTest(this))) {
yspeed = -yspeed;
}
// Caso a bola caia no chão ela será restaurada no meio da tela
if (this._y > stageHeight) {
_x = stageWidth/2 ;
_y = stageHeight/2;
xspeed=10;
yspeed=10;
}
}
Agora vamos adicionar a “barra”, da mesma forma que adicionamos a bola, posicionando na tela convertendo para símbolo e identificando como “barra”. Clique em cima da barra, e vá em “Actions”, em seguida entre com o código :
onClipEvent(enterFrame) {
// Tamanho da tela, usado para calcular os limites de movimento da barra
stageWidth=400;
stageHeight=300;
// Se pressionado o botão direito soma 10 na posição da barra
if(Key.isDown(Key.RIGHT)) {
// Verifica se a barra já chegou a extremidade
if(this._x <= stageWidth - this._width) {
this._x += 10
}
}
// Se pressionado o botão direito subtrai 10 na posição da barra
if(Key.isDown(Key.LEFT)) {
// Verifica se a barra já chegou a extremidade
if(this._x >= 0) {
this._x -= 10;
}
}
}
Uma dica muito, mas muito importante é instancear os objetos que usamos, para isso selecione um dos objetos e na janela de propriedades dê o nome da instância do objeto, “bola” no caso da bola e “barra” no caso da barra. Sem isso a bola vai passar direto quando atingir a barra. Veja figura abaixo :

Se você chegou até o fim do tutorial seu game deve ser parecido com o abaixo :
Levando o macbook pro aos limites !
Feb 28th
Um belo dia encontrei no google uma referência ao meu artigo sobre o Xslimmer /Ditto no blog macmagazine desde então passei a participar do fórum e do blog. Então encontrei esse post que mostra um vídeo de um macmini rodando 50 aplicativos ao mesmo tempo… Não me contive e em uma chuvosa manhã de sábado fiz o mesmo, mas com mais de 100 aplicativos, seguem os screenshots :


Ok, a máquina ficou por volta de 30 minutos sem responder, o HD do macbook pro é muuuuito lerdo PQP ! Mas não travou
E ainda consegui trabalhar nela por algumas horas… depois de fechar todos os apps, a memória voltou ao normal, sem memory leaks, um feito !
Alternativa ao xslimmer
Feb 8th
Quem conheceu o OSX na era Intel não deve perceber, mas quem veio do mundo PPC notou que os binários universais são monstruosamente grandes com o dobro ou até mesmo o triplo de um binário dedicado.
Com a morte do meu powerbook peguei um mac intel portatil, com hd de 100 Gb que não da pra nada, e agora sofro com problemas de espaço em disco… Então encontrei um software chamado xslimmer que faz uma lipo nos binários gordos retirando o código PPC deixando apenas código intel
Uma maravilha se o excelente programa não fosse um shareware

Mac como um bom macmaniaco com conhecimentos Unix, não me conformei e fui buscar uma solução caseira, e encontrei o ditto, uma ferramenta para gerenciar os aplicativos do OSX, com ele é possível customizar, configurações, línguas, ícones e também a arquitetura dos binários , saca só o comando :
ditto --rsrc --arch i386 /Applications/RealPlayer.app /Applications/RealPlayer-intel.app
Então após se certificar que o novo app está funcionando basta apagar o antigo. Só pra se ter uma idéia da economia, eu usei o ditto no Pages e o binário de 700 mb caiu pra 200 mb… Em outros casos a economia foi ainda maior chegando a 4 vezes, não me pergunte porque.
Pra mim é assustador como o mercado de pequenos aplicativos para o OSX se sustenta em cima de frontends para softwares de linha de comando, são vários exemplos, tem desde rsyncs e wgets até tweaks em configurações de arquivos xml, é impressionante a quantidade de grana que você pode economizar por dominar meia dúzia de comandinhos do terminal.
Instalando o MySQL5 no Leopard via ports
Dec 6th
Se tivesse o sistema port do BSD para o linux com o tamanho do emerge … O osx tem port, isso facilita muito na hora de instalar um servidor ou algo do tipo. Na real escolhi o caminha mais dificil, existe um pacote que com três cliques o Mysql é instalado e configurado na máquina, mas como eu quero emoção e customização optei a instalação via port.
Primeiro você deve escolher suas variants, com o comando :
port -v variants mysql5
Eu escolhi a flag 'server' , afinal não quero apenas as ferramentas :
port -v install mysql5 +server
Após instalado vem a aventura, iniciar o servidor… Como bom usuário mal acustumado do fedora, onde tudo simplesmente funciona , tentei me conectar com o servidor o resultado :
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (61)
Após verificar com o ps aux, vi que não tinha nada rodando, então dei o comando mysqld_safe5, que não funcionou mas pelo menos avisou, faltou criar o diretório,
/opt/local/var/db/mysql5/. Criei o diretório, arrumei as permissões. Tentei novamente e outro erro :
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
Esse erro eu resolvi copiando um arquivo de configuração dos exemplos :
cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
E então mais outro erro :
030915 2:04:01 Fatal error: Can't open privilege tables: Can't find file:
'./mysql/host.frm' (errno: 13)
Esse eu corrigi com o comando :
mysql_install_db5 --user=mysql
E só então, pude usar meu :
mysqld_safe5 --user=mysql
Que funcionou beleza, impressionante como não tem praticamente nenhuma automação nesses pacotes do ports… 10 x 0 pro fedora
Macports Mini-Howto
Nov 4th
MacOs X não é livre , mas sua base é, incluindo os compiladores e ferramentas de sistema em geral, a própria libc do sistema é aberta, assim como o kernel. Isso faz dele um sistema meio-livre e compativel com a maioria dos programas livres que existem na sua distribuição linux favorita, dentre eles o KDE e suas ferramentas o XFree86/Xorg e até mesmo o
Uma lista bem completa, e indispensável, de softwares de código aberto para o Mac pode ser vista em : http://www.opensourcemac.org/
Como eu falei, programas unix em geral são compatíveis com o Mac, na real o sistema Leopard recebeu uma certificação Unix legítima…. O linux não tem um certificado desses, além de : Unix -> Caldera -> SCO
Em todo caso, o MacOs X segue os padrões Unix a risca, e isso garante que você vai rodar um apache, mysql, vim entre outros softwares projetados para sistemas Unix.
Em um mac você pode sem problema algum usar a trinca ./configure, make, make install para instalar seus programas favoritos…. Mas isso é chato e nada prático, os linux tem os pacotes RPM, DEB e TGZ, no mac tem os DEB mas o foco desse post é o Macports, antes conhecido como Darwinports.
O macports é derivado do sistema ports do freebsd, e funciona de forma parecida, ele puxa os fontes , aplica os patchs compila e instala tudo pra você.
Instalar é boiada, primeiro vc tem que pegar a versão mais recente do Xcode, ele
está no CD de instalação do MacOsX ou no site da apple.
Como o meu sistema é o Leopard, estou usando o XCode 3.0, e meu macports é versão 1.5.0.
http://svn.macosforge.org/repository/macports/downloads/MacPorts-1.5.0/MacPorts-1.5.0-10.5.dmg
No Então é só clicar duas vezes e seguir o wizard (next > next > finish)
É recomendavel instalar o X11 também, procure por ele no cd de instalação do mac.
Após instalar o macports, abra um terminal e crie o arquivo ~/.profile com o comando :
sudo nano ~/.profile
Com o conteúdo :
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export DISPLAY=:0.0
Feito isso feche o terminal (Command + Q) e abra de novo.
O primeiro comando que você vai usar sempre que for instalar algo novo será :
sudo port -v selfupdate
O argumento “-v” liga o modo verbose do comando, e o selfupdate busca no site oficial por atualização dos pacotes, uma espécia de yum updade uo apt-get update.
Você pode buscar por um pacote no banco de dados de duas formas, manualmente , no diretório :
/opt/local/var/macports/sources/rsync.macports.org/release/ports/audio/
Ou usando o comando ports :
greyfoxII:~ root# port search gimp
gimp-app aqua/gimp-app 2.4.0 Gimp.app application bundle
macclipboard-gimp aqua/macclipboard-gimp 0.7 Gimp <-> Mac clipboard
macfile-gimp aqua/macfile-gimp 0.1 "Show in Finder" Gimp plugin
gimp graphics/gimp 2.4 The Gimp - Batteries Included
gimp-gap graphics/gimp-gap 2.2.2 The Gimp Animation Package.
gimp-jp2 graphics/gimp-jp2 0.1 Gimp JPEG 2000 plug-in.
gimp-lqr-plugin graphics/gimp-lqr-plugin 0.3.0-6 Liquid Rescale Gimp plug-in.
gimp-user-manual graphics/gimp-user-manual 0.13 A multilingual user manual for the Gimp (broken).
gimp2 graphics/gimp2 2.4.2 The GNU Image Manipulation Program
icns-gimp graphics/icns-gimp 0.1 Gimp file format plug-in for Macintosh icon files (.icns)
p5-gimp perl/p5-gimp 2.0 Gimp Extensions/Plug-ins/Load and Save-Handlers in perl
gimp-print print/gimp-print 4.2.7 Print Plugin & Ghostscript (and CUPS) Driver
Agora vamos instalar um pacote. Assim como o ports original e o emerge do gentoo, você pode customizar o processo de compilação incluindo ou desativando recursos, para verificar os recursos extras disponíveis para o pacote
Por exemplo para o PHP5 o comando seria :
greyfoxII:~ root# port -v variants php5
php5 has the variants:
universal
darwin_6
darwin_7
darwin_8
macosx
apache
apache2
fastcgi
imap
tidy
mssql
snmp
macports_snmp
mysql3
mysql4
mysql5
postgresql
sqlite
ipc
pcntl
pear
sockets: Add socket communication functions
Para instalar o nosso pacote com os recursos que queremos mostrando na tela os progressos durante a contrução dos binários , use o comando :
sudo port -v install php5 +apache2 +postgresql +sqlite
Para listar os programas instalos pelo ports :
port installed
Para atualizar basta usar os comandos :
port selfupdate
Veja os pacotes obsoletos com :
port outdated
Para atualizar um pacote :
port upgrade pacote
Para atualizar tudo :
port upgrade outdated
É isso, simples, estável e funciona, viva o macports.
PS: MACOSX é um sistema operacional fechado, que atenta a sua privacidade e sua liberdade. Use linux e seja livre
Rodando o Parallels em um HackIntel (iPC) AMD
Jan 7th
Fiquei muito triste quando fui instalar o parallels no meu hackintel, ele dizia que minha máquina não tinha os requisitos mínimos… Bom, eu tenho 1Gb de ram 420 gb de hd, qual seria o requisito ? “Só pode ser o processador, claro !”
Então entrei na imagem dmg, e verificando o programa de instação encontrei dentro do script Parallels-Desktop.pkg/Contents/Resources/InstallationCheck , isso :
#!/bin/bash
PKMKSHELLUTILITY=$1/Contents/Resources/pkmkshellutility
RESULT=`$PKMKSHELLUTILITY –sysctl machdep.cpu.vendor`
if [ $RESULT != 'GenuineIntel' ];
then exit 97
fi
exit 0
Ele diz o seguinte se não for intel, termine o instalador .
Procurei pela string GenuineIntel em outros arquivos, e encontrei no arquivo Parallels-Desktop.pkg/Contents/Info.plist , em :
<string>GenuineIntel</string>
Então, para descobrir qual era o meu processador, para os scripts do parallels, executei o comando (no terminal) :
Parallels-Desktop.pkg/Contents/Resources/pkmkshellutility --sysctl machdep.cpu.vendor
e ele devolveu :
AuthenticAMD
Então bastou trocar a string GenuineIntel pelo AuthenticAMD. Mas como a imagem dmg em questão é read-only, copie todo o conteúdo da imagem para um diretório qualquer. Altere o conteúdo desses dois arquivos que mencionei, trocando GenuineIntel por AuthenticAMD usando um editor de textos qualquer. Pra trocar as strings eu usei o sed, da seguinte forma :
sed -i .bak "s/GenuineIntel/AuthenticAMD/g" Parallels-Desktop.pkg/Contents/Info.plist sed -i .bak "s/GenuineIntel/AuthenticAMD/g" Parallels-Desktop.pkg/Contents/Resources/InstallationCheck
Feito isso, pude desfrutar do parallels como em um legítimo macintel
Tutorial Objective-C
Jan 3rd
Objective-C é uma linguagem de programação orientada a objetos derivada do C, é a principal linguagem de programação do projeto gnustep e dos sistemas NeXT e Mac Os X. Um velho amigo macmaniaco (Algol) escreveu esse pequeno tratado sobre a linguagem, e quero dividir esse tesouro com vocês :
http://www.astro.iag.usp.br/~algol/computacao/ObjCtutorial.html


Últimos comentários