Instalando o OpenGinga (Problemas)

Setembro 28, 2009 at 3:01 pm (Uncategorized)

Usando o manual do OpenGinga RC2 encontrei um problema instalando o openginga no ubuntu 9.04 no pacote SoundFusion 1.1.1

fusionsound.c:120: error: conflicting types for ‘FusionSoundCreate’ ../include/fusionsound.h:101: error: previous declaration of ‘FusionSoundCreate’ was here

fusionsound.c:164: error: conflicting types for ‘FusionSoundError’ ../include/fusionsound.h:109: error: previous declaration of ‘FusionSoundError’was here

fusionsound.c:175: error: conflicting types for ‘FusionSoundErrorFatal’ ../include/fusionsound.h:117: error: previous declaration of ‘FusionSoundErrorFatal’ was here

fusionsound.c:183: error: conflicting types for ‘FusionSoundErrorString’ ../include/fusionsound.h:125: error: previous declaration of ‘FusionSoundErrorString’ was here

==> ERROR: Build Failed.

Primeiro reverter o make:

make uninstall

Depois para resolver, usei a dica e alterei o fonte (fusionsound.c)

Linha 119-120:

DirectResult FusionSoundCreate( IFusionSound **ret_interface )

Para: DFBResult FusionSoundCreate( IFusionSound **ret_interface )

Linha 163-164: DirectResult FusionSoundError( const char *msg, DirectResult error )

Para: DFBResult FusionSoundError( const char *msg, DFBResult error )

Linha 174-175: FusionSoundErrorFatal( const char *msg, DirectResult error )

Para: FusionSoundErrorFatal( const char *msg, DFBResult error )

Linha 183: FusionSoundErrorString( DirectResult error )

Para: FusionSoundErrorString( DFBResult error )

Por fim:

./autogen.sh

./configure make

sudo make install

Link Permanente Deixe um comentário

#ZeMayerFacts – Run to the hills

Setembro 19, 2009 at 12:00 pm (Uncategorized) ()

José Mayer… o novo mito da internet!!!

Maria só era virgem porque José não era Mayer.#zemayerfacts

Eu sou a favor de mudarem o nome do jogo Pac-Man pra Pac Mayer. O famoso come-come #zemayerFacts

O acessório mais vendido no sex shop é uma máscara do Zé Mayer #ZeMayerFacts

Quando Zé Mayer decidiu se prostituir foi acusado de monopólio. #ZeMayerFacts

Will Smith, aprendeu com Ze Mayer, para fazer: “Hitch Um Conselheiro Amoroso”. #ZeMayerFacts

@MauricioRicardo: O princípio ativo do Viagra é o sémen do José Mayer. #ZeMayerFacts hehehe

Para cada mulher que o Zé Mayer pega, nasce um pêlo no Tony Ramos. (#zemayerfacts) kkkkk

Zé Mayer perdeu a virgindade aos 16. Segundos – #ZeMayerFacts

Wilt Chamberlain disse ter dormido com mais de 20 mil mulheres na sua vida. Zé Mayer chama isso de ‘uma terça-feira monótona

Zé Mayer tomou uma DietCoke+Mentos no pós-guerra e hj o período é conhecido como “Baby Boom”

Noé poderia ter poupado metade do espaço da Arca. Bastaria levar Zé Mayer e uma fêmea de cada espécie

Zé Mayer não tem Twitter pq todo mundo sabe a resposta dele para “What are you doing?”

Não foi à toa que a revolução sexual aconteceu nos anos 60, quando Zé Mayer atingiu a puberdade

Novelas com o Zé Mayer não duram mais que 9 meses por conta da epidemia de licenças-maternidade no elenco

Quando Zé Mayer entra em cena, a umidade relativa do ar sobe 2 pontos porcentuais

@zemayerfacts Zé Mayer foi campeão de salto com vara. Sem a vara. #zemayerfacts

A ciencia diz que o homem veio do macaco. mas o macaco veio do zé mayer

Zé Mayer aumentou o buraco na camada de ozônio

Qdo o José Mayer nasceu, ñ chorou. Ele apenas olhou p/ sua mãe de pernas abertas e disse: “I wll be back”.

Depois do Zé Mayer, a Mãe Natureza manca até hoje!

Ze Mayer Facts

Ze Mayer Facts

Link Permanente Deixe um comentário

Configurando o mod_proxy e mod_proxy_html no Apache2 para o Tomcat

Setembro 10, 2009 at 8:16 pm (Desenvolvimento)

Para simular melhor a infraestrutura da empresa onde trabalho decidi incluir na arquitetura de desenvolvimento o apache servindo minha aplicação java sob desenvolvimento. Ou seja, para acessar minha aplicação utilizo http://localhost:8080/AppJava e agora vou utilizar como em produção http://localhost/AppJava). Para isso utilizei o Apache mod_proxy e o mod_proxy_html, o primeiro implementa um proxy/gateway para o Apache (FTP, CONNECT – para SSL, HTTP/0.9, HTTP/1.0, and HTTP/1.1), já o segundo altera o output do servidor de aplicação substituindo os links originais pelos links do proxy (Por exemplo: http://localhost:8080/AppJava/link.zip para http://localhost/AppJava/link.zip).

1 Passo. Instalando o mod_proxy_html (Considerando que o Apache2 já está corretamente instalado)

yuri@machine: sudo apt-get install libapache2-mod-proxy-html libxml2-dev

2 Passo. Configurando o proxy

yuri@machine: sudo /etc/apache2/sites-available/000-default

Inserir dentro dos elementos xml :

ProxyPass /AppJava/ http://localhost:8080/AppJava/

ProxyPassReverse /AppJava/ http://localhost:8080/AppJava/

Ainda no mesmo arquivo (Configurando Proxy HTML):

SetOutputFilter proxy-html

ProxyHTMLURLMap http://localhost:8080/AppJava /AppJava/

3 Passo. Liberar Proxy

yuri@machine: sudo gedit /etc/apache2/mods-enabled/proxy.conf

Alterar a linha “Deny from all” para “Allow from all

4 Passo. Garantir que os modulos foram carregados pelo Apache2

yuri@machine: sudo a2enmod proxy_html

yuri@machine: sudo a2enmod proxy_http

yuri@machine: sudo a2enmod proxy_ftp

yuri@machine: sudo a2enmod proxy_connect

5 Passo. Reiniciar o apache2:

yuri@machine: sudo /etc/init.d/apache2 restart

6 Passo. Para visualizar os modulos carregados no apache2

yuri@machine: apache2ctl -M

Utilizei as dicas:

Configurando um Proxy utilizando o Apache

http://seiti.eti.br/wiki/ConfigurandoApacheProxy

Install mod_proxy

http://www.livingubuntu.com/77

Link Permanente Deixe um comentário

Rodando Gunbound no Windows 7

Agosto 30, 2009 at 12:52 pm (Uncategorized)

Bom há um século atrás (Na época do server internacional) eu era um bom jogador de gunbound… Fiquei com curiosidade novamente e reinstalei agora no windows 7. De cara o gameguard não funcionou e pesquisando na net encontrei a solução:

http://forgottenportal.com/downloadpage?task=view.download&cid=81

Bom era isso….

Link Permanente 8 Comentários

A ineficiência do uso de timesheets…

Outubro 17, 2007 at 2:22 am (Uncategorized) (, , )

Bom… muito tempo sem postar mostra o quando minha vida esteve ocupada nos últimos meses. Nos próximos posts falarei um pouco sobre minhas andanças sobre a America Latina, mas antes disso, quero falar sobre algo que me incomoda no dia dia (e você também) que é o preenchimento das atividades realizadas no dia, a.k.a. Timesheet.

Algum tempo suspeito (empíricamente) que o uso de timesheet é totalmente inadequado para o gerenciamento do desenvolvimento de software, principalmente no que diz respeito a quantidade de horas trabalhadas.

Pois:

  • O preenchimento de timesheet é chato;
  • O preenchimento de timesheet toma tempo;
  • Desenvolvedores difícilmente preenchem o timesheet diariamente;
  • Timesheets preenchidos muito tempo depois são mentirosos;
  • Entradas do timesheet são maquiadas;

Imaginando que estaria sozinho neste pensamento (Mentira… todo mundo odeia timesheet) me deparo com o blog de Jeff Sutherland – um dos pais do SCRUM – em que ele mostra a seguinte imagem:

TimeSheet Correlation

Correlação entre o tempo de programador e a qualidade do software.

Ele diz que:

“Atualmente time sheets são tão ruins quanto burros:

  • Desmotivam os desenvolvedores
  • 10-15% de perda de produtividade (No mínimo)
  • Desenvolvedores simulam o tempo preenchido em vez de preencher corretamente
  • Relatórios com dados errados são usados para a tomada de decisão
  • Clientes são enganados
  • Não tem nada haver com a qualidade do código
  • O foco da organização é em dados falsos e não na real produção”

Ainda mais:

  • Não existe correlação entre o tempo do desenvolvedor e a produção do software
  • Não existe correlação entre o tempo gasto e a qualidade do código
  • Não existe relação entre “pessoas qualificadas” e a producão de código

Ou seja… time sheet atualmente não serve pra nada.

Por fim, termino este post com está frase de Jeff:

“Trust me, you need to dump those lame time sheets and get focused on real software production before an Agile competitor puts you out of business!”

Link Permanente 1 Comentário

Paul Potts – Nessun Dorma totalmente owned!

Setembro 7, 2007 at 5:32 pm (Uncategorized)

Andando pela internet, à procura de músicas de Pavarotti , sim, ele mesmo… – minha infância foi repleta de cds de Pavarotti – encontrei no youtube um vídeo que me surpreendeu bastante. Este vídeo é a apresentação do Paul Potts – hein??? – calma.. vou contar a história…

Paul Potts é (era) um vendedor de celular que em uma apresentação simples e excelente surpreendeu todos os jurados – com aquele ar de désdem – do programa Britain’s Got Talent (Similar ao Ídolos do SBT), ou seja, ele deu um owned em todos que zombavam ou dúvidavam da sua capacidade ao dizer que ia cantar ópera.

Imperdível!

Link Permanente Deixe um comentário

SaaS 2, o que um livro sobre SaaS deveria ter?

Abril 25, 2007 at 3:08 am (Componentes, Modelos de Negócio, Software As Service, Software Business, web2.0)

single instance, multi-tenancy is still a black art that only selected few have been able to master”

Esse post é rápido… mas é interessante.

Em SaaS is a journey, walk with us, Fred Chong (Arquiteto da Microsoft) indica o que seria interessante ter em um livro sobre SaaS. O melhor é que ele e seu amigo Gianpolo começaram a jornada produzir este livro. Então aí vai…

Sumário:

1. Introduction

* Definitions
* Differences from traditional ASP model
* SaaS value proposition
* Realizing SaaS = business model + application architecture + operation structure

2. Business Model

* Revenue and licensing model
o Additional services revenue: configuration and customization
* Sales compensation model
* Types of software services
* Designing SaaS SLA and contracts

3. Application Architecture Overview

* Instancing and multi-tenancy
* Comparisons of application architecture: on-premise, ASP, SaaS
* SaaS maturity model
* SaaS application architecture issues: identity, data, workflow, messaging, design for manageability, service-orientation, scaling, tenancy, meta-data, service consumption etc.
* Overview of SaaS capabilities and enablement architecture

4. Scaling 101

* Pools: thread, connections etc.
* Async
* Locks
* States
* UI/Presentation

5. Data Management

* Partitioning for scaling and performance
o Data partitioning schemes: Spatial, temporal, hashing etc., SQL Server 2005 support for data partitioning
o Data distribution patterns and functions
o Dynamic partitioning: re-partitioning growing database
* Data availability
o Replication strategy

6. Tenant Management

* Data model for tenant management
* Subscription Management
* Identity management
o Models
*

Delegated administration
*

Identity federation
*

Hybrid: e.g. federation for tenants and delegated admin for tenants’ customers.

7. Tenant Customization

* Meta data service for customization
* Approaches for extending application data model
* Approaches for UI customization
* Approaches for business process customization
* SaaS and system integrations modes:
o In house systems to SaaS integration (main app is in house)
o SaaS to in house systems integration (SaaS is the main app)
o SaaS with partial SaaS solution hosted on premise
o SaaS to SaaS integration

+ Direct
+ Hub-and-spoke through SaaS integration platform (like Salesforce’s AppForce)

8. Application and Data Security

* Common authentication schemes: username/pwd, certificates
* Application single sign-on
* Securing data transfer
o Application security session
o Session data integrity and privacy
o Transport vs. application level security
* Authorization
o Schemes: ACL, RBAC, business rules
o Policy management: distributed/resource, centralized
* Application security abstractions:
o Tokens, claims, security token services, security policies
* Trusted sub-system model for securing application tiers
* Identity context propagation
* Secret/key management: for application and tenants
* Data isolation schemes

o Database access control: RBAC, views etc.
o Partitioning:
+ Logical: tables, databases
+ Physical: disks
o Database encryption

9. Programmable Software Services

* Software service lifecycle
* Service versioning
* Service certification, registration and publication
* Software service registry
o Requirements
o Architecture

10. Programmable Software Service Consumption

* Function vs. data oriented services (web service vs. RSS vs. REST etc)
* Composite applications
* Tools and community framework

11. Instrumentation and Monitoring

* Types, goals and audience of instrumentation: infrastructure, application stack, business logic
* Instrumentation constructs: counters, events, rules, threshold, alerts
* Health monitoring
* Availability monitoring
* Business performance monitoring

12. Configuration Management

* Change management requirements
* Configuration management architecture

13. Metering

* Usage models
* Data model for each metering
* Usage tracking architecture

14. Infrastructure Security

* Network and firewall design
* Intrusion detection
* Protecting against viruses and worms
* Protecting against denial of service attacks

15. Operation Structure

* Provisioning
o Infrastructure
o Application
o Tenants
* Disaster recovery
* Billing
* Network operation center
* Call center

Appendix

* SaaS enablement roadmap: from on-premise and ASP to SaaS
o Scenarios and SaaS enablement strategy
* Enabling SaaS to on-premise solution migration
o Deploy existing SaaS solution and subscription to on-premise
o Need to de-mingle data to be hosted on-premise

Link Permanente 1 Comentário

Software As Service (SaaS), Mashups… etc

Março 30, 2007 at 3:27 am (Modelos de Negócio, Software As Service, web2.0)

Este novo(será?) modelo de negócios vem revolucionando a forma como iremos construir nossas aplicações futuras. Em vez de nos preocuparmos em (re) desenvolver nossas aplicações, iremos apenas acessar(ws,rest) API públicas(ou pagas… tsc tsc) que já implementem o serviço necessário.

Esta idéia não é necessariamente nova, pois a maior promessa do Desenvolvimento Baseado em Componentes (DBC) é justamente a mesma. A grande diferença é que no SaaS não existe deploy dos componentes(API) e os vendedores de serviço possuem um maior controle sobre seu negócio (leia-se fiscalização, pirataria ZERO!!) e liberdade de negociação com os compradores do serviço.

Mas o que seria esse maior controle? Pense que no modelo de negócios atual software é considerado como um produto fechado (Televisão, Computador, Geladeira…) , ou seja, a principal esquema de negóciação é aquele em que o usuário deseja um sistema, vai lá na prateleira (Ou na softwarehouse), compra e leva para casa para a implantação. Este modelo tradicional é conhecido como pay per copy(pague por cópia), e atualmente possui um alto grau de pirataria, pois com cada cópia do software vai um serial válido para o registro do software. E como todos nós sabemos, estes seriais podem ser compartilhados ou gerados (com os key gen’s). Observe que é a empresa de software que arca com os prejuízos da pirataria.

Neste novo modelo o software é considerado como serviço (TV a Cabo, Luz, Esgoto). Ou seja, de acordo com seu desejo (ou necessidade) você vai lá adquire o serviço(Um mashup com o Google Maps e um banco de dados geográfico da sua cidade, por exemplo) e quando não mais desejar você vai lá e cancela. Este modelo é conhecido como pay per use (pague pelo uso), a vantagem deste modelo é justamente o usuário ser responsável pela utilização do sistema principalmente sobre preço que irá pagar, além de que o vendedor do serviço sabe com certeza quem está utilizando o serviço, agora sendo capaz de bloquear os pirateiros.

Apesar de bloquear os pirateiros, este modelo não está imune a pirataria. Pois, assim como na vida real irá existir a figura do “gato” (Sim… ele mesmo, o mesmo “gato” da luz e da tv a cabo…), ou seja, a pessoa que terá acesso ao serviço utilizando a credencial de outra pessoa.

Observe que neste modelo a pessoa “lesada” é quem fica com o prejuízo da pirataria.

Sendo assim o Software as Service não vem apenas facilitar a criação rápida de aplicativos (Reuso de fato), mas também proteger as empresas produtoras de software com respeito a pirataria.

Você tem dúvidas de que o SaaS irá pegar?

Obs.: Neste post ainda ficou faltando abordar a liberdade de comercialização dos serviços no SaaS.

Por fim, vai um videozinho do youtube sobre a plataforma Apollo.

Link Permanente 4 Comentários

Web2.0 Folksonomy (Tagging)? WTF?

Março 16, 2007 at 1:08 am (Folksonomia)

Um dos fenômenos mais interessantes da web 2.0 é a folksonomia ou tagging, que nada mais é do que associar um contexto (várias keywords) a uma informação em uma base compartilhada. Sendo assim, a grande inovação dos sistemas tagged’s é proporcionar uma busca contextual (Filtragem de Informações) mais eficaz do que os sistemas non-taggeds.

Ou melhor:

“Tagging-based systems enable users to categorize web resources by means of tags (freely chosen keywords), in order to re-inding these resources later. Tagging is implicitly also a social indexing process, since users share their tags and resources, constructing a social tag index, so-called folksonomy.”

Yusef Hassan-Montero  and Víctor Herrero-Solana

Em Improving Tag-Clouds as Visual Information Retrieval Interfaces 

Legal… mas o que isso tem demais? Bom, ao meu ver o interessante é que isto demonstra que estamos em um novo estágio da internet… em que nós (Eu e você inclusive!)  estamos  entendendo que a internet só tem significado e utilidade se as informações existentes forem encontradas de maneira simples e eficaz.  Então sempre que disponibilizar um conteúdo na web… tag nele!!

Obs.: Claro que para todos os outros problemas existe o google… quem sabe o google não cria uma base de dados universal para tag’s?? Google Base???

A review sobre o paper:

  •  Fala sobre um novo modelo de popular nuvens de tag’s levando em consideração a interelação entre as tags.
  • Relevância para meu estudo: 4
  • Inovação: 8
  • Relevância para mim: 10 (Gostei do assunto…)

 

Link Permanente Deixe um comentário

Component Description United!!!

Março 13, 2007 at 2:00 am (Componentes, Descrição de Componentes, RAS)

Como criar um padrão de fato para descrever componentes de software?? Esta é uma pergunta interessante, mas até hoje não respondida. Seria esta a pergunta de um millhão de doláres?? Em minhas lectures sobre componentes e mercados de componentes me deparei com um mais um paper (Component Market Specification Demand and
Standardized Specification of Business Components
) que apresenta informações relevantes que devem ser consideradas em uma descrição de componente… apesar do dito cujo fazer o favor de apresentar/relembrar diversos conceitos, como design by contract, the importance of component markets, composition. Sua maior importância foi justamente relembrar o meu questionamento interno sobre a importância da padronização.

Muitos esforços foram guiados neste sentido nos últimos anos, basta lembrar que em diversas conferências internacionais a descrição de componentes sempre esteve presente em algum paper.

Estes estudos e as necessidades da industria culminaram na aprovação do DRAFT da OMG para a especificação RAS (Reusable Asset Specification). Eis que o problema parecia estar resolvido e que em breve teriamos uma enxurrada de players dando suporte a especificação em suas ferramentas e repositórios… mas como de praxe(Ou praga?) isto não ocorreu (OMG hahahaha).

Para não ser mentiroso, o único player que mexeu um dedo foi a IBM que implementou em 2005 um repositório simples (RAS4W) e deu um leve suporte em sua suíte de desenvolvimento (WSAD).

Mas e agora? O que vamos fazer??? Pense que se uma especificação com grandes players (IBM, Microsoft, Flashline, ComponentSource…) não virou padrão, qual seria a chance de outra especificação tomar este lugar???

Tenho a sensação que está resposta está atrelada a tão falada WEB2.0 e seus formatos de descrição.

Claro que a idéia não é provocar uma reviravolta em todos os estudos sobre descrição de componentes…. e sim tornar a descrição algo simples e fáctivel.

Como exemplo, temos o sucesso do RSS.

Mas…. o que está abordagem difere das existentes?? Vale lembrar que a criação de um mercado GLOBAL de componentes é um dos requisitos para o sucesso do DBC, e já que esperar que todos iteroperem a nível de repositório é impraticável, poderiamos ao menos sonhar que as descrições dos assets(ativos) possam ser intercambiáveis. Já imaginou realizando uma busca no google(ou froogle) através destes metadados??? E  o oráculo respondendo todos nossos anseios na busca de componentes?

Para não perder o costume, aí vai o meu review…

* Review do Paper (Relevância: 8 / Inovação: 2 )

* Obs.: Um aspecto interessante do texto são as definições de termos recorrentes.

Ex.: We define a component market as an abstract place where components are exchanged and their value is determined by the bidding process between the supplier and the user of components.

Link Permanente Deixe um comentário

Próxima página »