thegoodfellas/blogset-br huggingface dataset:
Oi gente,eu nao morri, rsrsrsrs! Peco desculpas por ficar mil anos sem postar um simples "oi", mas o tempo andou realmente muito curto! Tenho 20 minutos para fazer a postagem no blog, arrumar meu quarto e ir pro ccaa... so to passando pra dizer que to bem e que em breve darei noticias do que esta acontecendo, sao muuuuuitas coisas, aguardem! Beijos e abracos!Jeff Entre muitos mitos e contradicoes descobri finalmente que o Au Pair nao e um programa exclusivo para mulheres, homens tambem podem ser um Au Pair... e indescritivel o sentimento de esperanca que reina dentro de mim neste momento, parece que a bateria que descarregada se encontrava levou um booom e foi ao super download! Enfim, postarei aqui todos as minhas conquistas, vitorias e frustacoes tambem, e claro. A Batalha acaba de ser iniciada, vamos correr contra o tempo, afinal ainda tenho muitas coisas para organizar em minha vida... ate os 18 anos eu consigo. Bjs pra quem e bj e abraco pra quem e abc... SimboooraCya! Uma das primeiras exigencias para ser um "male au pair" e ter experiencia profissional com criancas e por como um milagre eu consegui! Consegui meu primeiro emprego na escola onde estudo com mais 2 amigos (Artur e Olivia). Esta sendo simplesmente fascinante, as criancas sao little angels (666) rsrsrs, mas realmente estou curtindo muito, espero que tudo continue tao perfeito. Aahh esqueci de dizer o que eu faco ne, rsrs, bem eu fico na sala de aula com a professora(o) e fico a disposicao para qualquer coisa que ela necessite (corrigir cadernos, levar ao banheiro, brincar, brigar). Estou com pouquissimo tempo como sempre, mas voltarei para dizer como andam as pesquisas de agencia e as novidades no novo emprego. P.S.: Artur e Olivia, please, sejam Au Pair tbm, rsrsrs beijos e abracos! Ate mais galera! Ola amigos leitores, tudo bem? kkkkkkkkkkkkkkkk (Me senti por 0,2 milesimos de segundo o Paulo Coelho, rsrs zoa') Bem peco desculpas por ficar muito tempo sem postar noticias, mas tive uma causa justa e ainda a tenho, deixa-me explicar: Viajei de ultima hora e esqueci meu computador em casa, que sorte ne? rsrsrs! Tenho pouco tempo para explicar tudo, so sei que estou amando tudo!!! Todas as noites visito Buzios com uma galerinha e e ai que surgiu o titulo "This is the way"... Buzios e uma cidade encantadora... Muitos absoluts (ops isso nao vem ao caso, rsrs) e 70% dos visitantes sao de destino Internacional... Voce quase nao ouve portugues e foi onde eu conheci uma americana de Seattle, chamada Lennie... conversamos a noite toda (o resto nao importa, kkkkk) e disse pra ela das minhas metas e ela disse: Jeff this is the way, your english is astonishing, keep this up! Gente quase morri e ainda estou in touch com ela e outros... Quando voltar pra casa explico melhor essa confusao toda!!! Beijos e abracos pra todos... Jeff Oi Gente...To saindo agora de casa (05:48), meu pai ja esta buzinando desesperado... Estou indo comprar o livro do TOEFL... uma das primeiras etapas para ser um
Ola amigos, tudo bem?Bem, acabei de receber o segundo e-mail de uma das agencias que andei pesquisando! Olhei por auto pois estava um pouco ocupado mas achei muitas coisas interessantes mas ainda prefiro a primeira empresa (SIS Exchanges) mas ainda nao posso confirmar nada porque nao tenho total certeza... vou ler e confeirir os dados com calma e aviso voces sobre minhas conclusoesBjos e abracos, na paaaz... Jefferson Rios (Jeff) Ola amigos, tudo bem?Bem na verdade Joanna Verhees nao e o nome de nenhum bloco carnavalesco, Joanna foi um angel que eu conheci pela internet! Ela e britanica e mora Newark, e simplesmente fantastica, foi host mother durante 30 anos pela EF e agora ajuda estrangeiros (principalmente Iranianos) a melhorar suas tecnicas na lingua inglesa! Nada animador ne? HAHAHAHA, ela esta ajudando a aprimorar minha pronuncia e a encurtar o tempo de raciocinio para minhas respostas! Ela quer por que quer que eu faca o exame de Cambridge tambem pois disse que eu sou um "speacial guy" hahaha... E sempre me diz: "Jeff you have to get an A on TOEFL test, if not I'll kill yourself, lol". Enfim, passarei meu Carnaval conversando com a Joanna, tudo isso pelo sonho do Au Pair... Mas vale a pena... Bjos e abracos,Jeff Faltando pouco menos que 1000 dias para o inicio do meu Au Pair ja tive minha primeira insonia, deixe-me explicar como aconteceu: Eu estava vendo informacoes sobre o Au Pair em diversas empresas que aceitavam "male" e fui me empolgando, ficando ansioso e quando olhei para o relogio, era exatamente 03:45 da manha e entao decidi ficar mais um pouco ja que estava tao tarde e essa brincadeirinha foi terminar as 06:00 da manha, ja dia! Quando fui para a cama cade o sono que nao vinha? Quando consegui dormir ja era por volta das 07:30 e as 08:00 minha mae me chamou para o cafe e sonhando acordado eu a respondi: "Isn't it snowing mum?"... E, infelizmente foi so um sonho, que um dia com a absoluta certeza sera realidade!P.S: Pesquisei diversas empresas e por enquanto a mais certa e atenciosa esta sendo a SIS Exchanges! Por favor, quem tiver qualquer noticias nao deixe de me notificar!Bjos e abracosJeff! Tutorial bacana demais sobre a implementacao de mecanicas de jogos (como andar e pular, lancamento de misseis, flocking, etc). O Qt tem muita coisa bacana, e a documentacao e bem completa e util. Mas as vezes e bem dificil descobrir como se faz algo "simples". Dessa vez eu estava tentando capturar o evento de rolagem do mouse (a "rodinha" ou mouse wheel) para permitir ao usuario efetuar zoom na imagem em exibicao. A organizacao visual e de fato simples: eu tenho um componente (widget) customizado que contem uma QScrollArea e dentro dela uma QLabel com a imagem.O problema e que o QScrollArea ja captura e trata esse evento do mouse: ele usa pra rolar tanto vertical (a rodinha do mouse usada sozinha) como horizontalmente (a rodinha do mouse usada quando a tecla Alt esta pressionada) quando a imagem e maior do que
a area de visualizacao. E entao, ele simplesmente nao repassa o evento para que ele possa ser capturado pelo componente externo. Tambem nao ha nenhum sinal que possa ser conectado a um metodo para fazer isso.Afortunadamente, eu encontrei essa postagem muito bacana que sugere o uso de filtros de evento para fazer justamente isso: fazer com que o QScrollArea simplesmente nao receba o evento, que assim nao vai ser tratado e continuara a ser encaminhado ate o componente mais externo. Bom, eu nao queria ter que reimplementar todo o tratamento de rolagem ja muito bem realizado pelo QScrollArea, entao eu usei o metodo QApplication::keyboardModifiers() para ignorar o evento apenas quando a tecla Ctrl estiver pressionada (pois ai sim eu aplicarei o zoom intencionado).Eis o exemplo de codigo:// +-----------------------------------------------------------ChildWindow::ChildWindow(QWidget* pParent) : QWidget(pParent){. . . // Make the scroll ignore the mouse wheel events // (they will be handled at this class scope). m_pScrollArea->viewport()->installEventFilter(this);. . .}// +-----------------------------------------------------------bool ChildWindow::eventFilter(QObject *pObject, QEvent *pEvent){ // Ignore the mouse wheel events if the Ctrl key is pressed bool bCtrl = QApplication::keyboardModifiers() & Qt::ControlModifier; if(pEvent->type() == QEvent::Wheel && bCtrl) { pEvent->ignore(); return true; } return false;}// +-----------------------------------------------------------void f3::ChildWindow::wheelEvent(QWheelEvent *pEvent){ QPoint oPixels = pEvent->pixelDelta(); QPoint oDegrees = pEvent->angleDelta() / 8; QPoint oSteps = oDegrees / 15; QPoint oDelta = !oPixels.isNull() ? oPixels : oDegrees; // Scale the image based on the wheel delta scaleImageBy(oDelta); pEvent->accept();}
Se voce tambem precisa converter algum video (no meu caso, a necessidade decorre do fato do meu equipamento multimidia ser um tanto antigo e so aceitar o formato AVI), precisa conhecer a ferramenta FFmpeg. Trata-se de um aplicativo de codigo aberto, disponivel para multiplas plataformas, e que permite fazer inumeras coisas bacanas - entre elas converter rapidamente e com qualidade entre varios formatos de arquivos de video.Esse aplicativo e de execucao em linha de comando, e sua sintaxe basica e a seguinte:> ffmpeg -i input.mp4 output.aviCom essa chamada, ele converte automaticamente o arquivo de entrada "input.mp4" no arquivo de saida "output.avi", por exemplo. Acontece que se voce trabalha com Windows e pouco provavel que esteja acostumado a usar a linha de comando para executar suas tarefas. Por isso, eu bolei uma alternativa pratica para executar essa conversao diretamente do Windows Explorer com dois cliques do mouse sobre o arquivo desejado.1. O primeiro passo e, naturalmente, baixar o FFmpeg (se voce ainda nao o fez). Descompacte o arquivo baixado em algum diretorio de sua escolha. No meu caso, eu descompactei para o diretorio "C:\ffmpeg\".2. Entao, crie um arquivo de lote (batch) com o nome que preferir. Ele sera utilizado para converter um video em qualquer formato para um unico formato especificado. Eu o nomei "convert-to-avi.bat", porque ele sera usado para converter qualquer video para o formato AVI. O arquivo pode ser criado em qualquer diretorio que preferir, mas eu optei por criar dentro do diretorio do FFmpeg.Inclua nesse arquivo os seguintes comandos (sao duas linhas de texto, uma com o comando "@echo [...]" e outra com o comando "for [...]" - ou seja, nao ha quebra na segunda linha!):@echo offfor %%f in (%1) do C:\ffmpeg\bin\ffmpeg -i %1 -qscale 1 "%%~df%%~pf%%~nf.avi"O que esse codigo faz e simplesmente executar o FFmpeg usando como arquivo de entrada o parametro recebido pelo arquivo de lote (a variavel "%1"). O comando "for" e utilizado apenas como um truque para permitir facilmente trocar a extensao do arquivo para ".avi" mantendo todo o resto (e ele faz isso usando os parametros "%%~df" para a letra do drive, "%%~pf" para o diretorio do arquivo e "%%~nf" para o nome do arquivo sem extensao). Eu adicionei a chamada do FFmpeg o parametro "-qscale 1" para garantir qualidade total na conversao do video.3. A partir de entao voce pode executar a conversao na linha de comando simplesmente fazendo, por exemplo:> convert-to-avi input.mp4Isto gerara automaticamente o arquivo "input.avi" (mesmo nome, mas extensao e, claro, formato diferentes).4. So que a ideia e nao precisar usar a linha de comando. Entao, o proximo passo e alterar o registro para que uma nova opcao seja adicionada ao menu de contexto do Windows Explorer (o menu acionado com o clique com o botao direito do mouse sobre um arquivo). Para isso, abra o editor do registro com o seguinte comando:> regeditDentro do no "HKEY_CLASSES_ROOT", procure pela chave da extensao do formato de arquivo de video para o qual deseja criar a nova opcao. Voce precisara reproduzir esses passos para os demais formatos, mas vamos considerar primeiro, por exemplo,
a extensao ".mp4". Ao encontrar essa chave, expanda e anote (pode ser mentalmente! :) voce vai usar esse valor logo a seguir) o conteudo da variavel padrao (ou default, se o seu Windows estiver em ingles). Por exemplo:4.1. Entao, no mesmo no, mais abaixo, procure pela chave com esse nome. Expanda e crie, dentro da subchave "Shell", uma nova chave com o nome que desejar. Note que esse nome sera o texto exibido no item do menu, quando voce efetuar o clique com o botao direito do mouse sobre um arquivo desse formato/extensao. Dentro dessa nova chave com o nome desejado para o novo comando, crie uma nova chave com o nome "command" (o nome deve ser exatamente esse!). Entao, adicione ao valor da variavel padrao o seguinte conteudo:C:\\ffmpeg\\convert-to-avi.bat "%1"ERRATA: Na imagem acima o comando nao tem as aspas ao redor do parametro "%1". Elas sao importantes para nao ocorrer erros com arquivos contendo espacos no nome. O caminho e nome do arquivo de lote deve ser o que voce utilizou. Se voce nao seguiu o meu exemplo (criar o arquivo na mesma pasta do FFmpeg e chama-lo de "convert-to-avi.bat"), voce precisara alterar de acordo. Note porem que as duplas barras sao necessarias para separar subdiretorios. O valor "%1" simplesmente passa como parametro para o arquivo de lote o nome completo (caminho + nome) do arquivo selecionado.Pronto!O novo comando aparece imediatamente. Basta selecionar um arquivo de video (no exemplo, com o formato e extensao ".mp4") e clicar com o botao direito do mouse. Sera apresentado o novo comando no menu de contexto:Ao selecionar esse comando, uma janela do prompt de comando sera aberta e a execucao do FFmpeg sera iniciada:Apesar do FFmpeg ter um desempenho muito bom, o processo leva alguns bons minutos, dependendo do tamanho do arquivo. Eu testei com um video de 20 minutos de duracao com 209 Megabytes e o processamento durou aproximadamente 1 minuto. O tamanho do arquivo produzido tambem depende do formato escolhido:O FFmpeg "adivinha" o formato dos arquivos pela extensao utilizada, mas ha parametros para forcar um formato desejado. Consulte a documentacao da ferramenta. Por fim, note que voce precisara repetir os passos 4 e 4.1 para outros formatos (se quiser ter o mesmo comando disponivel tambem para arquivos com extensao ".mkv", por exemplo). Voce pode criar outros arquivos de lote especificos para converter para outros formatos, ou, se estiver se sentindo apto, modificar o codigo para utilizar um segundo parametro que define o formato final desejado.E e isso ai. Espero que seja util pra mais alguem alem de mim. :):wq
Artigo fantastico do blog de Radek Koncewicz sobre as diferentes formas de projecao (desenho) em Videogames. Inclui projecao ortografica (trimetrica, dimetrica e isometrica), obliqua e em perspectiva.Link para o original aqui.Reproducao:A Laymans Guide to Projection in VideogamesOftentimes when a videogame has a skewed, overhead point of view, we call it isometric. Thats rarely the accurate term, though, and its not just pointless semantics.Although Echochrome uses a single projection type, its gameplay is based on constantly rotating and morphing its 3D structures. With each new view, the physical architecture of the level changes to reflect what the player sees on the screen.Projection basically means taking a three dimensional object and displaying it on a 2D plane (i.e., a screen). There are various ways of accomplishing this, and each technique has a deep impact on a games look and mechanics. The advent of 3D games and free-floating cameras somewhat lessened this role, but being aware of the pros and cons of each projection type is still applicable to both 2D and 3D titles.So what exactly are these projection types? Well, lets take a look:1). Orthographic ProjectionOrthographic projection relies on a lack of perspective and a consistent relationship between its axes. What this basically means is that things dont recede (i.e., get smaller) as they get closer to the horizon because, well, there is no real horizon. Also, the ratios with which the axes (x, y, and z) are foreshortened and rotated are consistent across the board.The side, top-down, and birds eye Orthographic views, with some faking. For example in a proper Orthographic view, those clouds in Marios level would be displayed at the same scale as the foreground objects, filling the entire background.Top-down views tend to look a little awkward rendering pyramid-shaped structures.A side-view Orthographic projection is often simulated in platforming games, showing a scene as viewed through the players eyes. Moving the camera up a little and slightly pointing it down gives us the top-down view, and moving it all the way over the player characters head results in a birds eye view.These views are pretty prevalent in 2D games, especially since so many of them rely on blocky tiles, but they usually end up breaking a few projection rules. This is done in order to add variety and the illusion of depth without the use of scaling (a computationally expensive process by which sprites are shrunk or enlarged).It could be argued that a top-down view is 3D, but its height (y-axis) and depth (z-axis) occupy the same space. This type of view also fails to fully display three sides of a box, which can be easily accomplished by rotating the camera to the side and creating an Axonometric projection.Stolen from Wikipedia, this is a comparison of the three Axonometric projections. The degrees indicate the angles between the axes, while the percentages are the shortened lengths of the sides (e.g., 82% means that the dimension is displayed at 82 percent of its actual size).Axonometric projections are pictorials, which basically means that they try to show all three dimensions of an object. There are
three basic types of Axonometric projection, and the easiest way to tell them apart is to draw a circle around the corner of a cube where the three axes meet. This will give us the three angles between the axes, which, in turn, can be used to identify the projection type.The classic flaw in using Axonometric projection.Axonometric projections is not how a human eye functions, though, which is why using it presents a few issues. Namely, the depth and elevation of a landscape can blend together. Still, any rough edges can be smoothed over art/level design can prevent architecture from wrapping around on itself and the end result is often fairly intuitive.In a way, these workarounds are almost a shame as Axonometric projections allow for the creation of layouts that could not possibly exist in real life, but only a handful of videogames have taken advantage of this concept. Ironically, games often strive for a unique style and hook, so its surprising that so few of them have tried to emulate M. C. Eschers paintings for aesthetic and gameplay purposes, but I digress.Heres an overview of the three types of Axonometric projection:IsometricIn an Isometric view, the scale of all three dimensions x, y and z is identical, and the angle between each axis is 120 degrees. A cube projected isometrically will retain its proportions, meaning that its width, height and length will be of identical size. Also, all three faces of the cube will contain the same surface area.This is actually a lot harder to do on a computer than one might think. Raster-based screen displays tend to use square pixels, but only rectangular ones are inherently suitable for drawing angles that are multiples of 30 degress. A line drawn at a 30 degree angle has a 2:1 ratio between its width and height. However, drawing this line pixel by pixel, 2 pixels to the right and 1 pixel up, will not result in a 30 degree angle. High resolutions and anti-aliasing overcome this limitation by slightly distorting the line, but older games didnt have that luxury. Instead, they used Dimetric projection.A 2:1 dimetrically projected cube superimposed over a grid.DimetricA Dimetric view is very similar to an isometric one, except its a bit more loose with its restrictions. Only two axes must be proportionally foreshortened and result in an identical angle (doesnt really matter what the value of this angle is), while the third one is simply based on the remainder. This is the projection type thats most often used in videogames and pixel art.Although Dimetric projection allows for various combinations of angles, the most common one is, roughly, 26.5 degrees from the horizontal plane. The reason for this is that it represents a neat 2:1 ratio for every two horizontal pixels, we draw a vertical one. This makes it very easy to keep track of proportions and align objects.Head Over Heels, Landstalker, and Equinox three classic Dimetric titles.TrimetricA Trimetric view retains the sense of symmetry found in Isometric and Dimetric projections, but its a bit more stylized. The angles between all
Perspective illustrations for their backgrounds. These were usually all drawn using the same point of view, which made the scaling of characters a lot easier to estimate, i.e., the characters usually got smaller at the top of the screen, and larger at its bottom. Now this technique can easily create some visual oddities, but the low resolutions and consistent scaling factors kept em to a minimum.Games like Grim Fandango and Resident Evil eventually took static views to another level with the implementation of fixed 3D. In fixed 3D, the backgrounds could represent an area viewed from any vantage point, and the entities it contained would be scaled according to its geometry.Older vector-based games like Battlezone also used Perspective projection, but these were visually quite simplistic. It wasnt until the advent of 3D games that Perspective projection became popular. These days a large proportion of games are 3D, and nearly all of them employ this technique. Of course all games use drastically different models, textures, shaders, etc., but various aspects of Perspective projection can still play a role in their overall look (namely the field of view,which Ive mentioned before).As a final point, despite its prevalence, Perspective projection is still just a projection, and, as such, is subject to certain flaws.All six of these popular games use Perspective projection.Although all 3D games use some type of projection, shoehorning 2D games into these definitions is is a bit trickier. For starters, 2D games are rarely based on actual projections of three dimensional areas. Instead, theyre artistic renditions, and as such are subject to artistic interpretation. Birds eye view games tend to fake perspective especially on characters to add detail and personality, while side-scrollers often use an Orthographic projection for the foregrounds and Perspective illustrations for the backgrounds (much like a certain M. C. Escher print).Earthworm Jim, Axelay and A Link To the Past all combined and twisted projection types and views.Following strict rules of projection isnt necessary for making a good looking game, but it helps. It can also inspire some integral gameplay elements, e.g., Crush, Super Paper Mario, and the upcoming Fez.The well isnt even close to being dry, either. Some types of projection like Reverse Perspective and Anamorphichavent been used in games yet (at least not to my knowledge), and there are plenty of optical illusions and curiosities that could form the basis of some very interesting gameplay elements. Its a field thats still largely unexplored in videogames, and its ripe for plundering.