Tags : Browse Projects

Select a tag to browse associated projects and drill deeper into the tag cloud.

google-ctemplate

Compare

  Analyzed over 2 years ago

ctemplateCTemplate is a simple but powerful template language for C++. It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language. Here's an example of how to use it: not complete, but gives a good feel for what the ctemplate API looks ... [More] like. Here is a simple template file: Hello {{NAME}}, You have just won ${{VALUE}}! {{#IN_CA}}Well, ${{TAXED_VALUE}}, after taxes.{{/IN_CA}}Here is a C++ program to fill in the template, which we assume is stored in the file 'example.tpl': #include #include #include #include int main(int argc, char** argv) { google::TemplateDictionary dict("example"); dict.SetValue("NAME", "John Smith"); int winnings = rand() % 100000; dict.SetIntValue("VALUE", winnings); dict.SetFormattedValue("TAXED_VALUE", "%.2f", winnings * 0.83); // For now, assume everyone lives in CA. // (Try running the program with a 0 here instead!) if (1) { dict.ShowSection("IN_CA"); } google::Template* tpl = google::Template::GetTemplate("example.tpl", google::DO_NOT_STRIP); std::string output; tpl->Expand(&output, &dict); std::cout << output; return 0; }If you are interested in this templating language but are programming in Java, consider Hapax, which is similar to ctemplate. Recent news: 12 June 2009I've just released ctemplate 0.95. This is entirely an API cleanup release. Actually, relatively little of the API proper has changed: StringToTemplate no longer takes an autoescape-context arg (instead you specify this as part of the template-string, using the AUTOESCAPE pragma). A few obsolete constructs have gone away, such as the TemplateFromString class and TemplateDictionary::html_escape and friends (just use the top-level html_escape). See the ChangeLog for a full list of these changes. The biggest change is a renaming: the default namespace is now ctemplate rather than google, and the include directory is ctemplate rather than google. Other namespaces, such as template_modifiers, have gone away. All these changes will require you to modify your old code to get it working with ctemplate 0.95. I've written a script to help you do that. Please open an issue if you see a problem with the script. I've tested it, but not as widely as I'd like. Also note the script will not be perfect for more complex constructs, which you will have to clean up by hand. I hope (expect) the API is now stable, and we won't see any more such changes before ctemplate 1.0. I tried to isolate them all in this release; except for the API changes, this release should behave identically to ctemplate 0.94. 7 May 2009I've just released ctemplate 0.94. A few new features have been added, such as the ability to expand a template into your own custom ExpandEmitter instance, and the ability to hook the annotation system (typically used for debugging). You can now remove strings from the template cache in addition to adding them. Also, there continues to be a trickle of new modifiers, in this case a modifier for URL's in a CSS context. However, the most invasive changes were made for speed reasons. The biggest is that (almost) all TemplateDictionary allocations are now done on the arena -- this includes allocations by the STL classes inside the dictionary. This allows us to free all the memory at once, rather than item by item, and has yielded a 3-4% speed improvement in our tests. I've combined this with a small_map class that stores items in a vector instead of a hash-map until we get to 3 or 4 items; this gives another speed increase in the (common) case a template has only a few sections or includes. I also changed the hashing code to use MurmurHash everywhere, rather than the string hash function built into the STL library. This should be faster. All these changes should not be outwardly visible, but they do use more advanced features of C++ than ctemplate has to date. This may result in some problems compiling, or conceivably when running. If you see any, please file an issue report. You can see a full list of changes on the ChangeLog. 20 August 2008ctemplate 0.91 introduces the beginning of some API changes, as I look to clean up the API in preparation for ctemplate 1.0. After 1.0, the API will remain backwards compatible, but until that time, the API may change. Please take a look at the ChangeLog to see if any of these changes affect you. One change is the introduction of a new PerExpandData class, which holds some state that was formerly in the TemplateDictionary class. I'm still not sure if this class is a good idea, if it should be separate from TemplateDictionary or a member, or what functionality should move there (for instance, should SetTemplateGlobal move there, since template-global variables are really, in some sense, per-expand variables?) If you have any feedback, ideally based on your own experience using the current API, feel free to post it at google-ctemplate@googlegroups.com. ctemplate also has several new features, including the addition of "separator" sections, and the ability to change the markup character (from {{). See the ChangeLog for a complete list, and the howto documentation for more details on these new features. [Less]

0 lines of code

0 current contributors

0 since last commit

2 users on Open Hub

Activity Not Available
0.0
 
I Use This
Mostly written in language not available
Licenses: bsd

Google Map Module for Gallery

Compare

  Analyzed over 2 years ago

Google Map integration for Gallery v2.x. The Module that has many feature but the default map shows pictures from every albums.

0 lines of code

0 current contributors

0 since last commit

2 users on Open Hub

Activity Not Available
5.0
 
I Use This
Mostly written in language not available
Licenses: gpl

gcalview

Compare

  Analyzed over 2 years ago

Google Calendar makes it easy to have and maintain a public calendar. There is even an official Google Calendar Widget that can be embedded into a web page. However, this project seeks to be an alternative widget that is themeable, compact, and supports multiple public feeds (feed aggregation). ... [More] Built in JavaScriptAndHtml, this project allows simple embedding of a Google Calendar Aggregation widget using JSON and gdata. Features Aggregate multiple Google Calendar feeds into a single JavaScriptAndHtml widget. AddingGcalView to your web page is easy. StylingGcalView with your own colors, text styles, and layouts in CSS is easy. Upcoming events are ordered by "proximity" to the current date. Intuitive categories of "Today", "This Week", "Next Week", etc. are used to organize and prioritize. [Less]

0 lines of code

0 current contributors

0 since last commit

2 users on Open Hub

Activity Not Available
0.0
 
I Use This
Mostly written in language not available
Licenses: mit

cakephp_google_plugin

Compare

  Analyzed over 2 years ago

This is a plug-in that will eventually allow you to use all of Google's api's in CakePhp.

0 lines of code

0 current contributors

0 since last commit

2 users on Open Hub

Activity Not Available
4.0
   
I Use This
Mostly written in language not available
Licenses: mit

CodeBuddies

Compare

  Analyzed 1 day ago

We're a community of independent code learners who help each other on Slack, schedule hangouts to learn with each other, contribute to a periodic anonymous crowdsourced newsletter where anyone can share a personal project or leave a shout out, and post on Facebook. We come from all over the world; ... [More] there are members living in the United States, Japan, Sweden, the United Kingdom, Russia, Australia, Canada, India, and more. Learning with each other helps us learn faster. We strive to create a safe space for anyone interested in code to talk about the learning process. The project is free and open-sourced on Github, and this app is 100% community/volunteer-built. [Less]

26.6K lines of code

27 current contributors

5 months since last commit

2 users on Open Hub

Very Low Activity
5.0
 
I Use This

Moodle-GApps

Compare

  Analyzed over 2 years ago

Moodle-GApps is the Moodle integration of google Apps. This will let manage and access google services whithin moodle seemlesly.

37.4K lines of code

0 current contributors

almost 14 years since last commit

1 users on Open Hub

Activity Not Available
5.0
 
I Use This
Licenses: apache_2, BSD-3-Clause, gpl

GCalendar

Compare

  Analyzed over 2 years ago

Connects your Google calendar with your Joomla based web site.

0 lines of code

0 current contributors

0 since last commit

1 users on Open Hub

Activity Not Available
5.0
 
I Use This
Mostly written in language not available
Licenses: gpl3

opensocial-resources

Compare

  Analyzed over 2 years ago

NOTE: We've started using the wiki at wiki.opensocial.org. How to start writing OpenSocial appsThe OpenSocial Tutorial will walk you through developing your first OpenSocial gadget. If you want your app to run on Orkut, check out the OrkutInfo page for more details. This project's wiki contains ... [More] code snippets that demonstrate the OpenSocial JavaScript API. There are developer's guides for OpenSocial and Orkut that give code samples and explanations to help you write applications. Places to ask questionsOpenSocial Developer Forum MySpace Developer Forum Orkut Developer Forum Ning Developer Forum Hi5 Developer Forum Plaxo Developer Forum IRC (irc://irc.freenode.net/opensocial) Reference materialsOpenSocial Wiki (API reference, container list, and other resources) OpenSocial Specification (a definition of the OpenSocial API and some useful background info) Issue Tracker (report bugs, request features, and "star" the issues that are important to you!) MySpace Devleoper Documentation Ways to get news and updatesOpenSocial blog MySpace Developer Blog Orkut Developer Blog Orkut announcements mailing list Ways to contributeOpenSocial and Gadgets Specification Discussion group (for discussing/proposing API changes, suggesting new features, etc.) [Less]

0 lines of code

0 current contributors

0 since last commit

1 users on Open Hub

Activity Not Available
0.0
 
I Use This
Mostly written in language not available
Licenses: apache_2

Google Translator

Compare

  Analyzed over 2 years ago

This application translates text via Google Translate engine. (http://translate.google.com/)

0 lines of code

0 current contributors

0 since last commit

1 users on Open Hub

Activity Not Available
0.0
 
I Use This
Mostly written in language not available
Licenses: gpl

namebench

Compare

  Analyzed 1 day ago

Are you a power-user with 5 minutes to spare? Do you want a faster internet experience? Try out namebench. It hunts down the fastest DNS servers available for your computer to use. namebench runs a fair and thorough benchmark using your web browser history, tcpdump output, or standardized ... [More] datasets in order to provide an individualized recommendation. namebench is completely free and does not modify your system in any way. This project began as a 20% project at Google. namebench runs on Mac OS X, Windows, and UNIX, and is available with a graphical user interface as well as a command-line interface. namebench was written using open-source tools and libraries such as Python, Tkinter, PyObjC, dnspython, jinja2 and graphy. ScreenshotsHere is what the nameserver overview looks like: Mean Response Duration Response Distribution Chart (First 200ms) There is also a full timescale graph as well. Command-line versionIf you are running the command-line version, you get something that looks like this: Fastest individual response (in milliseconds): ---------------------------------------------- Scarlet-1 BE ################# 9.97782 SYS-193.121.171. ################## 10.56194 Completel-2 FR ########################### 16.48903 CyberServ PSA NL ############################ 16.87098 OpenDNS ############################# 17.55810 Google Public DN ############################## 18.16297 UltraDNS ############################## 18.30387 Webline BE ###################################### 22.61090 Cesidio-A DE ########################################## 25.56205 Arcor/Vodafone-2 ##################################################### 32.37319 Mean response (in milliseconds): -------------------------------- UltraDNS ##################### 73.52 OpenDNS ####################### 81.91 Google Public DN ######################### 88.39 Scarlet-1 BE ########################## 92.90 SYS-193.121.171. ############################### 111.16 Arcor/Vodafone-2 #################################### 128.46 Completel-2 FR ####################################### 139.62 Webline BE ############################################## 165.15 Cesidio-A DE ################################################## 180.79 CyberServ PSA NL ##################################################### 191.80 Response Distribution Chart URL (200ms): ---------------------------------------- http://chart.apis.google.com/chart?cht=lxy&chs=720x410&chxt=x,y&chg=10,20&chxr=0,0,200|1,0,100&chd=t:0,16,17,17... Response Distribution Chart URL (Full): --------------------------------------- http://chart.apis.google.com/chart?cht=lxy&chs=720x410&chxt=x,y&chg=10,20&chxr=0,0,1631|1,0,100&chd=t:0,2,2,2,2... Recommended configuration (fastest + nearest): ---------------------------------------------- nameserver 156.154.70.1 # UltraDNS NXDOMAIN Hijacking nameserver 194.119.228.67 # Scarlet-1 BE nameserver 193.121.171.135 # SYS-193.121.171.135 [Less]

25.5K lines of code

0 current contributors

about 6 years since last commit

1 users on Open Hub

Inactive
5.0
 
I Use This