Friday, March 30, 2012

The Go Programming Language, version 1 is released

The Go programming language is an open source project to make programmers more productive.

Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

Go version 1, or Go 1 for short, released. It defines a language and a set of core libraries to provide a stable foundation for creating reliable products, projects, and publications. ~ The Go Programming Language Blog

Web Site: http://golang.org/

New Dart Editor build available

Mentioned in former post, DART: new programming language for web applications.

Dart language spec updated to 0.08, and the new Dart Editor build 5845 released with highlights:
  • Copy/Paste and show libraries in bold in Files view
  • Initial support for excluding files/directories from analysis
  • Debugger improvements
  • Analysis, Frog, and SDK fixes

Web Site: http://www.dartlang.org/


Thursday, March 29, 2012

BlackBerry PlayBook and Smartphone Simulators

Use the BlackBerry PlayBook and Smartphone Simulator to view, test and debug your application.

 Link to BlackBerry Simulators
BlackBerry Simulators

Emulator of Firefox mobile version

You can install the mobile version of Firefox to your desktop computer in order to test, provide feedback, and build add-ons. It can be found in the Developer Tools second at the bottom of http://www.mozilla.org/en-US/mobile/
Emulator of Firefox mobile version


Opera Mobile Emulator: desktop version of Opera’s smart phone browser

Do your mobile development straight from your desktop, and pair it with Opera Dragonfly for advanced debugging.

The Opera Mobile Emulator renders pages as close as you can get to how it would look on a real phone. It can be paired with Opera Dragonfly for an effective testing environment before taking it to the physical phone.

http://www.opera.com/developer/tools/mobile/

Opera Mobile Emulator


FREE multi-language code editor - Komodo Edit

Komodo Edit is a Free, feature-rich editor for JavaScript, Perl, PHP, Python, Ruby and Tcl, on Linux, Mac OS X and Windows.

http://www.activestate.com/komodo-edit

Komodo Edit

Wednesday, March 28, 2012

Easy to embed Google Maps with Panoramio photos

Example of using Google Maps Javascript API V3, with layer of Panoramio photos.
Google Maps with Panoramio photos
Link: https://google-developers.appspot.com/maps/documentation/javascript/examples/layer-panoramio HTML Code:
<!DOCTYPE html>
<html>
  <head>
    <title>Google Maps JavaScript API v3 Example: Panoramio Layer</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="UTF-8">
    <link href="/maps/documentation/javascript/examples/default.css"
      rel="stylesheet" type="text/css">
    <style type="text/css">
      #photo-panel {
        background: #fff;
        padding: 5px;
        overflow-y: auto;
        overflow-x: hidden;
        width: 300px;
        max-height: 300px;
        font-size: 14px;
        font-family: Arial;
        border: 1px solid #ccc;
        box-shadow: -2px 2px 2px rgba(33, 33, 33, 0.4);
        display: none;
      }
    </style>
    <script type="text/javascript"
      src="//maps.googleapis.com/maps/api/js?sensor=false&libraries=panoramio"></script>
    <script type="text/javascript">
      function initialize() {
        var myOptions = {
          zoom: 16,
          center: new google.maps.LatLng(47.651743, -122.349243),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        var map = new google.maps.Map(document.getElementById('map_canvas'),
            myOptions);

        var panoramioLayer = new google.maps.panoramio.PanoramioLayer();
        panoramioLayer.setMap(map);

        var photoPanel = document.getElementById('photo-panel');
        map.controls[google.maps.ControlPosition.RIGHT_TOP].push(photoPanel);

        google.maps.event.addListener(panoramioLayer, 'click', function(photo) {
          var li = document.createElement('li');
          var link = document.createElement('a');
          link.innerHTML = photo.featureDetails.title + ': ' +
              photo.featureDetails.author;
          link.setAttribute('href', photo.featureDetails.url);
          li.appendChild(link);
          photoPanel.appendChild(li);
          photoPanel.style.display = 'block';
        });
      }

      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <ul id="photo-panel">
      <li><strong>Photos clicked</strong></li>
    </ul>
    <div id="map_canvas"></div>
  </body>
</html>