| Andre's profileFurtaSpace - www.afurtad...PhotosBlogLists | Help |
FurtaSpace - www.afurtado.netA space to discuss (digital) games (development), software engineering, IT trends and career evolution, Imagine Cup and other adventures in the Microsoft world and some indignations (but also some things that make me proud) of a place called Brazil |
|||||||||||||||||||||
|
June 28 Twitter reminderDid you know that:
Those are a sample of tips (plus personal thoughts, opinions and news) I’m sharing on twitter: www.twitter.com/awfurtado. See you there. BR, June 26 Finding bugs through exploratory testing in WolframAlpha[This post is part of a series. To see the previous, click here. To understand the context, click here] The Bing Other release that had some attention in the search area was WolframAlpha. As you might know, while you can use Bing or Google to do some simple computations such as measurements conversions and calculator operations, WolframAlpha is a “computational engine” by default (i.e., it computes your input towards a result rather than searching for web pages). WolframAlpha is cool, giving interesting data as results that Bing and Google do not provide (yet?). Try “Seattle to Recife” there and you will understand what I’m talking about. For example, it can show nice mortgage graphs based on your input (loan amount, interest per year, loan period, etc.). Check it out: As any other Software Development Engineer in Test, I tried running a couple of “unexpected” queries to check out the application behavior. What about a negative value for the total number of years for my loan period? There you go: Effective interest rate is now screwed. Graphs and tables in such a scenario are not good either: data get collapsed to the center of the graph, or $Fail! Since one of the coolest features in WolframAlpha is to combine multiple computations (such as “Weather in Seattle when Obama was born”), let’s go a step beyond and assign the square root of -1 as the total number of years for my loan period: The loan period is now the imaginary number (“i”)! Isn’t it awesome? Only your imagination can tell now when you’ll be done with your mortgage! :) The computation of graphs and other stuff now takes a while and fail as a timeout. Export to PDF feature is also broken. Yay, we found another bug! Fortunately those are minor errors which won’t avoid me from keeping using WolframAlpha. In fact, I’d love to see Bing moving (actually extending) into such a direction, i.e., computational engines. And what about enabling people to add their own computational logic, formulas and conversions to the engine? I mean, creating a computational engine leveraged by the power of Web 2.0? For example, extending Wolfram or Bing towards a universal slang translator? PS: Using imaginary numbers to explore other interesting WolframAlpha scenarios is left as an exercise to the reader. :) BR, The statements or testimonies I offer in this post represent my own personal views. June 22 DSLs: the bad and the uglyThe panel “DSLs: The Good, the Bad and the Ugly” that happened at the OOPSLA 2008 conference discussed the advantages, disadvantages and challenges from the industry and academia on the use of domain-specific languages (DSLs). While the advantages brought by the panelists were somewhat expected (more productivity, more abstraction, etc.), the disadvantages and challenges were quite interesting and not that obvious. Here you can find a compilation of them:
BR, June 01 [old] Microsoft FrontPage Server ExtensionsProblem when deploying a ASP.NET app from Visual Studio: Unable to create the Web site ‘XYZ’. The Web server does not appear to have FrontPage Server Extensions installed. Solution: http://www.rtr.com/fpse/ BR, May 28 VSX 2010VSX (Visual Studio Extensibility) 2010 news follow below. The WPF-empowered extensibility is inspiring… Are you building new tools to simplify your life or change the way people work? Check out the opportunities to create innovative extensions for Visual Studio 2010.
Examples of cool things you can do:
· Overlay rich metadata on top of the editor to bring new information to your fingertips · Develop new project templates to accelerate your work (examples: New Project Dialog) · Create innovative user interface elements using the WPF Shell · Upload your extension to the Visual Studio Gallery (http://visualstudiogallery.com) to find it in the Extension Manager Other things you should know: · With v2 of the Visual Studio Gallery that went live on 5/14, you can use the Extension Manager to find products from the ecosystem from within Visual Studio *(with Beta1, the Extension Manager will only surface extensions posted to the Gallery in the VSIX file format; Beta2 will include the MSI format) · We just released the new SDK along with the new Shell redistributables, look for them at the dev center: http://msdn.com/vsx · If you’re developing extensions for VS 2010, you’ll want to stay tuned to the dev center for more information
Fun things to help you get started – these can be found in the Extension Manager (Tools>Extension Manager): search for Editor Extensions
FAQ:
What is the Extension Manager and how do I find it?
The Extension Manager in Visual Studio enables developers to discover Visual Studio Extensions from within the product itself. It consumes data directly from the Visual Studio Gallery, giving developers direct access to partner and community products that extend and enhance Visual Studio. If you have a free or free trial version of your product hosted on the Visual Studio Gallery, a developer will be able to download and install that product directly from within the IDE. (In Beta1, the in-product experience will show only extensions uploaded as a VSIX. In Beta 2 we will expand the in-product experience to also include extensions uploaded as MSI and reference links to other download sites.) The Extension Manager enables a developer to install, upgrade, uninstall, enable, and disable extensions, making it easier to manage a portfolio of extensions. To find the Extension Manager: Tools>Extension Manager. So this means the Visual Studio Gallery can now host downloads?
Yes, we’re excited to announce that the Visual Studio Gallery can now host your downloads. Keep in mind that at this time the gallery does not include a commerce framework so we recommend creating a free or free trial version of your product that can be hosted on the Visual Studio Gallery. Of course we still support reference links for users who prefer to host their own downloads. What else is new @ the Visual Studio Gallery?
Thanks to some great work by the MSDN team we’ve moved the Visual Studio Gallery to be part of MSDN. Some of the benefits: · The new navigation model supports all types of Visual Studio Extensions and has sections for Tools, Controls, and Templates · The integration with MSDN now gives users a chance to take advantage of a shared profile across all MSDN properties. Contributing to the gallery can enhance your MSDN reputation giving high quality contributors the recognition they deserve. · Visual Studio Gallery contributions offer an optional discussion board to separate your reviews and give contributors an opportunity to post updates, respond to feedback, & discuss bugs. · All entries include a usage chart to give contributors a sense of which of their products are getting the most traffic on the Visual Studio Gallery.
What’s the deal with the VSIX file format I’ve heard about?
Both the new Visual Studio Gallery and the Extension Manager work with .VSIX files, which is a new deployment model for extensions, similar to a renamed .ZIP file. This transition provides Visual Studio users a new low-overhead, reliable way to deploy Visual Studio Extensions. There’s tooling available to help you with this, and you can find instructions and other helpful tips at the Visual Studio Extensibility Dev Center: http://msdn.com/vsx. Questions? Email catherine.crim@microsoft.com BR, May 02 Infected… not by swine flu, but by the Silicon Valley entrepreneurship spiritLast Friday I had the opportunity to present at the Microsoft Imagine Cup Innovation Accelerator Workshop, in Mountain View, CA. The presentation was related to insights and experiences, as a former Imagine Cup competitor and short-experienced entrepreneur, on what make profitable business and innovative people. The audience was the Imagine Cup 2008 winning teams, who are now changing their focus from the prototypes created during the competition to the establishment of real business aimed at the market. The best moment of the day was at the final presentations the teams did to a board of real angel investors and venture capitalists. I was able to learn a lot from the investors and VCs, in the context of startups looking for capital to start their business. The major takeaways were:
BR, The statements or testimonies I offer in this post represent my own personal views. April 25 Send your name to Mars through NASA / Mande seu nome para Marte pela NASAThis link enables you to add your name (along with thousand others, of course) to a microchip that will be sent to Mars. What for? No idea. Probably to market NASA’s expeditions and improve how society perceives them. ----- Este link permite que você adicione seu nome (junto a milhares de outros, claro) a um microchip que será enviado a Marte. Para quê? Não faço idéia. Provavelmente para fazer um marketing das expedições da NASA e melhorar a percepção deles pela sociedade. BR, April 22 Brazil from America’s eye – random thoughtsThis article from Newsweek touches with a couple of new insights the outworn topic “Brazil: the country of the future”, which I (should I say every Brazilian?) got to know since the very first moment I was able to understand Portuguese. I’d like to discuss a recurrent thing. It’s said there, in the article: “Brazil's power derives not from guns but from its immense store of natural resources, including oil and gas, metals, soybeans and beef—and it has become a key supplier of markets in Asia and closer to home.” If we have handful natural resources in a peaceful environment, why aren’t the benefits of this advantage enough to invest and harvest the most important resource ever: people? It’s ironic our culture is so well-know for being creative, but at the same time “Brazil’s power” does not derive from entrepreneurship, technology and creativity. For instance, the job of the dreams for the (majority of?) average Brazilian student is to apply for, and be approved in, public initiative (government) positions, which has an awesome cost-benefit (worked hours X wages earned). Stability wins; taking risks to make a change, doesn’t. The article can praise the Brazilian government and its external politics, but there’s still too much internal homework to be done, especially in the most impactful social area: base education, which is the ultimate investment a nation can do to spin-off the poor towards enough knowledge to enable autonomy and independence from any short-term economical incentives. And, of course, to create the entrepreneurs of the (country of the) future. BR, The statements or testimonies I offer in this post represent my own personal views. April 11 [echo] I’m a PC and I’m 4 and a halfIn short: a cute little asian(-ish) girl has much more expressive marketing power than Jerry Seinfeld…
It seems MS is finally finding its way through the ads. The I’m a PC campaign is receiving good feedback, specially its last reincarnation, “The Laptop Hunters”.
BR, April 05 The day my laptop exploded - outcomesAbout seven months ago I blogged about a laptop of mine whose brand new battery simply exploded. It caught on fire and made my old Toshiba A75 to become a chemical weapon. Last week, seven months later (better late than never!), I got in my mail a $500 check from the battery manufacturer. That should be enough to cover the 4 year old laptop, the new acquired battery and costs for shipping the laptop back to the manufacturer. Happy ending? I’d say so, if it didn’t involve taking risks to injure one’s body parts and put one’s house on fire. BTW, do you backup your stuff regularly? BR, April 03 Managing permissions for “Everyone” in SharePointJust documenting something useful here: I was wondering what is the SharePoint equivalent for Active Directory’s “Everyone” users, so that I could apply permissions for a SharePoint list or survey to all users of my intranet. The answer seems to be: NT AUTHORITY\Authenticated Users. BR, March 22 Essential facts about digital games industry – 2008 report / Fatos essenciais sobre a indústria de jogos digitais – relatório de 2008[versão em português abaixo] I just came through the Entertainment Software Association (ESA) Essential Facts 2008 report for digital games. I believe it was released months ago; anyway, a couple of things caught my eyes:
Meanwhile, the news tell that the game industry growth has reduced but not stopped, even with the current economical crisis. BR, ---------------------------------------------------------------------------------------------------------- Esbarrei com a edição de 2008 do relatório de fatos essenciais de jogos digitais da Entertainment Software Association (ESA). Acho que ele foi lançado há meses atrás; mesmo assim, algumas coisas me chamaram a atenção:
Enquanto isso, as notícias dizem que o crescimento da a indústria de jogos diminuiu mas não parou, mesmo com a crise econômica atual. []s March 20 [echo] 3D Immersive Xbox games? / Jogos Xbox imersivos 3D?[versão em português abaixo] Speaking about gestures, something interesting was reported here. It’s suspected that Microsoft might acquire a technology to enable immersive 3D games, without the need of any device at all. It seems some envisioned scenarios for the future of game development are coming faster than expected… PS: hope that becomes available to XNA game developers as well! ----------------------- Falando sobre gestures, algo interessante foi reportado aqui. Suspeita-se que a Microsoft está para adquirir uma tecnologia que permite uma imersão 3D em jogos, sem a necessidade de qualquer dispositivo. Parece que alguns cenários vislumbrados para o futuro do desenvolvimento de jogos estão chegando mais rápido do que o esperado… PS: espero que esteja disponível também para desenvolvedores XNA! BR, March 13 [echo] Unveiling the sixth sense / Revelando o sexto sentido(versão em Português abaixo) Since Minority Report, the concept of “gestures” has taken UIs to the next level. While gestures are already enabled today in software by frameworks such as WPF, the presentation below shows we’re not too far away from turning such a thing into more integrated day-by-day experiences, such as taking a picture.
Desde o Minitory Report, o conceito de “gestures” tem levado interfaces para o próximo nível. Se por um lado frameworks como o WPF já nos permitem aplicar gestures em software, a apresentação acima indica que não estamos tão longe de transformar isso em experiências mais integradas do nosso dia-a-dia, como tirar uma foto, por exemplo. BR, March 07 2019 vision: what about games?The video below, from Office Labs, has been published all around the blogosphere. It shows Office Labs vision for 2019.
I identified lots of my own needs there, such as receiving the best route to go through in a supermarket, according to the shopping list for that week, or having a consolidated result of your sports activities. And the most evident thing in the video is the digital convergence: the “anytime, anywhere” vision is realized by integrated, connected but independent set of devices, probably syncing everything from the cloud. However, an interesting point hit me: where are digital games there? What will be the future of digital games, 10 years from now? If the video does not provide any clue, here you have my feelings about that: 1. Game-empowered education. the fact is: today’s academic content delivery, either in schools or universities, is nothing else than boring. Extra-boring. The model we use today to transfer knowledge to students are not even close to exciting. On the very other end, nothing else made me love History more than one single game: Civilization! Since Civ I, I used to read History books as if our history were only one instance of a Civilization match, and used to know about cities, facts, technologies, leaders and lots of things in advance before ever touching a book. Thanks, Civilopedia! And it doesn’t stop here. From Spelling Blizzard to Ninja Gaiden old-fashioned dialogs, games are the best reinforcement classes someone can have when learning English as a second language. I remember a specific English class where the sports vocabulary was being taught. Piece of cake! And I have no doubt that games teach you to be a better person. More than quick reactions, they elaborate your judgment skills, make you to learn from your fears, to get confidence, to learn lessons when defeated. And finally, they can drive your professional goals. I myself decided to do Computer Science because of them. Some years ago, I was thinking about what a wasted amount of time I had in my life playing too much videogames. But today, hold on a second: I actually benefited a lot from that. Ok, I could have played a little bit less, but the general balance is still extremely positive. So it’s unbelievable how people can’t see the great potential games have in education. If I run a school, my first idea would be to implement a game-empowered curriculum for all disciplines. Lots of thoughts is currently being put on the subject, but there’s still a huge room to explore. How much of geography can someone learn playing War? How much of Biology can one learn playing an adventure game inside the human body? How much of Physics can someone learn playing TIM (The Incredible Machine)? And I’m just giving examples of games whose primary goal is not even education! So for 2019 I truly expect games to be much more connected to education, our eyes should definitively open to that. Will this work for every person in the world? Of course not! But will help lots of people, and I’m pretty sure those who do not like videogames will still prefer to learn from them rather than a text book. 2. Player interaction onto the next level: Wii innovated with a new controller. Live Vision (for Xbox 360) innovated with cool new ways to insert the player into the game (picture below). Space War Mission Commando (video below) innovated by bringing voice commands to the XNA world:
So what’s next? Brain waves! Some studies have already started, and players can move their entities around the game world using only the power of their brains. Can you imagine how this will include mobility impaired people into the game development world? And that’s not only about input. Output may get much richer as well. Imagine every house having an “entertainment room”, where holograms and other kind of stuff is created dynamically to empower your game playing experience. 3. Gaming everywhere. You’re in the cinema. Some trailers are played in the screen. But then, wait: an interactive trailer! Grab your joystick from your seat, then play a casual mini-MMORPG against your cinema counterparts. The trailer associated to the winning team gets played. Or imagine you are in the break of a soccer game. Grab your phone, log in, then play a virtual match against people supporting the other team, joining rooms of 10 people at most. The final game scores will count to the virtual soccer championship. Finally, you probably know of some toilets for men that display an insect, such as a fly, painted or carved in there for you to not miss your target. Forget about that. Future “pee games” will be much more interactive. Much more interesting challenges and quick puzzles will be there for you to solve. Your score and name will be properly registered and you will be able to compete online against people in other booths. That’s a pity women will have hard times competing against man here, though :) 4. Altered Reality Games (ARG) reloaded. Man, how I loved the movie “The Game”, with Michael Douglas… his life was boring, then he hired a company to make it more interesting. Then [warning, movie spoiler to follow!] a game was implanted in his life to shake it a little bit, and he was not even aware about that! I believe that such experiences will be much more common in the future: want to get a discount in a restaurant? Play and win their ARG game of the month. Is something weird happening around? That might be an advertisement disguised as a game. And, linked to discussion #2, digital games will really go beyond your monitor or TV. We can already see today some location-based games: you’re walking in the street, an enemy is in the next corner. The cell phones of both of you ring, then you start to fight against it other. If you are running out of hit points, just run away to get out of his range and save some points for your guild! 5. Digital gaming convergence. Probably not applicable to every type of game here, but this will allow you to pause your game in the train (played in a portable device), then resume it from your couch (in your Xbox 720). 6. The “Extended Pandora” gaming experience. This will probably be achieved in much less than 10 years. You will be offered games and demos based not only on your personal preferences and gaming history, but the suggestion algorithm will take lots of your social network into account. 7. Innovative Game Design. Cursor*10 and Braid presented some awesome new gameplay experience, in which time is just another element there to be played with. And those are simple 2D games. It’s good to know that game design is well and live, with more possibilities to come. Alright, those thoughts were my initial contribution to the topic. How do you think games will change 10 years from now? BR, The statements or testimonies I offer in this post represent my own personal views. March 03 SharpLudus v0.2 released: XNA shakes hands with model-driven development[versão em português abaixo] Today I’m officially announcing the release of a SharpLudus version that enables an end-to-end development experience, supported by visual modeling, to the creation of XNA games. SharpLudus v0.2 presents the Game Definition DSL (domain-specific language), in which you can model your game screens along with other game properties in Visual Studio, and then generate XNA code integrated with the FlatRedBall game engine. Check this video here to get a feeling on the game developer/designer experience:
Relevant links: Happy gaming! The statements or testimonies I offer in this post represent my own personal views. ----------------------------------------------------------------------------------------------------------------- SharpLudus v0.2 lançado: o XNA aperta as mãos do model-driven development Hoje estou anunciando oficialmente o lançamento de uma versão do SharpLudus que permite uma experiência de desenvolvimento de ponta a ponta, apoiada por modelagem visual, para a criação de jogos XNA. O SharpLudus v0.2 apresenta a Game Definition DSL (linguagem de domínio específico), na qual você pode modelar no Visual Studio as telas do jogos e outras propriedades. Em seguida, você pode gerar código XNA integrado com o motor de jogos FlatRedBall. Confira este vídeo aqui para entender a experiência do desenvolvedor/designer de jogos utilizando o SharpLudus:
Links relevantes: Jogar bem!
Os relatos e opiniões deste post apresentam pontos de vista pessoais, February 28 [DSL Tools] VS package load failure? Look for corrupted .prf files!
For a Visual Studio package developer, one of the most frustrating error messages is the Package Load Failure, that tells that your VS Package was unable to load in the IDE. For some of my projects, including the FeatureModelDSL, I was able to notice that the root cause of such an error was the eventual corruption of the windows.prf file under C:\Documents and Settings\username\Application Data\Microsoft\VisualStudio\9.0\. Deleting this file (so that it can be automatically re-generated by Visual Studio) makes the package work again. I’m suspecting a custom toolwindow I have created for such a package might be causing the corruption. To be investigated… BR, Exporting a XNA Project as a Project Template
A XNA project contains a nested project: the Content project. If you export your game as a Visual Studio project template, unfortunately such nested Content project doesn’t get exported by default as well. Therefore, when you create project instances based on your template, the Content stuff is not loaded. Unless… you do this awesome hacking over here! Kudos for those who published it! BR, February 26 [DSL Tools] How to handle a model (diagram) Load event
Suppose you have a domain concept (class) with a Namespace property, which will be used in code generation. It would be cool if such a property was automatically filled with the value of the project root namespace when the model (diagram) is loaded for the first time, wouldn’t it? So how to handle the model Load event? The trick is to add a partial <DslName>DocData class to your project, then override the OnDocumentLoaded method. From there, you can get the this.RootElement property and cast it to your root model element. For instance, that’s exactly how I’m doing with my GameDefinitionDSL (yet to be released): internal partial class GameDefinitionDSLDocData This approach follows the “Convention over Configuration” design paradigm, setting an appropriate default value for the game namespace, that can still be modified by the user later. BR, February 22 Input Mapping DSL: add input mappings to your XNA/FlatRedBall game[Input Mapping DSL: adicione mapeamentos de entrada para seu jogo XNA/FlatRedBall] The SharpLudus project bits are finally getting ironed to release. The ArcadEx game factory, under development, is one of the factories created as part of the project, and it’s focused on streamlining the creation of arcade games in XNA. As a software factory, it provides (visual) languages, code generators, frameworks and tools to improve the development experience. Many of its assets are built atop the FlatRedBall game engine. The first announcement for ArcadEx is the Input Mapping DSL (domain-specific language), a visual designer and code generator integrated into Visual Studio the help you to add to your XNA/FlatRedBall game, very easily, mappings from a Xbox360 controller to the keyboard. In other words, if any of the players does not have a Xbox360 controller available, you will still be able to handle their input from the keyboard, while still programming against the controller buttons. Simplifies your code; saves you time. The input mapping does the magic for you. The project is also a nice example on how to replace the default DSL designer by a custom designer in the Microsoft DSL Tools. PS: the project is open source, and the code is also available. Feedback is always welcome. Thanks! The statements or testimonies I offer in this post represent my own personal views. English - Portuguese February 21 Programmatically checking valid identifiers
Have a string and need to check if it’s a valid C# identifier (to use as a method name in code generation, for example)? Try this code:
I recommend checking other useful methods of the CodeDomProvider class as well. BR, February 19 [echo post] Mobile phone with a built-in projector
Not bad to have a projector in your pocket! (wait until the end of the video)
More here. BR, February 18 SharpGames mini-game competition
Friends from SharpGames (the Brazilian XNA games community) just released a video with the games that were submitted for the mini-games challenge. All games have less than 100 lines of code, and that makes some of them really impressive!
It’s at least 10 times less source lines of code than the first game I’ve ever created in my life: Alien Attack, 10 years ago, in C programming language. BR, December 06 Live Groups
MSN Groups used to be one of the Microsoft services I less enjoyed... they were bureaucratic to set up and e-mail messages exchanged between group members were either full of needless HTML content (lots of tables and links) or weird plain text messages with lots of tags. That led me to other options such as Yahoo Groups or Google Groups. This week, however, Live Groups was just released. And they seem to be promising! Microsoft realized the potential that its broad Live Messenger community has to be the foundation of social apps (Guy Kawasaki said this to Ballmer before) and the Live Groups service is much more integrated to other apps and intuitive to use than MSN Groups. Some features I was able to notice include:
Let's keep an eye on it! []s, The statements or testimonies I offer in this post represent my own personal views. English - Portuguese
|
|
|||||||||||||||||||
|
|