Mostrar mensagens com a etiqueta Programação. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Programação. Mostrar todas as mensagens

Cérebro: Esquerda vs. Direita - O paradoxo do Developer/Designer


Duas escolas de pensamento

Psicologistas dizem que a maioria das pessoas pensam "pela direita ou pela esquerda do cérebro", o que significa que existem dois tipos de pessoas. As que pensam analiticamente e as que pensam de forma criativa. Sabendo que o cérebro é constituído por dois hemisférios distintos, podemos dizer (e bem) que cada um deles controla as diferentes maneiras de pensar. Embora muitos investigadores escarnecam a ideia do cérebro funcionar a 100%, torna-se de facto um tópico muito dinâmico quando se contempla as diferenças inerentes entre um designer e um developer.

A batalha inevitável

Penso que irá concordar que, olhando para a lista acima, "pensadores-do-lado-direito" soam a designers, e "pensadores-do-lado-esquerdo" soam a developers. Com isto chegamos à conclusão que os desentendimentos que por vezes acontecem entre designers e developers são por causa da previsível netureza de pensamentos entre os "pensadores-do-lado-direito" e os "pensadores-do-lado-esquerdo". Mais, obviamente que se essas duas maneiras de pensar encontrarem um "espaço comum", conseguem obter muito melhores resultados juntos do que alguma vez conseguiriam separados. A partir daqui, chegamos a um problema chave, que é como beneficiar das diferentes "escolas de pensamento", em detriorimento de aproveitar apenas uma e ter falhas no lado oposto.

Para ter uma ideia melhor de como os designers e os developers conseguem trabalhar juntos com sucesso, aconselho primeiro a saber o que os torna inseparáveis.

Pontos de vista do Designer / Developer

O ponto de vista principal do designer é a cor, o estilo e a marca. E porque tendem a ser pensadores visuais e criativos, criam uma experiência para o utilizador mais apelativa. Isto explica porque é que muitos dos portfólios de webdesigners são tão apelativos e bonitos visualmente. Tendo isto em conta, é muito comum o designer não dar tanta importância a certos métodos procedimentais de código. A certo ponto a beleza precisa de ser funcional e aí entra a parte forte do developer.

Developers são pensadores lógicos e procedimentais. Têm um desejo imparável de fazer as coisas "da maneira correcta", e de maneira a funcionar apenas (Não dão tanta importância à beleza e apresentação). São aqueles que na aula de matemática, fazem equações nas margens do caderno em deteriorimento das figuras desenhadas pela maioria das pessoas. Interessam-se muito mais por coisas como reutilização do código ou standards web.


Benefícios de colocar uma ponte na falésia entre designer / developer

Um bom workflow entre o designer e o developer é imperativo para obter sucesso em projectos web de larga escala. É extremamente benéfico para o designer compreender o lado do desenvolvimento das coisas e vice-versa. A "Webdesigner Depot" colocou recentemente uma excelente lista de "6 razões para as quais o designer deve também programar", e eu não podia concordar mais com os seus pontos de vista. Exercitar os dois lados do cérebro irá ajudar muito o developer ou designer a obter melhores resultados.

Sem a ajuda do designer, o developer irá "passar à frente" certos elementos importantes no design. Irão muitas vezes cair em erros como: "Este tipo de letra serve!" ou "O que irei colocar neste espaço?". Se o designer e o developer trabalharem juntos, ou num caso de apenas uma pessoa, exercitar os dois lados do cérebro, conseguirá criar muito melhores websites.

Agora a pergunta: Qual dos teus lados do cérebro é mais dominante? =D

O "I have a dream" de Jay Freeman (Saurik)

Como muitos de vocês devem saber, a Apple está a tentar com que o acto de efectuar "Jailbreak" a um iphone se torne ilegal. Estou completamente contra isso, assim como todos os developers que não se deixaram levar pelas restrições (desculpem o termo) estúpidas da AppStore. Jay Freeman escreveu uma carta para o "Copyright Office", tentado assim com que o sonho de alguns não se torne o pesadelo de muitos. Aqui fica:

Hello. I am the developer of Cydia, the first application installed onto Apple’s devices after they have been jailbroken. Cydia acts as an open competitor to the Apple App Store: anyone can put applications up. These applications are distributed from any number of “repositories”: anyone can run one, and end users can add them to their copy of Cydia. In this manner, Cydia acts as a web browser: no one has centralized control over what can and cannot be distributed.

All of this is, itself, based on an existing “industry standard” known as APT: an “open source” mechanism for distributing applications that has been in use by computer operating systems such as Linux for well over a decade. Even Cydia is open source: anyone can get access to its source code in order to either understand or modify it.

Cydia is now installed on 1.6 million devices worldwide, at least a quarter of which are within the United States. Please note that this number is not based on download counts or “unique IP addresses”, both of which drastically overestimate the number of users an application has. This number is based on a survey of unique device identifiers (a mechanism that Apple encourages developers to use to track devices) over the last month.

These users are also quite active: 300,000 unique devices check in to Cydia each day, over 650,000 each week. This takes the form of people looking for new packages, new repositories, and getting upgrades. What these users are coming back for are the hundreds of applications that are in Cydia, each one of which being of the type Apple denies from their store.

Unfortunately, there is now concern that applications that jailbreak phones, the tools that people use to install Cydia, may come under attack from Apple under the DMCA. This is /terribly/ unfortunate as there is a thriving market of applications for these “jailbroken” devices.

Apple isn’t even the only problem. An entire new class of devices is coming onto the market, a class of devices that I do not feel currently has a good name, but for which I will temporarily call “integrated computers”. These devices really are computers: they are running the same operating systems that we find on everything from laptops through desktop computers up to massive computation clusters.

In Apple’s case, this operating system is Darwin, the base of their Mac OS X desktop operating system. In the case of the new Android phones, this is Linux, an increasingly popular “free software” kernel.

There is nothing intrinsically restricted about these devices, and nothing that requires them to have restrictions: nothing except the controlling attitudes of the people who are releasing them. The T-Mobile G1 from HTC, running the touted “open source” Android, is not able to be changed by end users using the code that Google is trying to give us.

Back to Apple’s devices, they maintain tight encryption-backed control over what applications users can install onto their devices. Apple uses this control in order to explicitely act in an anticompetive manner: denying applications that provide similar functionality to those applications that Apple distributes with their device as “it may cause user confusion”. With this, they have managed to keep Opera (the most popular mobile web browser provider) from even bothering to attempt to target their system. They have publically shut down Sun from bringing in Java (which would itself compete with their App Store due to their J2ME technology), and only after a couple years been willing to sit down and work with Macromedia to bring Flash to their platform.

They have denied competing mail applications, competing camera applications, and competing mapping systems. They also have exerted control over what they feel to be acceptable content, sometimes vascilating (first denying any application using the word “fart”, and then allowing one in which rapidly becomes the #1 most popular application in the store).

This has led many developers to “go underground”, distibuting their products using Cydia, and selling it from their own websites. As an example of some of these applications, I will describe a few of the programs I have written, and why users want them:

Cycorder - This application allows users to record videos with their iPhone’s camera and transfer them to a computer. Cycorder is one of the “killer applications” of jailbroken iPhones, and is used by a very large percentage of its users. I do not know how many, but even four months ago I estimated hundreds of thousands.

These videos themselves have become quite widespread, and have even been aired on CNN’s iReport (where users can contribute videos to get aired on the network) [1]. One user even shot a music video using it [2].

1: http://www.ireport.com/docs/DOC-103642
2: http://www.goshone.com/?p=74

Unfortunately, Cycorder (and a few applications like them, such as Qik and Video Recorder 3G) have been submitted to Apple and then ignored for months. These applications require access to the camera, which Apple does not allow as part of their official SDK: while applications can let the user take a picture, it is tightly managed by an interface that Apple has provided.

WinterBoard - An “extension” for the system that allows users to customize the graphics and sounds on their device. One feature that almost every cell phone on the market has is the ability to change the wallpaper, much as one would on a desktop computer. However, this is not functionality available on the iPhone: “any background you want, as long as it’s black” (as Henry Ford may have said).

There are now thousands of “themes” available: sets of graphics. These themes don’t just change the wallpaper: they use WinterBoard’s full features in order to theme the entire system, changing all of the icons, the buttons, and the entire feel. Users install these themes using Cydia and then activate them using WinterBoard.

Unfortunately, WinterBoard requires access to system files that Apple has protected. For the full amount of control it provides to the user, it needs to “inject” or “hook” into every running application, in order to change the loaded graphics. This level of functionality is definitely verboten.

Veency - Another extension that allows users to remote control their iPhone using a compter monitor and keyboard. Veency is very popular among developers giving presentations of their work, but also has been used by people to make writing text messages easier (using their computer keyboards). This is of incredible value to the users who use it, although it is not as popular as other applications in Cydia. It is open source.

Currently, Apple provides no mechanism for recording the screen of the device, which means that users who want to show off their applications either have to use a simulator (which does not let them interact with the screen in intuitive manners with multiple fingers), or setup a physical camera to record their screen and project it onto a wall. Neither of these are usable solutions for many presenters.

Unfortunately, getting direct access to the display buffer requires access to APIs that Apple does not allow usage of in the App Store. Also, this requires a “daemon”: a program running in the background, to accept the incoming screensharing requests. Apple also does not allow background programs on their devices.

Obviously, though, I am not the only developer who has been working on this device. There are numerous companies that have managed to make a market selling products for jailbroken iPhones. Some examples:

SpoofApp - voice changing, call recording
MCleaner - block incoming calls and sms
iBlackList - another call blocking application
Cylay - track iPhone, theft protection
MiVTones - video ringtones for incoming calls
iPhone Modem - laptop/iPhone data tethering
PDANet - another tethering application

To bring a specific example to the forefront, I will focus on Snapture, distributed by Snapture Labs, LLC. Snapture is an improved Camera application for the iPhone. Snapture is denied from the App Store for similar reasons to Cycorder. Snapture, however, does not concentrate on videos: it is about better still photos.

Unlike most point-and-click cameras, the iPhone does not support numerous “standard” features, such as timed pictures, color tinting, image rotating and zooming, and photo bracketing. Snapture provides all of these features, and is sold for $7.99 from their website [1].

What makes Snapture even more interesting is that they are also providing a hardware component to go with their product: the SnaptureFlash [2]. This is an attachment for the iPhone that provides a strong Xenon LED Flash/Light in order to make taking pictures in the dark even easier. Unfortunately, Apple does not provide access to the hardware connector to App Store developers: this is a hardware component that could only ever work with jailbroken phones.

1: http://www.snapturelabs.com/
2: http://www.snapturelabs.com/snaptureflash.html

I therefore am going to close this (partly because I am running out of time), with a plea to the copyright office to not ignore the many hundreds of thousands of earnest users: users who are legally purchasing alternative applications and wishing to use them on their iPhones and iPod Touches, users who want functionality from their mobile devices that often no one is able to provide, but which is now possible on these new classes of devices. If only the people who were distributing these devices were fully open.

Sincerely,
Jay Freeman (saurik)


Aqui fica também o link para o ficheiro .PDF desta carta.

Jquery - Poder e simplicidade...

Jquery é para mim sem dúvida a melhor invenção dos últimos tempos no campo da programação web. Já não consigo programarem JavaScript sem usar esta biblioteca excelente que simplifica em muito o meu trabalho e me dá muitas mais possibilidades!

jQuery é uma biblioteca JavaScript rápida e concisa que simplifica percorrer documentos HTML, manipular eventos, criar animações e interações Ajax para um desenvolvimento web rápido. O jQuery foi desenvolvido para mudar a forma com que você escreve JavaScript
Como não vos quero deixar a olhar para tecto, fui à procura de um artigo interessante e encontrei este, que por coincidência dos diabos foi escrito por um blogger muito parecido comigo! Não percam o mundo do JQuery, pois dá "Poder e Simplicidade" de uma rajada só!

Cumprimentos ;)

Hacks SQL para Wordpress - Parte 3

Olá ^^


Hoje termino este artigo dividido em 3 partes, que mostra algumas dicas de SQL para a plataforma Wordpress. O objectivo deste artigo não é dar as dicas de mão beijada, mas mostrar que sabendo a Sintaxe SQL poderão criar coisas fascinantes, e então aliado a PHP muito melhor, uma linguagem complicada mas potente do ponto de vista do programador. Neste momento, PHP, SQL, JavaScript e claro HTML são o "pão nosso de cada dia" do Webdeveloper.

6. Mudar o nome do seu domínio do Wordpress.
Embora não seja recomendado, poderá querer alterar o seu nome de domínio e querer manter o seu blog e todo o conteúdo lá guardado. Para isso será necessário alterar a base de dados do wordpress, já que esta plataforma regista o nome de domínio.
  1. Adivinhou! Primeira coisa a fazer será o habitual LogIn no PHPmyAdmin, selecionar a sua base de dados do wordpress e selecionar o botão SQL;
  2. De maneira a mudar o URL (Endereço) do seu blog, execute o seguinte comando:
    UPDATE wp_options SET option_value = replace
    (option_value, 'http://www.siteantigo.com', 'http://www.novosite.com')
    WHERE option_name = 'home' OR option_name = 'siteurl';
  3. Agora temos de mudar o URL de cada post para o novo domínio. Este comando irá fazer o trabalho:
    UPDATE wp_posts SET guid = replace
    (guid, 'http://www.siteantigo.com','http://www.novosite.com');
  4. Estamos quase lá. Agora iremos usar o comando REPLACE na tabela wp_posts para ter a certeza que não fica qualquer marca do antigo URL:
    UPDATE wp_posts SET post_content = replace
    (post_content, 'http://www.siteantigo.com', 'http://www.novosite.com');
  5. Feito! Já deverá ser possível fazer login no wordpress usando o seu novo url.
Para facilmente alterar o domínio do wordpress, tomei partido desta super-útil função no SQL, o "REPLACE", que permite substituir um termo por outro.

7. Mostrar o número de consultas em SQL no seu blog.
Quando se tenta optimizar o tempo de loading do blog, saber o número de consultas na sua base de dados é importante. De maneira a reduzir as consultas, será preciso saber quantas consultas são feitas no carregamento de uma página. Para isso, não será necessário executar nenhum comando em SQL, mas sim colocar uma ou duas linhas de código em PHP:
  1. Ou seja, não é necessário fazer Login no PHPmyAdmin, simplesmente abra o ficheiro footer.php para edição. Este ficheiro encontra-se na pasta onde se encontra o seu tema (Template);
  2. De seguida, introduza o seguinte código no final do ficheiro:
  3. Grave o ficheiro e visite o seu blog. Bem lá no fundo da página (Chamado footer), poderá ver o número de consultas efectuadas ao carregar a página e também o tempo que demorou a executá-las.
Ao que parece, muitos utilizadores de wordpress não estão cientes da função get_num_queries(), que obtém e mostra o número de consultas efectuadas durante um "pageload" (Carregamento da página).

Note também que o código demonstrado acima só irá mostrar o número de consultas e respectivo tempo de criação para utilizadores registados e que tenhas feito log-in, isto porque utilizadores não registados e bots dos motores de busca não precisam de saber o número de consultas utilizadas num pageload. Mas claro, se desejar tornar isso público, remova a instrucção condicional if (is_user_logged_in()).

8. Restaurar a sua Base de Dados do Wordpress.
Digamos que, por qualquer razão (Hacking ou problemas de upgrade são exemplos), perdeu a sua base de dados do wordpress ou a mesma ficou corrompida. Se tem um Backup (Dica 1), siga estes passos:
  1. LogIn no PHPmyAdmin e seleccione a sua base de dados do wordpress;
  2. Clique no botão "Import" no menu horizontal;
  3. Clique no botão "browse" e selecione o backup mais recente que tiver no seu disco rígido;
  4. Clique no botão "Execute". Se tudo foi bem, a sua base de dados do wordpress estará completamente funcional de novo.





Como podem ver, existem 1001 maneiras de mexer no vosso wordpress sem ser pelo dashboard. O PHP e o MySQL podem trazer inúmeras vantagens a quem souber utilizar estas técnicas, e com um pouco de esforço, trazer funções nunca vistas no wordpress. Cumprimentos ;)

Hacks SQL para Wordpres - Parte 2

Olá!

Hoje irei continuar com as dicas de SQL a usar no seu blog Wordpress. Era para o fazer ontem, mas mais uma vez, devido a problemas pessoais graves, não o pude fazer. Mas eu não desisto de actualizar o blog, e embora com dificuldade, irei acabar este artigo que decidi à ultima da hora dividir em 3 partes.


3. Eliminar 5000 comentários SPAM em apenas um segundo.
Ok agora o problema: Ter 5000 (Ou outro número gigante) de comentários não aprovados, ou seja, poderão ser ou não SPAM.

Agora a solução:
  1. Faça Login no PHPmyAdmin e escolha a sua base de dados Wordpress;
  2. Clique no botão "SQL" e cole o seguinte código na caixa de texto:
    DELETE from wp_comments WHERE comment_approved = '0';
  3. Adeus comentários SPAM! Faça bom proveito da sua base de dados livre de SPAM!
A tabela wp_comments tem um campo chamadado comment_aproved, que é um valor booleano (0 ou 1). Os comentários aprovados têm o valor 1, e os que esperam moderação têm o valor 0. Correndo o comando mostrado, simplesmente eliminamos todos os comentários que não tenham sido aprovados!
Mas atenção. Enquanto este comando pode ser bastante útil, também poderá apagar comentários não aprovados que sejam válidos. Se ainda não usa o Akismet, instale-o e começe a usá-lo para prevenir o Spam.

4. Mudar a atribuição de um Post.

Normalmente criando uma base de dados em Wordpress, os utilizadores irão escrever os seus Posts na conta de Admin, mas depois descobrem que não é nada pessoal e preferiam ter uma conta com o nome próprio.

Modificar a atribuição do autor para cada post pode demorar uma eternidade, mas felizmente existe um comando em SQL que faz o trabalhinho todo por si:
  1. Faça Login no PHPmyAdmin e selecione a sua base de dados do Wordpress;
  2. Primeiro que tudo teremos de ter as identificações dos utilizadores correctas (User ID'S), para isso, clique no botão SQL e insira o seguinte comando:
    SELECT ID, display_name FROM wp_users;
  3. O PHPmyAdmin irá mostrar uma lista de User ID's associados com a base de dados do Wordpress. Digamos que NOVO_AUTOR_ID é o ID do novo utilizador pessoal criado, e que ANTIGO_AUTOR_ID é o ID da conta de Administrador (Admin).
  4. Tendo os ID's à mão, execute o seguinte comando:
    UPDATE wp_posts SET post_author=NOVO_AUTOR_ID WHERE post_author=ANTIGO_AUTOR_ID;
  5. Ok ;) Todos os Post's selecionados estão agora com o novo ID selecionado por si.

5. Efectuar um "Reset" manual da sua Password.
De maneira a proteger o seu blog, os utilizadores poderão escolher uma Password forte (Ex. u7*KoF5i8_), mas isto poderá levar ao esquecimento fácil da password.
O Wordpress dispõe de um sistema de RESET de password por e-mail, mas se já não tem acesso ao e-mail em questão ou se preferir antes correr um comando simples, faça o seguinte:
  1. Faça Login no PHPmyAdmin, selecione a base de dados do wordpress e clique no botão SQL.
  2. Insira o seguinte comando (Tendo em conta que o nome de utilizador é "admin"):
    UPDATE `wp_users` SET `user_pass` = MD5('PASSWORD') WHERE `wp_users`.`user_login` =`admin` LIMIT 1;
  3. Feito! A sua password será substituida pela password colocada onde no comando está presente a palavra "PASSWORD".



5 de 8 dicas estão dadas! É simples e fácil correr comandos SQL no Wordpress e muitos mais poderia por aqui! Mas como sou preguiçoso não me dou ao trabalho :) Aprendendo um pouco de Sintaxe SQL e sabendo a estrutura da base de dados do Wordpress, consegue-se fazer praticamente tudo!

Amanha irei colocar a última parte com mais 3 dicas importante e úteis! Não perca ^^

Cumprimentos ;)

Hacks SQL para Wordpress

Nos últimos 10 anos, o MySQL tornou-se uma ferramenta bastante popular na web. E todos os blogs que se apoiam na plataforma Wordpress contém uma base de dados que regista "tudo o que mexe" na plataforma (BlogPosts, comentários, defenições, entre muitos outros...).

Enquando plug-ins ou hacks em PHP podem resolver aguns problemas que possa ter no wordpress, por vezes não existe outra escolha senão executar código em SQL no PHPmyAdmin ou directamente na consola SSH. Hoje vou mostrar 8 hacks úteis em SQL para o seu blog em wordpress. Todas estas dicas têm explicado o problema, sugerem a solução e no final explicam a solução em si para que possa fácilmente perceber e aplicar estas mesmas dicas.

1. Criar um backup (Cópia de segurança) da sua base de dados.
Todas as dicas aqui contidas foram previamente testadas, mas não aconselho em nada a execução das mesmas sem antes ter um backup da sua base de dados MySQL.

Para criar um backup manual da sua base de dados, siga estes passos simples:
  1. Faça login no PHPmyAdmin e selecione a sua base de dados do wordpress;
  2. Clique no botão "Export" (Exportar) localizado no menu horizontal;
  3. Escolha um método de compressão (Pessoalmente recomendo o Gzip), e clique no botão "Execute" (Executar);
  4. O seu browser irá perguntar-lhe se quer guardar o backup. Evidentemente, pressione o botão sim ou guardar, e escolha a localização no seu disco rígido.
Note que criar um backup manual da sua base de dados Wordpress pode ser mais fácilmente executado com o plug-in de wordpress WP-DB-Backup. Os utilizadores de wordpress devem instalar este plug-in se ainda não o fizeram e criar backups regulares da sua base de dados.

2. Apagar revisões de um post com um batch.
Revisões de Post, uma das novas funções no Wordpress 2.6, pode ser muito últil , mas ocupa bastante espaço da base de dados. Poderá apagar manualmente todas as "Post Revisions", mas isso é um processo demorado e aborrecido.

A solução para este problema é simples. Apaga-se todas as "Post Revisions" de uma vez com uma simples consulta em SQL. O resultado é bastante grande se tiver uma quantidade grande de Posts. O tamnho pode reduzir até metade!
  1. Login no PHPmyAdmin e selecione a sua base de dados do wordpress;
  2. Clique no botão "SQL", digite o seguinte código na linha de comandos:
    DELETE FROM wp_posts WHERE post_type = "revision";
  3. Processo concluido! Dependendo no número de artigos colocados no blog, o tamanho da base de dados poderá diminuir substancialmente!
Explicação do Processo: A tabela wp_posts tem um campo chamado post_type. Este campo pode ter um de vários valores, como por exemplo "post", "page" ou "revision". Quando nos queremos ver livres de todos os "PostRevisions", apenas executamos um comando em SQL que elimine da tabela wp_posts todos os valores "revision" colocados no campo post_type.




Por agora é tudo! Mais tarde (Ainda hoje), irei presentear-vos com as seguintes dicas do total de 8 que irei mostrar:

3. Como eliminar 5000 comentários SPAM em apenas um segundo;
4. Alterar a atribuição de um post;
5. Efectuar um "Reset" manual da sua password;

Até mais ^^

Tempos de mudança

Olá! ^^

Hoje (finalmente) terminei o código e gráficos para o (Talvez) novo design do blog. Sinto que o blog está um pouco "pequeno". Pouco espaço para colocar mais coisas novas e tal... Após uma semana e meia de código e design finalmente apresento a diferença:

Design actual do blog

Design no qual estive a trabalhar

A verdade é que agora que olho para os 2 design's vejo-me um pouco indeciso a trocar de design, isto porque o primeiro design é isso mesmo, um óptimo design, e o segundo está mais focado na organização, mas não é tão "chamativo" como o primeiro. De qualquer maneira, "o cliente tem sempre razão", e por isso tenho uma demo deste mesmo design em http://paulotrutabeta.blogspot.com

Além de poderem ver o novo design, têm também uma votação, à qual espero que participem, para a minha díficil escolha: Troco ou não o design do blog?

Cumprimentos ;)

PS: O nome paulotruta.net existe apenas porque vou ter esse mesmo domínio muito em breve, e se mudar o design, vai ser quando mudar o domínio também.

Mais Net Social Actualizada!

Olá pessoal ;)

Hoje trago-vos a actualização da Mais Net Social para a versão 1.5. Já estamos fora de Betas no que toca a este serviço, pois já está a funcionar a 100%, sem bug's visíveis...

Como novidaes desta nova versão trazemos o novo visual, mais "sleeve" mas mais arrojado e moderno ao mesmo tempo :)

Outra das grandes novidades é o novo sistema de edição de texto, que está bastante mais profissional. Como novas funções apresentamos algumas como: Criação de tabelas, inserção de imagens, inserção de "embedded code" com pré-visualização, suporte para HTML e CSS (Como isto, o céu é o limite!), parágrafos, alinhamentos, smileys, entre muitas outras!

Outra das novidades interessantes para o utilizador é a actualização que fizemos ao sistema das páginas. Antes as páginas podiam ser criadas e comentadas pelos utilizadores. Agora as páginas, além de serem comentadas, podem também ser editadas! (Com devida autorização do autor). Ésta é outra killer function, que torna a Social numa Wiki!

O sistema de OpenID infelizmente não estava ainda a funcionar devidamente pelo que decidimos adiar para uma próxima versão.

Visitem a social em http://social.maisnetpt.com

Façam amigos, coloquem fotos, música, vídeos! Criem um grupo, tenham um blog e até uma wiki!

100 Posts!

Pa festejar... levamos com a música do reclame do Alvim!

Esta música dá-me arrepios a ouvir no iPhone durante o refrão... xD Bem mas aqui fica para ouvirem, já vi mto pessoal à procura disto xD

Cumprimentos ;) E venham mais 100!!!

Mais Net - Grades novidades!

Olá :P

Ontem, depois do trabalho duro, finalmente posso descansar e olhar para o que fiz... A Mais Net tem agora um visual completamente renovado. O portal principal recebeu uma total renovação e está agora mais lindo que nunca. Aqui fica uma imagem do mesmo!
A Mais Net inaugura agora também a Social, onde poderá criar o seu perfil (à semelhança do Hi5 e Orkut), ter o seu blog e até a sua página! Inscreva-se!

Por hoje é tudo (Penso eu :P)
Cumprimentos ;)

Joomla theme developing...




Cheguei à conclusão que não vale mesmo a pena...

Eu bem que tentei modificar um template e pegar naquele PHP e imagens e modificar, mas depois chega à altura dos módulos e dou o nó... Até programar para surface é mais fácil e divertido...

Muito má primeira experiência com o Joomla, mas não desisto... amanha há mais...

Mudanças aqui no estaminé...

Olá mais uma vez! Vim aqui fazer umas mudanças no estaminé, mas ainda falta muita coisa... Não me vou livrar deste layout, está bastante simples e é assim que gosto dele, mas decidi fazer umas mudanças, como por exemplo o menu com mais links ou então o "Powered by black minimalism theme" substituido por "paulotruta.blogspot.com | 2008".

Ha também optimizei o código. Agora o carregamento é mais rápido!

Estou também a pensar mudar o fundo para uma coisa mais elaborada mas para isso vou precisar de tirar umas fotos especiais em estúdio...

O Header é que me está a lixar... não faço a mínima do que pôr...
O que substituo? Já estou farto deste header dava-me jeitinho meter algo mais bonito... mas o quê? Se me quiserem ajudar estão à vontade, podem pegar em fotos minhas no meu Hi5 ou assim... estão completamente à vontade para isso, desde que depois me venham mostrar o resultado. Ha e convém aquela tira branca continuar ali, pois é o fundo do menu.

Cumprimentos ;)

Viva! Novidades!

Finalmente algum tempo para actualizar o meu blogzinho... Desculpa querido blog, mas com tanto trabalho nem me consegui lembrar de ti... :'(

Mas agora está na hora de voltar à carga, e hoje trago-vos mais uma vez a Mais Net, e dar um resumozito do que temos feito por lá.

Para começar, abrimos mais um portal, a Mais Net: News. Esta traz notícias de informática actualizadas diáriamente. E um PodCast (Semanal?)... Não sei se será semanal porque hoje fizemos o "Episódio 0/Test Drive" e com as notícias de um dia ocupamos logo 30 minutos, e isso não me agradou muito, pois atingimos o limite máximo colocado antes de começar-mos a gravar... Para dar um cheirinho do portal, aqui vai uma screenshot:
Dêm uma olhada em http://news.maisnetpt.com

Mas antes sequer de termos lançado este portal, corrigimos todos os bugs da Mais Net TV, Maisnetpt.com, e suspendemos a Mais Net: Network, que está em remodelações. Enquanto isso os serviços estão na mesma disponíveis, atravéz da zona de suporte (http://suporte.maisnetpt.com)

A Radio Mais Net está com problemas no servidor de streaming, pelo que fica suspendida até o problema no servidor estar resolvido.

Quanto a trabalhos, fiz alguns, o request de Miguel Dias para os logos da Tenis um Mundo. Aqui vão eles:


Logo principal (Clique para maior qualidade)

website header (clique para maior qualidade)

E para já a minha vida tem sido isto! Hoje gravei o PodCast, lá para o fim da noite já deve estar disponível para download em http://news.maisnetpt.com

Cumprimentos ;) E até já (Nunca mais te deixo sozinho tanto tempo blog querido...) xD

Agirl - Hi5 Skin

Cá está um novo trabalho. Uma Skin dedicada à minha namorada. Amo-te S2


Secção Principal do Perfil

Secção mini - Fives


Esta é mais uma das máscaras do Hi5 criadas por mim, esta criada em conjunto com a minha namorada e dedicada exclusivamente a ela.

Como já vem sendo hábito não irei publicar a máscara para uso público, muito menos esta.

Cumprimentos ;)

Hi5 :: Programação, aplicações e API


Ora cá vou eu meter-me em mais alhadas! xD Já não me chega programar para projectos da MS e Google, agora fui meter-me no Hi5! Estou neste momento a desenvolver uma aplicação simples para ver como funciona o ambiente de programação no HI5. Para já está-me a agradar a simplicidade da coisa, embora um pouco bugada. Live Messenger Me! Vai permitir ao visitantes do meu perfil falarem comigo no Windows Live Messenger sem terem de fazer log-in no do próprio, usando um e-mail de visitante/anónimo para o mesmo efeito. Um pouco do que faz a aplicação criada pela microsoft. Aliás, vou utilizar o sistema deles, só vou mudar o visual...

Cumprimentos ;)

Como fazer um "Sidebar Gadget"

Hoje estou de bom humor e vou ensinar aos leitores do meu blogue como fazer um gadget para a Windows SIdebar (aka Barra lateral do Windows Vista).

Este gadget é um POC (Proof of concept), ou seja, a coisa mais simples que poderá ser feita para a Sidebar, o famoso WelloWorld, e para isso basta um ficheiro HTML e um XML, e por isso começemos por criar o nosso ficheiro HTML com o seguinte código (Clique para ampliar):

Guarde-o com o nome olamundo.html numa pasta temporária (Ambiente de trabalho por exemplo).

De seguida iremos criar o ficheiro XML, e para isso basta, tal como para o HTML, o simples mas famoso Notepad (Bloco de notas), e introduza o seguinte código (Clique para ampliar):

Guarde-o no mesmo sítio onde guardou o ficheiro html, como o nome de gadget.xml

Agora para isto funcionar teremos de criar uma pasta chamada olamundo.gadget e copiar os dois ficheiro criados anteriormente para essa pasta.

Agora copie e cole na barra de endereço de qualquer janela o seguinte:

%userprofile%\AppData\Local\Microsoft\Windows Sidebar\Gadgets

De seguida, depois de ter o directório aberto, copie do ambiente de trabalho a pasta olamundo.gadget e cole-a na pasta que abriu.

E agora só terá mesmo de clicar no botão de adicionar gadgets na sidebar e estará lá o Olá Mundo!

Como pode ver é simples criar gadgets para a Sidebar do Windows e as possibilidades são infinitas, e qualquer coisa que possa ser feita em DHTM ou .NET pode também ser feito para a Sidebar. Mas cuidado! Não vale usar o WPF (Windows Presentation Foundation), pois a sidebar não tem suporte para o mesmo a não ser que aplique um patch.

Brevemente darei mais novidades sobre a Windows Sidebar, já que estou a trabalhar em algo relacionado com ela. Cumprimentos ;)

Novo trabalho...

Penso que já está na altura de finalmente mostrar um pouco do que vai ser o design da Mais Net TV, numa altura em que estamos a fazer gravações para o primeiro programa, e a ultimar pormenores para o grande lançamento... Aqui vai o design, e apenas não o revelo na sua totalidade pois os dados contidos no website podem comprometer o lançamento. Sem mais demoras aqui vai:


Brevemente colocarei mais noticias no blog do staff da Mais Net, a Mais Net Day by Day

Descobrir o Windows Presentation Foundation

Windows Presentation Foundation (WPF). Finalmente estou a ser ''obrigado'' a compreender como funciona para criar uns programas mais apelativos. Ora o WPF foi bastante bem construido, principalmente com o novo sistema de Front-Buffer e Back-Buffer, que faz com que não exista arrastamento das janelas que existia no Windows XP, e ainda nos permite efeitos como o Aero Glass, Aero Thumbnails, e Aero Flip e Flip 3D. É sobre eles que vou falar hoje, e principalmente de como adicionar "Vidro" ao WinForm de uma aplicação.

Mas primeiramente, o que significa "Adicionar vidro"? Como todos sabem, o Windows Vista, a partir da versão Home Premium, inclui o novo tema, o Aero theme. Existem 3 adições no Aero, e todas elas funcionam graças ao WPF, mas a que salta mais a vista é concerteza o efeito "Glass", ou "Vidro baço", que se pode ver nas frames das janelas deste Sistema Operativo, mas não é só isso, é muito mais do que isso...

Em máquinas bem equipadas (Que suportem o Aero na sua totalidade), todas as janelas têm as bordas emvidraçadas (até mesmo a linha de comandos do DOS!), mas algumas aplicações utilizam o vidro mesmo na área de interacção, e a maior parte delas fá-lo por motivos de design. Internet Explorer 7 expande o "Glass" para a área onde estão presentes os botões de retroceder a avançar, e também na barra de endereço. O Windows Média Player 11 utiliza o "Glass" na área de controlo da média, entre muitas aplicações que utilizam o "Glass" mais profundamente, como por exemplo, o "Centro de Mobilidade do Windows".

Agora estou a investigar como colocar esse efeito nas minhas aplicações, e se estiver a ler atentamente este post também o poderá fazer, pois irei dar umas noções de como o fazer.

Criar este efeito nas minhas aplicações será mais uma maneira de a fazer parecer parte integrante deste Sistema Operativo.

A API que faz todo o trbalho sujo são apenas 4 linhas de código que são as seguintes:

[DllImport("dwmapi.dll")] 
public static extern int DwmExtendFrameIntoClientArea(
  IntPtr hWnd,
  ref MARGINS pMarInset
);

Esta chamada faz quase tudo. Cria dois parametros que contém informação de quanto mais "Glass" o WDM deve aplicar no form, para a esquerda, direita, para cima e para baixo. E aqui poderá ver a declaração das margens:

[StructLayout(LayoutKind.Sequential)]
public struct MARGINS
{
  public int cxLeftWidth; 
  public int cxRightWidth; 
  public int cyTopHeight; 
  public int cyBottomHeight; 
}

O grande desafio aqui será meter o "alpha-Blending" a funcionar correctamente. Caso não o faça, todo o coteúdo que colocar em cima do "Glass" irá substituir o "Glass" em si, e não verá nada. Isto é um problema no GDI, já que ele não sabe distinguir um canal "Alpha" de outro qualquer, mas é mais fácil em GDI+.

No seu form da aplicação, apenas terá de ajustar a propriedade "TransparencyKey" para uma cor que não vá aser utilizada em mais nenhuma parte do programa (Uso o Gainsboro), por razões que irão ser aparentes mais tarde).

Aqui fica um exemplo de como usar a API acima (a partir de um evento Form_Load):

MARGINS margins = new MARGINS();
margins.cxLeftWidth = 0;
margins.cxRightWidth = 0;
margins.cyTopHeight = 45;
margins.cyBottomHeight = 0;

IntPtr hWnd = this.Handle; 
int result = DwmExtendFrameIntoClientArea(hWnd, ref margins);

Se tiver criado os painéis correctamente, já deverá poder ver "Vidro" na sua aplicação. Agora já poderá desenhar botões, letras em cima do vidro, e desde que defina a sua cor de fundo para transparente, deverão integrar-se correctamente com o "Glass". Aqui fica um exemplo:

Como podem ver, o Windows Presentation Foundation foi bastante bem contruído e pode dar muita "vida" às vossas e minhas aplicações!



Microsoft Surface SDK

Recentemente tive oportunidade de colocar as mãos no SDK do surface. Está bastante bem contruído e permite-nos criar novas possibilidades e softwares nunca antes vistos com outras tecnologias. Nenhuma consegue proporcionar tanto divertimento para o utilizador e tantas possibilidades para o programador. Nunca foi tão fácil criar software. Com o SDK do Surface, bastam umas míseras 20 linhas de código para criar um visualizador de imagens. Mais umas quantas para criar uma interacção entre uma câmara fotográfica e o Surface. Além de ter um monitor DualTouch bastante grande, ainda tem "Câmaras" por baixo, que permite ao Surface identificar objectos pousados em cima do mesmo. Basta tirar uma fotografia da traseira do meu telemóvel, identifica-la no código como sendo "Sony Ericsson V600i", indicar a porta de ligação pro Bluetooth, e indicar a pasta onde estão localizadas as fotografias tiradas pelo telemovél, para que, pousando o telemóvel em cima do ecrâ do Surface, o prórpio o identifique, inicie a ligação e copie as imagens para o Disco do Surface. A partir daí poderei visualizar as minhas fotos, e reedimensioná-las, movê-las, ou copiá-las para outros dispositivos, apenas utilizandos os dedos e de uma forma muito intuitiva. Para tudo isto bastaram 50 linhas de código... e temos Software!

Gostei tanto desta tecnologia que adoraria apresentá-la na minha escola, e para tal irei contactar a Microsoft Portugal para no próximo ano lectivo ter oportunidade de o fazer.

Cumprimentos ;) 

Visual Basic 2008 Express

Decidi começar a programar nesta linguagem. Parece bastante interessante e, francamente, após efectuar o registo ainda fiquei mais entusiasmando para começar a programar em Basic.

Depois de fazer o download e efectuar o registo do software (Gratuitamente), foi-me enviado um e-mail para confirmar o registo e obter o meu serial. Depois disso, foi-me apresentada uma página com vários benefícios grátis. SDK's para várias tecnologias, Popfly, para partilhar e ver projectos de outros programadores, entre muitas outras coisas. Tudo isto vem incluido para qualquer software da categoria Visual 2008. Parabéns Microsoft!

Embora possa parecer um tanto ou quanto confuso ter vários serviços, com vários nomes diferentes, basta-me o meu Live ID (Que uso para o Messenger), para poder aceder a todos eles. E não me perco, pois existem sempre ligações disponíveis a partir do WebSite do Visual Basic 2008. 

Vou colocando aqui as minhas experiências no Visual Basic nos próximos tempos, já que é uma nova experiência para mim (A sintaxe não é lá mto boa :S) mas de resto estou a adorar trabalhar com esta linguagem.

Até agora ainda só consegui fazer funções que interagissem com botões colocados no formulário, mas tenho a certeza que vou evoluir rapidamente. Os recursos disponivéis nesta versão são fantásticos e muito completos, e embora seja um pouco dificil para mim fazer os vários objectos colocados por mim interagirem no formulário, lá me vou safando... Em breve vou colocando questões pessoais, códigos criados por mim, entre outras coisas.

Cumprimentos! ;)