Tuesday, December 8, 2015
Announcement (updated): Python, advanced tools and visuals quizzes are up! Do them by Thursday
Python, advanced tools, and visuals quizzes are up! These are optional, but we've already had ten quizzes, so taking these can only improve your grade.
Finish them by end Thursday the 10th.
Professor Watson
Tuesday, December 1, 2015
Announcement: python, advanced tools, and visuals questions are up!
Have a look at them before tomorrow's class if you can.
Professor Watson
Saturday, April 6, 2013
Find: Google offers Python and Java libraries that bring SMS, voice to apps
Google has released a set of Python and Java libraries that help developers who use Google App Engine integrate text messaging and voice communications into their apps.
Google App Engine is Google's cloud-based development platform, which lets developers build and host applications in Google data centers. The new Python and Java libraries for App Engine add easy access to SMS and voice capabilities by working with the APIs offered by Twilio, another cloud development platform that focuses on communication-heavy applications for mobile devices, desktops, and the Web.
"Twilio Voice enables your application to make and receive phone calls," Google notes in a description of the new integration. "Twilio SMS enables your application to send and receive text messages. Twilio Client allows you to make VoIP calls from any phone, tablet, or browser and supports WebRTC."
Read 2 remaining paragraphs | Comments
Thursday, January 10, 2013
Find: on using web Apis
Tim O'Reilly (@timoreilly)Short @Codecademy courses on how to use APIs to many common services. bit.ly/XkMdl9 Nice work! |
Tuesday, December 25, 2012
Find: Web Served, part 5: A blog of your own
Web Served, part 5: A blog of your own
We've got a Web server. We've got SSL/TLS. We've got PHP. We've got a database. Now, finally, it's time to do something with them: we're going to set up self-hosted WordPress, one of the Internet's most popular blogging platforms.
Certainly, WordPress isn't the only choice. There are many blogging platforms out there, ranging from big and full-featured content management systems (like WordPress, Drupal, or Joomla) to static site generators like Jekyll (and its customized variant Octopress, which I use on my own blog). However, WordPress is extremely popular, and it also has a wealth of themes and plugins available with which you can customize its behavior. So, because it's the platform that first comes to mind when people think of "blogging," we're going for it.
Disclosure, and a word on security
This isn't the first time I've talked about setting up WordPress. Some parts of this article will be taken from my previous blog post on the subject, though the instructions here will contain a number of improvements.
Monday, December 3, 2012
Spotted: Node Summit - The Importance of Cross Platform
Node Summit: The Importance of Cross Platform
Joyent's Ryan Dahl, Microsoft's Gianugo Rabellino and Rackspace's Paul Querna discuss why Node.js is so important for the future of cross platform application development.Saturday, November 10, 2012
Find: Get started at no cost with a faster, larger Cloud SQL database
Get started at no cost with a faster, larger Cloud SQL database

By Joe Faith, Product Manager Cross-posted with the Official Google Enterprise Blog You want your applications to be fast, even with millions of users. Anytime your user tries to retrieve information from the app or update settings, it should happen instantly. For the best performance, you need faster, larger databases - especially if you have a growing user base to serve. Google App Engine is designed to scale. And now Google Cloud SQL—a MySQL database that lives in Google’s cloud—has new features to meet the demand for faster access to more data. With today’s updates, you can now work with bigger, faster MySQL databases in the cloud:
- More Storage: We’re increasing the available storage on Cloud SQL to 100GB – ten times more than what used to be available.
- Faster Reads: We’re increasing the maximum size of instances to 16GB RAM, a 4 times increase in the amount of data you can cache.
- Faster Writes: We’re adding functionality for optional asynchronous replication, which gives the write performance of a non-replicated database, but the availability of a replicated one.
- EU datacenter availability: Now you can choose to store your data and run your Cloud SQL database instance in either our US or EU data centers.
- Integration with Google Apps Script: We’re making it quick and easy for businesses using Google Apps to use Cloud SQL. Publish and share data with Google Sheets, add data to Google Sites pages or create simple Google Forms without worrying about hosting or configuring servers.
Introducing a new trial offer Many of you have requested a trial offer to test out Cloud SQL. Today, we’re introducing a 6- month trial offer at no charge, effective until June 1, 2013. This will include one Cloud SQL instance with 0.5 GB of storage. Sign up now and get started on Cloud SQL at no cost. Joe Faith is a Product Manager on the Google Cloud Team. In a previous life he was a researcher in machine learning, bioinformatics, and information visualization, and was founder of charity fundraising site Fundraising Skills. Posted by
Tuesday, October 16, 2012
Find: Google's bid to fix Javascript, Dart, is ready for the real world
Google's bid to fix Javascript, Dart, is ready for the real world
A year ago, Google unveiled a programming language called Dart in an attempt to fix what’s wrong with JavaScript. The hope was to eventually “replace JavaScript as the lingua franca of Web development."
At the time, it was just a technology preview, more useful for people interested in developing Dart itself than for those interested in developing applications with Dart. That’s not to say developers couldn’t build with Dart, but the language needed a complete set of development tools to get a sniff of the mainstream. And that’s exactly what Google delivered today, with what it calls the “first developer-oriented version of the Dart SDK.”
The key improvements and features, according to Google software engineer Lars Bak, are as follows:
Wednesday, October 10, 2012
Find: Firefox 16 adds more developer muscle, but Mac OS features lag
Firefox 16 adds more developer muscle, but Mac OS features lag

Mozilla has announced the public availability of Firefox 16, the latest version of its open-source web browser. While this version is light on new features that most users will notice—and missing some features many faithful users have been expecting—there are some major additions under the hood that will make Firefox 16 a better platform for developing apps for both the desktop browser and mobile web.
As we've reported, Firefox 15 included a whole host of user experience features, including some impressive support for web-based gaming. Firefox 16 is focused more on pushing forward the browser's support for advanced Cascading Style Sheets features and HTML 5 programming interfaces, as well as a pair of web APIs suited specifically to tablets and mobile devices. There's also a new feature of the browser that will appeal to both developers and power users: a command line that drives many of the browser's internal tools.
Underneath, there's a performance tweak to the garbage collection in Firefox's JavaScript engine. There's also a new security feature rolled out in Firefox 16, called "opt-in activation," that will allow Mozilla to reach out and configure users' browsers to prompt them to allow out-of-date or known vulnerable browser plug-ins from running.
Wednesday, October 3, 2012
Find: Microsoft TypeScript - the JavaScript we need, or a solution looking for a problem?
Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem?
For all JavaScript's prominence as the lingua franca of Web development, there are an awful lot of developers who don't like it a whole lot, and as a result, a great many efforts to produce something better.
As is typical among programmers, nobody can quite agree on which bits of JavaScript are the problem. For some, JavaScript is mostly good enough, just a little awkward and ugly to write, so we have, for example, the popular CoffeeScript language. CoffeeScript makes a lot of changes to JavaScript's syntax, and uses JavaScript's object-oriented capabilities in a particular way, but doesn't fundamentally alter the way the language works.
Others think that the semantics of the language (the rules governing its behavior) are a problem too, so we have projects like Google's Dart, which offer both new syntax and behavior. And then there are the things like Google Web Toolkit (GWT) and Script#, which adopt wholesale the language and behavior of, respectively, Java and C#, merely compiling to JavaScript for actual execution.
Friday, September 21, 2012
Find: Build apps for elections with the Google Civic Information API
Google Code Blog Build apps for elections with the Google Civic Information API

By Chetan Sabnis, Google Politics & Elections Team
Cross-posted from the Google Politics & Elections Blog
Google’s mission is to organize the world’s information and make it universally accessible and useful. To make it easier for you to build apps with voting information on the web, we are releasing our new Google Civic Information API. The API enables you to look up comprehensive voting information for an individual U.S. address, including polling place, early vote sites, contests, and local election official contact information. By releasing this API, we hope to unleash the creativity of the Internet and help you build innovative products that push civic information to your communities in interesting ways.
As you know, this type of information can change frequently as we get closer to Election Day, and we will make every effort to ensure we're returning timely and accurate data. We have also included contact information for local election officials in the API so voters can find the most accurate information.
#more
While this API only includes voting information for elections in the U.S., we plan to expand to other countries and include other types of civic information. Please join the Google Civic Information API Forum for updates on the data available and check out the Google Politics & Elections page to find more information about the work we are doing around the election and our international elections programs.
You can get started here through the Google APIs Explorer. The API is available now, but please note that full information isn't yet available for the November 6th General Election. We expect to be able to provide full live data around the middle of October, as it becomes available. For now, we recommend building your applications using the test data we provide. We'll be using the API to power our own election tools over the coming weeks, including an embeddable app anyone can use on their site, and we're looking forward to seeing the applications you come up with!
The Civic Information API replaces our previous Google Election Center API, which will be turned down after January 1, 2013.
For questions, comments, and to showcase your apps using the API, we encourage you to use the Google Civic Information API Forum.
Chetan Sabnis is a software engineer on the Google Politics & Elections team. In his spare time, Chetan enjoys solving logic puzzles and crosswords.
Posted by Scott Knaster, Editor
Tuesday, September 18, 2012
Guest: Jason Casden of the NCSU library's digital initiative group will speak on November 15
Jason Casden of our NC State library's Digital Library Initiatives team will visit us on November 15 to speak about local storage in web apps. The DLI team is responsible for several cool projects including WolfWalk, the library's new mobile site, and GroupFinder.
Announcement: please validate your CSS as well as your HTML
Please validate your CSS as well as your HMTL in the current assignment. Use the CSS validator.
Best, Ben
Announcement: How to test local and private content with Adobe BrowserLab
Testing Private or Local content in BrowserLab
A recurring question we get on the BrowserLab User Forums is “How can I test pages that I have on my local machine and/or behind my firewall?”
A public URL is normally necessary because BrowserLab generates screen shots by visiting the page and taking snapshots of it in the actual browser. There are, however, three alternative methods for using BrowserLab that will allow you to test pages that are not publicly available.
Friday, August 31, 2012
Find: Firefox 15 - 3d gaming, js debugger, no extension mem leaks
Firefox 15 arrives, supports compressed textures for impressive 3D gaming

Mozilla announced today the release of Firefox 15, a new version of the open source Web browser. The update brings a number of noteworthy enhancements, including new built-in development tools and enhanced support for cutting-edge Web standards that enable sophisticated gaming experiences. Under the hood, Firefox 15 introduces a new optimization that can radically reduce the browser’s memory footprint for users who rely on many add-ons.
As we have discussed in much of our recent browser coverage, modern standards-based Web technologies are increasingly capable of supporting the kind of interactive multimedia experiences that used to only be available through plugins or native applications. The major browser vendors, which are all working to further expand the range of capabilities offered by the Web, have recently taken an interest in enabling game development.
Mozilla has been working on a number of relevant features, including an API for displaying content in fullscreen mode, support for mouse-locking, and sophisticated real-time audio mixing functionality. Earlier this year, Mozilla launched its own real-time multiplayer adventure game called BrowserQuest with the aim of showcasing HTML5 gameplay. The open Web is clearly a serious contender for casual gaming.
Wednesday, August 15, 2012
Cassovary: A Big Graph-Processing Library
Cassovary: A Big Graph-Processing Library
We are open sourcing Cassovary, a big graph-processing library for the Java Virtual Machine (JVM) written in Scala. Cassovary is designed from the ground up to efficiently handle graphs with billions of edges. It comes with some common node and graph data structures and traversal algorithms. A typical usage is to do large-scale graph mining and analysis.
At Twitter, Cassovary forms the bottom layer of a stack that we use to power many of our graph-based features, including "Who to Follow" and “Similar to.” We also use it for relevance in Twitter Search and the algorithms that determine which Promoted Products users will see. Over time, we hope to bring more non-proprietary logic from some of those product features into Cassovary.
Please use, fork, and contribute to Cassovary if you can. If you have any questions, ask on the mailing list or file issues on GitHub. Also, follow @cassovary for updates.
-Pankaj Gupta (@pankaj)
Find: TwitterCLDR - Improving Internationalization Support in Ruby
TwitterCLDR: Improving Internationalization Support in Ruby
We recently open sourced TwitterCLDR under the Apache Public License 2.0. TwitterCLDR is an “ICU level” internationalization library for Ruby that supports dates, times, numbers, currencies, world languages, sorting, text normalization, time spans, plurals, and unicode code point data. By sharing our code with the community we hope to collaborate together and improve internationalization support for websites all over the world. If your company is considering supporting multiple languages, then you can try TwitterCLDR to help your internationalization efforts.Motivation
Here’s a test. Say this date out loud: 2/1/2012If you said, “February first, 2012”, you’re probably an American. If you said, “January second, 2012”, you’re probably of European or possibly Asian descent. If you said, “January 12, 1902”, you’re probably a computer. The point is that as humans, we almost never think about formatting dates, plurals, lists, and the like. If you’re creating a platform available around the world, however, these kinds of minutiae make a big difference to users.
The Unicode Consortium publishes and maintains a bunch of data regarding formatting dates, numbers, lists, and more, called the Common Locale Data Repository (CLDR). IBM maintains International Components for Unicode (ICU), a library that uses the Unicode Consortium’s data to make it easier for programmers to use. However, this library is targeted at Java and C/C++ developers and not Ruby programmers, which is one of the programming languages used at Twitter. For example, Ruby and TwitterCLDR helps power our Translation Center. TwitterCLDR provides a way to use the same CLDR data that Java uses, but in a Ruby environment. Hence, formatting dates, times, numbers, currencies and plurals should now be much easier for the typical Rubyist. Let’s go over some real world examples.
Find: Leak Finder - a new tool for JavaScript
Leak Finder: a new tool for JavaScript
Leak finder for JavaScript helps web application developers find memory leaks in their JavaScript programs.In garbage-collected languages, such as JavaScript, you cannot have traditional memory leaks by forgetting to free memory: when all references to an object are dropped, the object is garbage-collected and the memory is freed.
However, JavaScript programs can leak memory by unintentionally retaining references to objects. For example the references can be pointers to objects stored in a data structure in a JavaScript library (e.g., Closure) instead of the application code. If an object is unintentionally retained, all objects it points to are kept alive as well. This will lead to superfluous memory consumption.
Tuesday, August 7, 2012
Find: Introducing new Fusion Tables API
Introducing new Fusion Tables API
By Warren Shen, Google Fusion Tables teamAmidst all the excitement of I/O followed by the July 4th holiday in the U.S., many developers missed the announcement of the new Fusion Tables API. The new API includes all of the functionality of the existing SQL API, plus the ability to read and modify table and column metadata as well as the definitions of styles and templates for data visualization. This API is also integrated with the Google APIs console which lets developers manage all their Google APIs in one place and take advantage of built-in reporting and authentication features.
With this launch, we are also announcing a six month deprecation period for the existing SQL API. Since the new API includes all of the functionality of the existing SQL API, developers can easily migrate their applications using our migration guide.For a detailed description of the features in the new API, please refer to the API documentation.
Posted by Ashleigh Rentz, Editor Emerita

