
Check it out at Google Code: http://code.google.com/p/text-adventures-s
IMPORTANT NOTICE: the source code for this project in nowhere near the best I've written, hehehe, the context of it was very interesting and demands another post, nevertheless I had a lot of fun writing it (most of the time, hehe).
And if you still have the time, check my other project: LJColligo, that makes backups of your LiveJournal blogs creating full static copies of it in HTML.
PS: Rafael Naufal had his project added on Softpedia some weeks ago also.
A friend of mine has recently called Google Wave a simple chat app with no innovation whatsoever, well this are my first impressions about it (after reading and even using it! hehe):
A Google Wave is a centralized document (in opposition to the emails) that can be
• edited simultaneously with several invitees,
• using formatted text, images, videos, maps
• (even small applications can be embedded).
• this content can have attached to it a conversation between the guests
• where each reply can be edited:
• using formatted text, images, videos, maps
• (even small applications can be embedded);
• (and Google Gadgets have a safe home here too).
• using a standard reply or from the middle of the content;
• The Wave updates are shown live to all invitees, as they type.
• The History of all updates is save so late comers can be sent "There and Back Again..." to the future :-)
• You can attach files, save searches, organize your Waves with tags and folders;
• Wave content understands youtube links, google maps
and I hope more text formatting tools in the future :-)
(just a bit more...)
• The user interface is very clean, drag & drop friendly, you minimize and restore every box, etc.
• They have defined an open protocol so every one can create Wave Servers (Like private corporate ones)
so they can compete with corporate email servers with a much more sophisticated and rich communication medium.
• They also have this Robots concept, where a software component can be installed and receive all updates from an Wave
and act upon it (e.g. updating the Wave) like any other guest, in fact, in term of UI they are just another guest.
• There's the Robot Rosy (a demo here) that can translate regular conversations and even based on their context!
• Like in a conversation about Brazil's current president do not translate his name to 'Squid'.
That's why Google Wave (and the next private Wave servers) seems very promising to me.
I also recommend these very informative videos:
Today I've started a Wave with some of my friends to discuss the recently revealed google programming language called Go.
I've started reading the Language Design FAQ, maybe not the best place be it got my attention first. The first highlights on this document I found most interesting:it generated C code as its output
Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language withthe efficiency and safety of a statically typed, compiled language . It also aims to be modern, with support for networked and multicore computing. Finally, it is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues:an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for .
... there is no type hierarchy: types just are, they don't have to announce their relationships ...
Why do garbage collection? Won't it be too expensive? ... The current implementation is a plain mark-and-sweepThey gotta invest a lot of effort on the item above :)
Of course, implementing garbage collection in a concurrent environment is itself a challenge,but meeting it once rather than in every program helps everyone .
Go's built-in maps and slices, plus the ability to use the empty interface to construct containers (withexplicit unboxing )
Why is there no type inheritance?These two still 'mystic' languages for the most of us: {Erlang, Occam} share with Go the idea of some builtin concurrency support:there are no explicit relationships between types and interfaces, there is no type hierarchy to manage or discuss .
One of the most successful models for providing high-level linguistic support for concurrency comes from Hoare's Communicating Sequential Processes, or CSP.Finally this well written article [Why GO Matters] points out (along with Serodio at our Waveshere) that Go niche is of Systems programming, in his words:Occam and Erlang are two well known languages that stem from CSP . Go's concurrency primitives derive from a different part of the family tree whose main contribution is the powerful notion ofchannels as first class objects .
What’s a systems programming language? It’s the kind of language you use when writing a new OS. Or a device driver. Or an I/O stack. Or a piece of networking middleware. Or a very fast web server.
Are we facing the beginning of the end of the C++{0x} era? And did Language D has lost momentum?

I've uploaded the HTML Lua Reference Manual into Google Docs and it used styles for several tags like the h1, h2, h3, etc title ones! Awesome! :)
Story: Today I helped on technical aspect of an interview at my job; At a certain point this guy brought to the conversation the Lua programming language. I decided to take a peek and maybe print at the last version of the Lua manual which I never saw again in the last years. The manual is available in a single HTML which is far from being the best printable format, so I decided to convert it to ODF first. I've always being a fan of the sophisticated JS Applications that Google Docs family is, since the beginning when their word processing didn't have a wrap text feature ;-) So after copy & pasting not working well on OpenOffice Writer I gave a shot at Google Docs upload feature, to my surprise the resulting document even being not perfect was created using styles for certain HTML tags, something tremendously helpful for medium to big texts!
Pattern matching is the reverse of Object construction, that all it is...
I must say, the Functional Programming side of Scala is a whole new world to me, and the pattern matching mechanism a big a part of it, and I have the intention to deep dive all this.
But they certainly did not choose Mercurial because of its python roots only, they published an interesting Analysis of Git and Mercurial.
The implementation is avaiable for those who request on the Google Code project hosting service.
I'm personally waiting for a great IDE suport for these DVCSs, until that I'll probably focus on other tools/APIs/frameworks and keep using Subversion.
Would they be borrowing some of Google Chrome architecture ideas? Where each tab has its own OS process (as well as each plugin/extension/addon)?
The ./ article talks about the difficulty people find citing Wikipedia articles as a source due to it's highly dynamic nature and the viral aspect of the GNU Free Documentation License:
I've been suggesting for some time that Wikipedia, or some fork of Wikipedia, should allow users to "sign off" on a version of an article, and then lock that article against future edits until the signer had approved them. The signing off would allow people to cite a Wikipedia article as a source that had been vetted by at least one person (with confidence in the source depending on that person's credentials). The signer's identity (and sometimes, their credentials) could be confirmed using several methods, such as verifying an .edu e-mail address. Users could still submit edits, but they would have to be approved by the article verifier. Different users could sign off on different versions of the same article, and readers would still have the option of viewing the latest version of an article, with all of its unmoderated edits (which is what you're looking at on Wikipedia most of the time)....
And therein lies the logical incompatibility between the GFDL and the CC-BY publishing options currently allowed by Knol. If you copy GFDL-licensed content from Wikipedia, you are agreeing that for any copies or derivative works that you create, you will not only permit other users to remix them, but that you will require those other users to agree to the same terms for the remixed works that they publish. If you published such content on Knol under the CC-BY option, you would be granting the reader permission to incorporate the work into their own derivative work which they could then publish under an All Rights Reserved license.
- Music:Thank you - Led Zeppelin
"How do you summarize a man like Arthur C. Clarke? ..."
May his views continue to inspire for eons.
Some interesting points Josh points that I took note were: (just a rough copy and paste of my notes)
- C safe type system is nowhere near robust and fast as you can do with Java;
- When you talk about Java you talk about the Platform. I've personally insisted on this so many times...;
- Why use the Java Platform:
- Everybody knows, research popular;
- Rich ecosystem tools (talks about Eclipse but not Netbeans);
- Libraries good and stable;
- Safe well designed language;
- Great books;
- Design patterns: Static factory vs. Builder patter;
- Concerns about better Concurrency API and tools, since nowadays we have in a more popular fashion multiple CPUs power;
- Java Thread APIs where great for the last years but not anymore;
- All Java performance improvements since its first version; 50x faster from JDK 1.0 until now;
- Stealing merge sort algorithms from the Python API;
- The joy of the FindBugs tool;
- JUnit and testing and concurrent applications, how this successful API does not fit into the concurrent scenarios;
- First thing understand the requirements, before building your software;
- Java and the OLPC;
- The Java URL implementation of equals and hashcode is totally broken! Never use it on Maps!!! (FindBugs detects it!);
5 little-known Gmail features you may not yet know aboutURLs to bookmark individual emails and creating filters simply based on one message are my favorite ones.
- "Archive and next" shortcut
- Share mail searches with friends
- Browser navigation and history
- Bookmark emails
- "Filter messages like this"

From Waxy.org:
Google's new calculator is a fun diversion, with several undocumented new features. Here's a few. (Kottke has some more impractical uses. Please post more as you find them.)
- How long can you play a 30GB iPod without repeating a song? Answer: 18.2 days
- How much hard drive space does one hour of 128kbps MP3s consume? Answer: 56.25 megabytes
- How many seconds in a decade? Answer: 315,569,260
- 98.6 degrees Fahrenheit in Celsius? Answer: 37 degrees
- How many feet in a smoot? Answer: 5.58 (via Ryan)
- What's the answer to life, the universe and everything? Answer: 42
- What's the answer to life, the universe and everything multiplied by the speed of light divided by three teaspoons? Answer: 8.51523871 × 1014 m-2 s-1
- What's the speed of a Delorean going back in time? Answer: 47,600,819,200 m3 kg/s4 (via Cam)

My friend Frank Sands sent me the post from the engadget.

- Mood:
tired - Music:alex kidd sounds in my mind
At one point he says:
Print is a function, I just implemented it last week and I'm still getting used to it, but is the right thing to do.Yeah, it's the right thing! Period! hehehe. That's really a justification from the Benevolent Dictator for Life ;-)
I'm just kidding but I do thing regular functions are better than magic commands (characterized by their usual peculiar syntax) like the python print was.
HTC to ship 50,000 Google phones by Christmas [tech.co.uk]
HTC reportedly to ship 50,000 handsets with Google OS installed [intomobile.com]
Searching Google For Answers [GOOG] [rttnews.com]
"The analyst however expects Google phone to sell below $100, at a fraction of the iPhone's $400 price tag. Lehman believes that the Google phone can even be potentially free, as the company's focus would be on the online advertising revenue it could generate with an internet-enabled mobile device. Lehman Brothers says it is likely that Google will have revenue-sharing agreements with the carriers, just like Apple."Google phone, Google phone OS, Google apps – or just Google Ads [theregister.co.uk]
It becomes increasingly hard to work out where the control point in handset design is. Once we all thought it was the hardware, then it was the operating system, and just as we start to think that it’s the service layers above the operating system, then it’s all in the network, an finally Apple comes along and tells us it’s the hardware all over again. ... and now telling us that Google is working on an handset operating system.Report: Google phone coming soon [money.cnn.com]
SAN FRANCISCO (Fortune) -- Google built its empire on the search engine business, and now it appears to be quietly working on the product that Wall Street analysts say will help company shares break the $700 mark - the mobile phone. Just hours after Lehman Brothers issued a report Tuesday stating that the so-called Gphone "could launch as early as February 2008,"
...
Google's bold entry into the cell phone market promises to shake up the $127 billion wireless industry. The company has made no secret that it believes mobile phones should be free to consumers, where revenues are generated through advertising and no single carrier has a lock on users.
"Google CEO Eric Schmidt sees the mobile market as the company's biggest opportunity for growth"

Google cofounder Sergey Brin comes to class at Berkeley.
BERKELEY – Sergey Brin, cofounder of Google, showed up for class at Berkeley this week, a surprise guest speaker in SIMS Associate Professor Marti Hearst's "Search Engines: Technology, Society, and Business" classroom Monday afternoon. Casual and relaxed, Brin talked about how Google came to be, answered students' questions, and showed that someone worth $11 billion (give or take a billion) still can be comfortable in an old pair of blue jeans.
And today we're introducing a new toy we are calling Hot Trends. It's a new feature of Google Trends for sharing the the hottest current searches with you in very close to real time. What's on our collective mind as we search for information? What's interesting to people right now? Hot Trends will tell you. At a glance, you'll see the huge variety of topics capturing our attention, from current events to daily crossword puzzle clues to the latest celebrity gossip. Hot Trends is updated throughout the day, so check back often.
Hot Trends aren't the search terms people look for most often -- those are pretty predictable, like [weather] or [games] or perhaps [myspace]. Yes, [sex] too. Instead, the Hot Trends algorithm analyzes millions of searches to find those that are deviating the most relative to their past traffic. And the outcome is the Hot Trends list.
Now when you search you'll get both digitized book results as well as records for millions of other books that still just exist in the analog world.Book Search becomes more comprehensive:
When you view these new added book records, you can often read reviews, a summary, or see what other people had to say about the book around the web. Since these books haven't been digitally indexed yet, you can't preview the text online, but if you've discovered something great, we offer links to buy the book or find it in a library near you.I remember in the early days of the WWW the promise of Museums, Libraries and all human knowledge equally distributed to the W. Of course that was romantic marketing only, the nations will always compete and hide the true knowledge each one has, but now at least inoffensive books can be easily searched =)
A special mention to the section "Places mentioned in this book" for example in the Moby Dick book (using google maps, of course). It's impressive, you click on the place and it says in which page the place was mentioned in the book.


