Monthly Archives

Articles indexed in June 2011

Page 101/145 | < Previous Page | 97 98 99 100 101 102 103 104 105 106 107 108  | Next Page >

  • stop android emulator call

    - by Shahzad Younis
    I am working on an Android application, having functionality like voicemail. I am using BroadcastReceiver to get dialing events. I have to get the event "WHEN CALL IS UNANSWERED (not picked after few rings) FROM RECEIVER". I will do some actions on caller end against this event. I am using AVD emulator, and I do call from one instance to another instance and it calls perfectly, but the problem is: It continuously calls until I reject or accept the call. This way I cannot detect that "CALL IS UNANSWERED AFTER A NUMBER OF RINGS". So I want the Caller emulator to drop the call after a number of rings (if unanswered) like a normal phone. I can do it (drop the call after some time) by writing some code, but I need the natural functionality of phone in the emulator. Can anyone please guide me? Is there any settings in the emulator? Or something else? The code is shown below in case it helps: public class MyPhoneReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); if (extras != null) { String state = "my call state = " + extras.getString(TelephonyManager.EXTRA_STATE); Log.w("DEBUG", state); } }

    Read the article

  • Code refactoring c# question around several if statements performing the same check

    - by James Radford
    I have a method that has a load of if statements that seems a bit silly although I'm not sure how to improve the code. Here's an example. This logic was inside the view which is now in the controller which is far better but is there something I'm missing, maybe a design pattern that stops me having to check against panelCount < NumberOfPanelsToShow and handling the panelCount every condition? Maybe not, just feels ugly! Many thanks if (model.Train && panelCount < NumberOfPanelsToShow) { panelTypeList.Add(TheType.Train); panelCount++; } if (model.Car && panelCount < NumberOfPanelsToShow) { panelTypeList.Add(TheType.Car); panelCount++; } if (model.Hotel && panelCount < NumberOfPanelsToShow) { panelTypeList.Add(TheType.Hotel); panelCount++; } ...

    Read the article

  • Sproutcore SC.arrayProxy, where is in the docs?

    - by Bakaburg
    I'm reading the getting started guide of sproutcore, about the Todo app. Around the beginning they tell to instantiate a controller from the SC.arrayProxy class. But this class is not present in the docs!!! and even in google is nowhere to be found! where does it come out from?? EDIT: I discovered that SC.arrayProxy is only in sproutcore 2! I wonder what are the differences from SC.arrayController

    Read the article

  • WPF texbox focus when render to offscreen buffer

    - by dr.mo
    i am rendering a textbox to an offscreen buffer using RenderTargetBitmap and i want to enter text into this textbox, however, i can't set the textbox focus (using Focus() has no effect - presumably because the canvas is not attached to a real window?) this has two consequenes: 1 the keyboard input doesn't get captured 2. even if i set the text manually using TextBox text and CaretIndex = index i dont get a caret because of the lack of focus. is there a way to make this focus somehow? and if not, i'd like to at least have the caret visible even if there is no focus, but can't see a way of doing this.

    Read the article

  • Break a string into parts, returning all characters

    - by Benjamin
    I want to break a string according to the following rules: all consecutive alpha-numeric chars, plus the dot (.) must be treated as one part all other consecutive chars must be treated as one part consecutive combinations of 1 and 2 must be treated as different parts no whitespace must be returned For example this string: Method(hierarchy.of.properties) = ? Should return this array: Array ( [0] => Method [1] => ( [2] => hierarchy.of.properties [3] => ) [4] => = [5] => ? ) I was unsuccessful with preg_split(), as AFAIK it cannot treat the pattern as an element to be returned. Any idea for a simple way to do this?

    Read the article

  • Hadoop reduce task gets hung

    - by user806098
    I set up a hadoop cluster with 4 nodes, When running a map-reduce task, the map task finishes quickly, while the reduce task hangs at 27% percent. I checked the log, it's that the reduce task fails to fetch map output from map nodes. The job tracker log of master shows messages like this: 2011-06-27 19:55:14,748 INFO org.apache.hadoop.mapred.JobTracker: Adding task (REDUCE) 'attempt_201106271953_0001_r_000000_0' to tip task_201106271953_0001_r_000000, for tracker 'tracker_web30.bbn.com.cn:localhost/127.0.0.1:56476' And the name node log of master shows messages like this: 2011-06-27 14:00:52,898 INFO org.apache.hadoop.ipc.Server: IPC Server handler 4 on 54310, call register(DatanodeRegistration(202.106.199.39:50010, storageID=DS-1989397900-202.106.199.39-50010-1308723051262, infoPort=50075, ipcPort=50020)) from 192.168.225.19:16129: error: java.io.IOException: verifyNodeRegistration: unknown datanode 202.106.199.3 9:50010 However, neither the "web30.bbn.com.cn" or 202.106.199.39, 202.106.199.3 is the slave node. I think such ip/domains appear because hadoop fails to resolve a node(first in the Intranet DNS server), then it goes to a higher-level DNS server, later to the top, still fails, then the "junk" ip/domains are returned. But I checked my config, it goes like this: /etc/hosts: 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.225.16 master 192.168.225.66 slave1 192.168.225.20 slave5 192.168.225.17 slave17 conf/core-site.xml: hadoop.tmp.dir /root/hadoop_tmp/hadoop_${user.name} fs.default.name hdfs://master:54310 io.sort.mb 1024 hdfs-site.xml: dfs.replication 3 masters: master slaves: master slave1 slave5 slave17 Also, all firewalls(iptables) are turned off, and ssh between each 2 nodes is ok. so I don't know where exact the error comes from. Please help. Thanks a lot.

    Read the article

  • Google I/O Sandbox Case Study: Doubletwist

    Google I/O Sandbox Case Study: Doubletwist We interviewed DoubleTwist at the Google I/O Sandbox on May 11, 2011. They explained to us the benefits of building their DoubleTap application on the Android Platform. DoubleTwist AirSync let's you wirelessly sync your music collection across all your devices. Their new app, DoubleTap, let's you share music between phones by simply tapping the phones together. For more information about developing on Android, visit: developer.android.com For more information on DoubleTwist, visit: www.doubletwist.com From: GoogleDevelopers Views: 13 0 ratings Time: 01:42 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: VectorUnit

    Google I/O Sandbox Case Study: VectorUnit We interviewed VectorUnit at the Google I/O Sandbox on May 11, 2011 and they explained to us the benefits of building for the Android Platform. VectorUnit creates console-quality video games for the Android. For more information on Android developers, visit: developers.android.com For more information on VectorUnit, visit vectorunit.com From: GoogleDevelopers Views: 13 0 ratings Time: 01:33 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: MOVL

    Google I/O Sandbox Case Study: MOVL We interviewed MOVL at the Google I/O Sandbox on May 10, 2011 and they explained to us the benefits of developing on the Google TV Platform. MOVL develops gaming applications that people can play on their Google TV's, using their mobile phones as the controllers. For more information on developing on Google TV, visit: code.google.com For more information on MOVL, visit: movl.com From: GoogleDevelopers Views: 19 0 ratings Time: 02:03 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: MobileASL

    Google I/O Sandbox Case Study: MobileASL We interviewed MobileASL at the Google I/O Sandbox on May 11, 2011 and they explained to us the benefits of developing their accessibility applications on the Android platform. MobileASL is a video compression project that aims to make sign language communication on mobile phones a reality. For more information on Accessibility Developers, visit: google.com For more information on MobileASL, visit: mobileasl.cs.washington.edu From: GoogleDevelopers Views: 14 0 ratings Time: 01:57 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: Eureka Streams

    Google I/O Sandbox Case Study: Eureka Streams We interviewed Lockheed Martin at the Google I/O Sandbox on May 10, 2011 and they demoed their product, Eureka Streams, and explained to us the benefits of using web toolkit to build it. Eureka Streams is a social communication platform built to help individuals in large corporations communicate with each other. For more information on Google Web Toolkit, visit: code.google.com For more information on Eureka Streams, visit: www.eurekastreams.org From: GoogleDevelopers Views: 29 0 ratings Time: 02:35 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: HistoryPin

    Google I/O Sandbox Case Study: HistoryPin We interviewed HistoryPin at the Google I/O Sandbox on May 10, 2011 and they explained to their new technology and the benefits of integrating with Google Maps. HistoryPin lets you upload historical photos of places onto their respective points on Google Maps, enabling users to see what cities looked like at different points in time. For more information about developing on Google Maps visit: code.google.com For more information on HistoryPin, visit: www.historypin.com From: GoogleDevelopers Views: 90 0 ratings Time: 01:28 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: GoAnimate

    Google I/O Sandbox Case Study: GoAnimate We interviewed GoAnimate at the Google I/O Sandbox on May 10, 2011 and they explained to us the benefits of using partnering with YouTube. GoAnimate is an video creation platform that lets users easily create animated videos and publish them on YouTube. For more information on developing on YouTube, visit: code.google.com For more information on GoAnimate, visit: goanimate.com From: GoogleDevelopers Views: 33 0 ratings Time: 02:17 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: DayZipping

    Google I/O Sandbox Case Study: DayZipping We interviewed DayZipping at the Google I/O Sandbox on May 10, 2011. They explained to us the benefits of integrating with Google Maps. DayZipping is a website where users can find and share day trips for a variety of popular destinations. For more information about developing on Google Maps, visit: code.google.com For more information on DayZipping, visit: www.dayzipping.com From: GoogleDevelopers Views: 33 0 ratings Time: 02:09 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: CNBC

    Google I/O Sandbox Case Study: CNBC We interviewed CNBC at the Google I/O Sandbox on May 11, 2011. They explained to us the benefits of building apps for the Google TV platform. CNBC's Real-Time Finance App is now available on Google TV, in addition to Android. Now consumers can access the same real-time stock information about the companies they are interested in from their living room. For more information about developing on Google TV, visit: code.google.com For more information on CNBC, visit: www.cnbc.com From: GoogleDevelopers Views: 22 0 ratings Time: 02:06 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: CloudSherpas

    Google I/O Sandbox Case Study: CloudSherpas We interviewed CloudSherpas at the Google I/O Sandbox on May 10, 2011. They explained to us the benefits of integrating with Google Apps. CloudSherpas helps companies migrate to Google Apps and offers SherpaTools as an additional contact management solution for companies' administrators. For more information about developing with Google Apps, visit: code.google.com For more information on CloudSherpas, visit: www.cloudsherpas.com From: GoogleDevelopers Views: 406 13 ratings Time: 02:29 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: CardinalCommerce

    Google I/O Sandbox Case Study: CardinalCommerce We interviewed CardinalCommerce at the Google I/O Sandbox on May 10, 2011. They explained to us the benefits of integrating with Google Checkout. CardinalCommerce enables authenticated payments and alternative payment brands and is working with Google to create Google Mobile Wallet. For more information about developing with Google Commerce, visit: code.google.com For more information on CardinalCommerce, visit: www.cardinalcommerce.com From: GoogleDevelopers Views: 611 16 ratings Time: 02:19 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: Box

    Google I/O Sandbox Case Study: Box We interviewed Box at the Google I/O Sandbox on May 11, 2011. They explained to us the benefits of integrating with the Chrome OS system. Box offers cloud-based content management for businesses and they recently unveiled a streamlined content upload process on the Chrome OS. For more information about developing on Chrome, visit: code.google.com For more information on Box, visit: www.box.net From: GoogleDevelopers Views: 20 0 ratings Time: 01:47 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: The Bay Citizen

    Google I/O Sandbox Case Study: The Bay Citizen We interviewed The Bay Citizen at the Google I/O Sandbox on May 11, 2011. They explained to us the benefits of using fusion tables on Google Maps to build infographics for their online newspaper. The Bay Citizen built the Bike Tracker Infographic to display the prevalence of bike accidents at points across San Francisco. View the bike tracker here: www.baycitizen.org For more information about developing with Google Maps and fusion tables, visit: code.google.com For more information on The Bay Citizan, visit: www.baycitizen.org From: GoogleDevelopers Views: 21 0 ratings Time: 02:21 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: Assistly

    Google I/O Sandbox Case Study: Assistly We interviewed Assistly at the Google I/O Sandbox on May 11, 2011. They explained to us the benefits of building on Google Apps. Assistly is a customer management system that helps companies deliver top-quality customer service. For more information about developing with Google Apps, visit: code.google.com For more information on Assistly, visit: www.assistly.com From: GoogleDevelopers Views: 21 0 ratings Time: 01:29 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: Apps4Android

    Google I/O Sandbox Case Study: Apps4Android We interviewed Apps4Android at the Google I/O Sandbox on May 11, 2011 and they explained to us the benefits of building accessibility applications on the Android platform. Apps4Android creates high-quality applications that enhance the quality-of-life and independence of individuals with disabilities. For more information about developing accessibility applications, visit: google.com For more information on Apps4Android, visit: www.apps4android.org From: GoogleDevelopers Views: 26 0 ratings Time: 02:01 More in Science & Technology

    Read the article

  • Google I/O Sandbox Case Study: Angry Birds

    Google I/O Sandbox Case Study: Angry Birds We interviewed Rovio, the makers of Angry Birds, at the Google I/O Sandbox on May 11, 2011 and they explained to us the benefits of building on Chrome. Angry Birds, one of the most popular games for mobile devices, is now available on Chrome! For more information about developing on Chrome, visit: code.google.com For more information on Rovio, visit: www.rovio.com From: GoogleDevelopers Views: 19 0 ratings Time: 01:14 More in Science & Technology

    Read the article

  • A Custom View Engine with Dynamic View Location

    - by imran_ku07
        Introduction:          One of the nice feature of ASP.NET MVC framework is its pluggability. This means you can completely replace the default view engine(s) with a custom one. One of the reason for using a custom view engine is to change the default views location and sometimes you need to change the views location at run-time. For doing this, you can extend the default view engine(s) and then change the default views location variables at run-time.  But, you cannot directly change the default views location variables at run-time because they are static and shared among all requests. In this article, I will show you how you can dynamically change the views location without changing the default views location variables at run-time.       Description:           Let's say you need to synchronize the views location with controller name and controller namespace. So, instead of searching to the default views location(Views/ControllerName/ViewName) to locate views, this(these) custom view engine(s) will search in the Views/ControllerNameSpace/ControllerName/ViewName folder to locate views.           First of all create a sample ASP.NET MVC 3 application and then add these custom view engines to your application,   public class MyRazorViewEngine : RazorViewEngine { public MyRazorViewEngine() : base() { AreaViewLocationFormats = new[] { "~/Areas/{2}/Views/%1/{1}/{0}.cshtml", "~/Areas/{2}/Views/%1/{1}/{0}.vbhtml", "~/Areas/{2}/Views/%1/Shared/{0}.cshtml", "~/Areas/{2}/Views/%1/Shared/{0}.vbhtml" }; AreaMasterLocationFormats = new[] { "~/Areas/{2}/Views/%1/{1}/{0}.cshtml", "~/Areas/{2}/Views/%1/{1}/{0}.vbhtml", "~/Areas/{2}/Views/%1/Shared/{0}.cshtml", "~/Areas/{2}/Views/%1/Shared/{0}.vbhtml" }; AreaPartialViewLocationFormats = new[] { "~/Areas/{2}/Views/%1/{1}/{0}.cshtml", "~/Areas/{2}/Views/%1/{1}/{0}.vbhtml", "~/Areas/{2}/Views/%1/Shared/{0}.cshtml", "~/Areas/{2}/Views/%1/Shared/{0}.vbhtml" }; ViewLocationFormats = new[] { "~/Views/%1/{1}/{0}.cshtml", "~/Views/%1/{1}/{0}.vbhtml", "~/Views/%1/Shared/{0}.cshtml", "~/Views/%1/Shared/{0}.vbhtml" }; MasterLocationFormats = new[] { "~/Views/%1/{1}/{0}.cshtml", "~/Views/%1/{1}/{0}.vbhtml", "~/Views/%1/Shared/{0}.cshtml", "~/Views/%1/Shared/{0}.vbhtml" }; PartialViewLocationFormats = new[] { "~/Views/%1/{1}/{0}.cshtml", "~/Views/%1/{1}/{0}.vbhtml", "~/Views/%1/Shared/{0}.cshtml", "~/Views/%1/Shared/{0}.vbhtml" }; } protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath) { var nameSpace = controllerContext.Controller.GetType().Namespace; return base.CreatePartialView(controllerContext, partialPath.Replace("%1", nameSpace)); } protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath) { var nameSpace = controllerContext.Controller.GetType().Namespace; return base.CreateView(controllerContext, viewPath.Replace("%1", nameSpace), masterPath.Replace("%1", nameSpace)); } protected override bool FileExists(ControllerContext controllerContext, string virtualPath) { var nameSpace = controllerContext.Controller.GetType().Namespace; return base.FileExists(controllerContext, virtualPath.Replace("%1", nameSpace)); } } public class MyWebFormViewEngine : WebFormViewEngine { public MyWebFormViewEngine() : base() { MasterLocationFormats = new[] { "~/Views/%1/{1}/{0}.master", "~/Views/%1/Shared/{0}.master" }; AreaMasterLocationFormats = new[] { "~/Areas/{2}/Views/%1/{1}/{0}.master", "~/Areas/{2}/Views/%1/Shared/{0}.master", }; ViewLocationFormats = new[] { "~/Views/%1/{1}/{0}.aspx", "~/Views/%1/{1}/{0}.ascx", "~/Views/%1/Shared/{0}.aspx", "~/Views/%1/Shared/{0}.ascx" }; AreaViewLocationFormats = new[] { "~/Areas/{2}/Views/%1/{1}/{0}.aspx", "~/Areas/{2}/Views/%1/{1}/{0}.ascx", "~/Areas/{2}/Views/%1/Shared/{0}.aspx", "~/Areas/{2}/Views/%1/Shared/{0}.ascx", }; PartialViewLocationFormats = ViewLocationFormats; AreaPartialViewLocationFormats = AreaViewLocationFormats; } protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath) { var nameSpace = controllerContext.Controller.GetType().Namespace; return base.CreatePartialView(controllerContext, partialPath.Replace("%1", nameSpace)); } protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath) { var nameSpace = controllerContext.Controller.GetType().Namespace; return base.CreateView(controllerContext, viewPath.Replace("%1", nameSpace), masterPath.Replace("%1", nameSpace)); } protected override bool FileExists(ControllerContext controllerContext, string virtualPath) { var nameSpace = controllerContext.Controller.GetType().Namespace; return base.FileExists(controllerContext, virtualPath.Replace("%1", nameSpace)); } }             Here, I am extending the RazorViewEngine and WebFormViewEngine class and then appending /%1 in each views location variable, so that we can replace /%1 at run-time. I am also overriding the FileExists, CreateView and CreatePartialView methods. In each of these method implementation, I am replacing /%1 with controller namespace. Now, just register these view engines in Application_Start method in Global.asax.cs file,   protected void Application_Start() { ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new MyRazorViewEngine()); ViewEngines.Engines.Add(new MyWebFormViewEngine()); ................................................ ................................................ }             Now just create a controller and put this controller's view inside Views/ControllerNameSpace/ControllerName folder and then run this application. You will find that everything works just fine.       Summary:          ASP.NET MVC uses convention over configuration to locate views. For many applications this convention to locate views is acceptable. But sometimes you may need to locate views at run-time. In this article, I showed you how you can dynamically locate your views by using a custom view engine. I am also attaching a sample application. Hopefully you will enjoy this article too. SyntaxHighlighter.all()  

    Read the article

  • June 26th Links: ASP.NET, ASP.NET MVC, .NET and NuGet

    - by ScottGu
    Here is the latest in my link-listing series.  Also check out my Best of 2010 Summary for links to 100+ other posts I’ve done in the last year. [I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu] ASP.NET Introducing new ASP.NET Universal Providers: Great post from Scott Hanselman on the new System.Web.Providers we are working on.  This release delivers new ASP.NET Membership, Role Management, Session, Profile providers that work with SQL Server, SQL CE and SQL Azure. CSS Sprites and the ASP.NET Sprite and Image Optimization Library: Great post from Scott Mitchell that talks about a free library for ASP.NET that you can use to optimize your CSS and images to reduce HTTP requests and speed up your site. Better HTML5 Support for the VS 2010 Editor: Another great post from Scott Hanselman on an update several people on my team did that enables richer HTML5 editing support within Visual Studio 2010. Install the Ajax Control Toolkit from NuGet: Nice post by Stephen Walther on how you can now use NuGet to install the Ajax Control Toolkit within your applications.  This makes it much easier to reference and use. May 2011 Release of the Ajax Control Toolkit: Another great post from Stephen Walther that talks about the May release of the Ajax Control Toolkit. It includes a bunch of nice enhancements and fixes. SassAndCoffee 0.9 Released: Paul Betts blogs about the latest release of his SassAndCoffee extension (available via NuGet). It enables you to easily use Sass and Coffeescript within your ASP.NET applications (both MVC and Webforms). ASP.NET MVC ASP.NET MVC Mini-Profiler: The folks at StackOverflow.com (a great site built with ASP.NET MVC) have released a nice (free) profiler they’ve built that enables you to easily profile your ASP.NET MVC 3 sites and tune them for performance.  Globalization, Internationalization and Localization in ASP.NET MVC 3: Great post from Scott Hanselman on how to enable internationalization, globalization and localization support within your ASP.NET MVC 3 and jQuery solutions. Precompile your MVC Razor Views: Great post from David Ebbo that discusses a new Razor Generator tool that enables you to pre-compile your razor view templates as assemblies – which enables a bunch of cool scenarios. Unit Testing Razor Views: Nice post from David Ebbo that shows how to use his new Razor Generator to enable unit testing of razor view templates with ASP.NET MVC. Bin Deploying ASP.NET MVC 3: Nice post by Phil Haack that covers a cool feature added to VS 2010 SP1 that makes it really easy to \bin deploy ASP.NET MVC and Razor within your application. This enables you to easily deploy the app to servers that don’t have ASP.NET MVC 3 installed. .NET Table Splitting with EF 4.1 Code First: Great post from Morteza Manavi that discusses how to split up a single database table across multiple EF entity classes.  This shows off some of the power behind EF 4.1 and is very useful when working with legacy database schemas. Choosing the Right Collection Class: Nice post from James Michael Hare that talks about the different collection class options available within .NET.  A nice overview for people who haven’t looked at all of the support now built into the framework. Little Wonders: Empty(), DefaultIfEmpty() and Count() helper methods: Another in James Michael Hare’s excellent series on .NET/C# “Little Wonders”.  This post covers some of the great helper methods now built-into .NET that make coding even easier. NuGet NuGet 1.4 Released: Learn all about the latest release of NuGet – which includes a bunch of cool new capabilities.  It takes only seconds to update to it – go for it! NuGet in Depth: Nice presentation from Scott Hanselman all about NuGet and some of the investments we are making to enable a better open source ecosystem within .NET. NuGet for the Enterprise – NuGet in a Continuous Integration Automated Build System: Great post from Scott Hanselman on how to integrate NuGet within enterprise build environments and enable it with CI solutions. Hope this helps, Scott

    Read the article

  • KCDC 2011

    - by NoReasoning
    Well, Saturday was my presentation on Programming with Windows Azure, and it went well. Everything worked as I had wanted and I got to everything that I had planned. I did not even need my emergency backup filler. I only hope that the folks who attended got something from it. As for the whole conference, I think it was a resounding success. There were a LOT of good sessions to attend and people to meet. I had a great time, and I look forward to next year with great anticipation. Kudos to all (Lee, Jonathan, Boon(?)) and all (Jasmine, Nathan) who put this on. Great job, everyone!

    Read the article

< Previous Page | 97 98 99 100 101 102 103 104 105 106 107 108  | Next Page >