Duas escolas de pensamento

Totally Geek / 1º Aniversário <3
Duas escolas de pensamento

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=74Unfortunately, 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 applicationTo 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.htmlI 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)
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 JavaScriptComo 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ó!
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.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';
UPDATE wp_posts SET guid = replace
(guid, 'http://www.siteantigo.com','http://www.novosite.com');
UPDATE wp_posts SET post_content = replace
(post_content, 'http://www.siteantigo.com', 'http://www.novosite.com');
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:
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:
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.DELETE from wp_comments WHERE comment_approved = '0';
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.SELECT ID, display_name FROM wp_users;
UPDATE wp_posts SET post_author=NOVO_AUTOR_ID WHERE post_author=ANTIGO_AUTOR_ID;
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.UPDATE `wp_users` SET `user_pass` = MD5('PASSWORD') WHERE `wp_users`.`user_login` =`admin` LIMIT 1;DELETE FROM wp_posts WHERE post_type = "revision";
Design actual do blog
Design no qual estive a trabalhar
Olá pessoal ;)
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)
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.
Dêm uma olhada em http://news.maisnetpt.com
Guarde-o com o nome olamundo.html numa pasta temporária (Ambiente de trabalho por exemplo).
Guarde-o no mesmo sítio onde guardou o ficheiro html, como o nome de gadget.xml
%userprofile%\AppData\Local\Microsoft\Windows Sidebar\Gadgets

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!
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 ;)
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! ;)
Copyright © 2008-2009 paulotruta.net | powered by blogger