Search Results

Search found 4879 results on 196 pages for 'geeks'.

Page 166/196 | < Previous Page | 162 163 164 165 166 167 168 169 170 171 172 173  | Next Page >

  • Google Analytics

    - by DavidMadden
    My first post.  Working with Google Analytics (GA).  What an incredible tool this is for those that are wanting to know about their site traffic.  GA allows the user to drill down to the screen size of any mobile sources that came in contact with his site.  The user is even able to know region demographics of visitors and the types of browsers and languages being used.  This is a great tool to help determine your target audience and what direction of growth one may be needing to take.GA has Real-Time currently in beta but it already allows the user to see some information.  I can already detect that I am viewing my site from Louisville, KY and what page of my site is being accessed.  I highly recommend using GA for the sheer plethora of data available.

    Read the article

  • Free Pluralsight Videos for this week

    - by TATWORTH
    Pluralsight have issued two free videoshttp://blog.pluralsight.com/2012/09/05/video-end-the-global-pollution-crisis-in-javascript/http://blog.pluralsight.com/2012/08/31/video-fake-it-until-you-make-it-with-fakeiteasy/Their exact words were: Free Videos this Week End the Global Pollution Crisis... In Javascript Too many globally scoped variables and functions can make Javascript code difficult to work with, particularly on large projects. See how to simulate the concept of namespaces using objects. Fake it Until You Make It with FakeItEasy FakeItEasy is a .NET framework for easily creating mock objects in tests. See how easy it is to FakeItEasy with complex nested hierarchies.

    Read the article

  • SAML Request / Response decoding.

    - by Shawn Cicoria
    When you’re working with Web SSO integration, sometimes it’s helpful to be able to decode the tokens that get passed around via the browser from the various participants in the trust – RP, STS, etc. With SAML tokens, sometimes they’re simply base64 encoded when they’re in the POST body; other times they’re part of the query string, which they end up being base64encoded, deflated, then Url encoded. I always end up putting together some simple tool that does this for me – so, this is an effort to make this more permanent. It’s a simple WinForms application that is using NetFx 4.0. Download

    Read the article

  • Making document storage in Sharepoint a breeze (leave the Web UI behind)

    - by deadlydog
    Hey everyone, I know many of us regularly use Sharepoint for document storage in order to make documents available to several people, have it version controlled, etc.  Doing this through the Web UI can be a real headache, especially when you have multiple documents you want to modify or upload, or when IE isn’t your default browser.  Luckily we can access the Sharepoint library like a regular network drive if we like. Open Sharepoint in Internet Explorer (other browsers don’t support the Open with Explorer functionality), navigate to wherever your documents are stored, choose the Library tab, and then click Open with Explorer. This will open the document storage in Explorer and you can interact with the documents just like they were on any other network drive J  This makes uploading large numbers of documents or directory structures super easy (a simple copy-paste), and modifying your files nice and easy. As an added bonus, you can drag and drop that location from the address bar in Explorer to the Favorites menu so that it’s always easily accessible and you can leave the Sharepoint Web UI behind completely for modifying your documents.  Just click on the new favorite to go straight to your documents.   You can even map this folder location as a network drive if you want to have it show up as another drive (e.g N: drive). I hope you found this as useful as I did

    Read the article

  • Template standard controls for an entirely new look and feel

    - by T
    This is the  Ineta Live player without the O’Data Feed.  It is a good example of taking the plain Media Player provided with the Encoder install and re-templating it to make it your own.  It also has a custom scrub control that is added in.  I generally put my tempates in a separate resource file.  On this project, I discovered that I had to include the template at the document level because I needed the ability to attach some code behind to fire change state behaviors.  I could not use the blend xaml behaviors for change state inside the template because the template can’ determine the TargetObject.   Version 1.01 – 6/10/09 (wow how did a week slip by)

    Read the article

  • Microsoft BI Indexing Connector Announced

    - by Enrique Lima
    Wait?  More awesome stuff released. With Microsoft’s acquisition of FAST, the options for content being indexed increased.  That’s not all that happens, but for the purpose of this post, since we focus on Business Intelligence content … that is where we see that benefit at this time. Here is the link to the SharePoint Insights: BI In Action blog. You will find guidance and components to download.

    Read the article

  • .NET XPath Returns No Results

    - by Stacy Vicknair
    When using XPath in .NET one of the gotchas to be aware of is that all namespaces must be named, otherwise you’ll end up with no results. Default namespaces that are specified with xmlns alone still need to be recognized in the XPath query! Say I had a bit of XML like what is returned from the QueryService web service in Sharepoint: 1: <?xml version="1.0" encoding="UTF-8"?> 2: <ResponsePacket xmlns="urn:Microsoft.Search.Response"> 3: <Response> 4: <Range> 5: ... 6: <Results> 7: <Document xmlns="urn:Microsoft.Search.Response.Document" relevance="849"> 8: ...   When consuming and navigating this response with XPath it is necessary to name all namespaces. Then those named namespaces must be used in reference to the individual element being requested (i.e. doc:Document). In VB: 1: Dim xdoc = new XPathDocument(reader) 2: Dim nav = xdoc.CreateNavigator() 3: Dim nsMgr = new XmlNamespaceManager(nav.NameTable) 4: nsMgr.AddNamespace("resp", "urn:Microsoft.Search.Response") 5: nsMgr.AddNamespace("doc", "urn:Microsoft.Search.Response.Document") 6:  7: Dim results = nav.Select("//doc:Document", nsMgr)   In C#: 1: var xdoc = new XPathDocument(reader); 2: var nav = xdoc.CreateNavigator(); 3: var nsMgr = new XmlNamespaceManager(nav.NameTable); 4:  5: nsMgr.AddNamespace("resp", "urn:Microsoft.Search.Response"); 6: nsMgr.AddNamespace("doc", "urn:Microsoft.Search.Response.Document"); 7:  8: var results = nav.Select("//doc:Document", nsMgr);

    Read the article

  • IE9 Released - Download Now

    - by kennedysteve
    The final release of IE9 "hit the stores" (just download it free from here - http://http://www.beautyoftheweb.com//). Enjoy new features like pinning, jump lists, and aero-snap. Of course, IE9 is also focused on standards, so you can now get the best of HTML version 5 in IE9. By the way, if you're using IE6 - you might want to check out http://www.theie6countdown.com/ and http://www.ie6death.com/.

    Read the article

  • SQL Azure Book

    - by ScottKlein
    One of the hotest technology topics of the day is Azure. Being a SQL guy, I am all over this technology, especially SQL Azure. So much so that Herve Roggero and I are currently writing a book for APress on SQL Azure. This book will be out in September and will include deep and thorough coverage of SQL Azure, best practices, and how-to's. We are excited about this book and the technology. However, we'd like to hear from you. As we go around evangelizing SQL Azure at user groups, code camps, and SQL Saturday's, we see the range of "heard of it" to "experimenting with it". Very few are actually doing something with Azure. I'd like to know what your concerns/questions are regarding Azure.  More specifically, what functionality do you think is cool as well as what is lacking, and what would be your list of "must have's" to do something with Azure. We hear a lot regarding security concerns, lack of backup/restore, etc. Is there more? Herve and I will be posting frequently as we write to let you know what we find, what is cool, and what you can look forward to. I'm heading to Tech-Ed in June and hopefully will come back with some great things to tell you!

    Read the article

  • Is IE9 a modern browser?

    - by anirudha
    Is IE9 a modern browser? i show you a post who compare IE as well as they compare chrome. Is IE9 a modern browser? well Are you thing that they make something bettter then thing another that what Firefox and chrome do whenever Microsoft do this. that's point that Microsoft always blast IE because they make version upon version not upon update like Firefox make 3.6.14 after 3.6.13 and chrome give update soon as possible but IE not come soon. they will thing for making 10 instead of giving update on 9. well what they tell us new. they make fool public everytime i believe they make fool public as same as today they maked for version 9 they show developer tool in 9 have three new tabs or pael are this enough. whenever  in chrome and firefox their is many plugin who make development easier IE still have a developer tool who not have enough power like Firebug in Firefox. they show performance but forget luna user [window xp] and their IE never runs on other plateform but chrome and firefox can. no customization in IE whenever chrome and firefox have uncountable plugin and addons. show features now in IE who already implemented in firefox very early. well their is no rule that static goes right every time not sure that IE and Firefox both are right in their language. their is no one predict what thing goes better in future. so well keep a thing in mind never wasted time and also thing to make task easier even you need to use sollution opensource or closesoure inside or outside MS does not matter. well everyone tell you much more then they do even IE and some other. they never tell you this thing not in IE but in another can be found they never tell you use other whenever you need a thing and never can be found in their software. you need to more beware of IE because they make them commorcial not really for public if really then why they stop wxp user to use them as well firefox and chrome never force. because they need a thing that force more then more copy of windows sale. so they thing to add a thing in window 8. the IE9 they thing to make before that they thing to make  this for windows 8. they always force user to purchase this for this. this for this. and this trick sell their software. well outside MS Mozilla and Chrome all behave better with user and their feedback. they respect user their privacy and feedback. if you not believe that how much problem you found in IE and they got solved soon as in chrome and firefox bug kill soon. because IE not opensource we need to  boycutt them secondly their is no customization then they make user task easier even with twitter and facebook.

    Read the article

  • Deploying, but without those pesky test files!

    - by Chris Skardon
    Silverlight testing is great, we all know that (don’t we??), we’re expected to do it as part of the development process, but once we’ve got an awesome application written and we come to deploy it, we don’t want the test files going out with it… You might be like me, have the files in a Web project – let’s face it, that’s how we’re pushed into doing it… So let’s stick with it! Now. I’m deploying via the wonders of the Web Deployment shizzle, but this also applies to the classic ‘installer’ project as well.. Baaaasically, we’re going to use the ‘Debug’ / ‘Release’ configurations to include given files. ?? OK, you know in the top of your visual studio editor, you (usually) have a drop down which predominantly reads ‘Debug’? Those are ‘configurations’. Mostly we don’t bother changing it, primarily due to laziness, but also the fact that we generally don’t see ‘Release’ as actually doing anything other than making it harder to find problems :) Well today my friends we’re going to change that bad boy… The next few steps are just helping you set up a new ‘Debug’ configuration, but you can just switch to the ‘Release’ configuration and skip to the end… First let’s go to the Configuration Manager. There are multiple ways, through the ‘Build’ menu (at the bottom), or via the drop down which currently has ‘Debug’ in it :) Got it? Select ‘New’ from the ‘Active solution configuration’ drop down: Create a new configuration, kind of like the picture below shows (or for those graphically challenged – Name: DebugWithNoTests, and Copy settings from: ‘Debug’, ensuring the ‘Create new project configurations’ checkbox is checked). Press OK. VS will do some shizzle, and in the Configuration manager, you will see pretty much exactly what you did before, only with ‘Debug’ replaced with ‘DebugWithNoTests’. Turn off the build options for the test projects. We won’t need them.. IF you skipped down from the top, this is where you’ll be wanting to stop!!! Close and now we’re one notepad step away from achieving our goals. Yes, I said notepad. You can’t do what we’re going to do in VS. (Pity). Go to the folder where your web project is, and right click on the ‘.csproj’ file. Now open it with notepad. Head on down to the ‘<Content Include’ bits, they’ll look like this: <ItemGroup> <Content Include="ClientBin\Tests.xap" /> ... </ItemGroup> Take this and modify each of the files you don’t want deployed and change to: <Content Include="ClientBin\Tests.xap" Condition="'$(Configuration)' == 'Debug'" /> Once you’ve got that sorted publish your project, once with the Debug configuration selected, and another with any other configuration (‘Release’, ‘DebugWithNoTests’ etc).. No files! Huzzah!

    Read the article

  • FREE three days of online SharePoint 2010 development training for UK software houses Feb 9th to 11th

    - by Eric Nelson
    I have been working to get a SharePoint development course delivered online in February and March – online means lots of opportunities to ask questions. The first dates are now in place. The training is being delivered as a benefit for companies signed up to Microsoft Platform Ready. It is intended for UK based companies who develop software products* Agenda: Day 1 (Live Meeting 3 hours) 1:30 - 4:30 •         Getting Started with SharePoint: Understand why and how to start developing for SharePoint 2010 •         SharePoint 2010 Developer Roadmap:  Explore the new capabilities and features •         UI Enhancements: How to take advantage of the many UI enhancements including the fluent UI ribbon and  extensible dialog system. Day 2 (Live Meeting 3 hours) 1:30 - 4:30 •         Visual Studio 2010 Tools for SharePoint 2010: Overview of the project and item templates and a walkthrough of the designers •         Sandboxed Solutions: The new deployment model can help mitigate the risk of deploying custom code   •         LINQ to SharePoint:  SharePoint now fully supports LINQ for querying lists Day 3 (Live Meeting 3 hours) 1:30 - 4:30 •         Client Object Model: The Client OM can be accessed via web services, via a client (JavaScript) API, and via REST •         Accessing External Data: Business Connectivity Services (BCS) enables integration with back end systems •         Workflow: A powerful mechanism to create functionality using Windows Workflow Foundation Register for FREE (and tell your colleagues – we have a pretty decent capacity) To take advantage of this you need to: Sign your company up to Microsoft Platform Ready and record your SharePoint interest against one of your companies products Read about Microsoft Platform Ready Navigate to the “Get Technical Benefits” tab for SharePoint and click on Register Today You will then ultimately get an email with details of the Live Meeting to join on the 9th. But you should also favourite the team blog for any last minute details * Such companies are often referred to as an Independent Software Vendors. My team is focused on companies that create products used by many other companies or individuals. That could be a packaged product you can buy "off the shelf" or a Web Site offering a service - the definition is actually pretty wide these days :-) What it does not include is a company building software which will only be used by its own people.

    Read the article

  • From the Coal Face - StyleCop 4.4.0

    - by TATWORTH
    Style Cop 4.4.0 is now out. This is a free download from http://stylecop.codeplex.com/ (please note the new location). This version is for VS2010. If you are usign an older version of Visual Studio you be prepared to keep to an older release like 4.3.0. The more I use StyleCop the more I like it. Code that is style cop compliant is much easier to pick up. It helps if you have GhostDoc (free) and Resharper (from jetBrains.Com)

    Read the article

  • TFS 2010 and Expanding Possibilities

    - by ssmantha
    My organization is migrating to the new Team Foundation Server 2010, and we all are busy experimenting with ALM features. I find it very exciting and I foresee quite a lot of possibilities for TFS 2010 getting integrated with the Dynamics product line. I hope most of us know about the Version Control capabilities. However, I see a strong possibilities of having Team Builds and other automations, thanks to the technologies like workflow foundation in .net which is now being actively used in various TFS scenarios.   Lots of experiments so there is more to come!!

    Read the article

  • TypeScript for Visual Studio 2012

    - by TATWORTH
    Originally posted on: http://geekswithblogs.net/TATWORTH/archive/2013/06/21/typescript-for-visual-studio-2012.aspxAt http://www.microsoft.com/en-us/download/details.aspx?id=34790, Microsoft provide a free download of TypeScript for Visual Studio 2012. The documentation site is at http://www.typescriptlang.org/It is described as TypeScript is a language for application-scale JavaScript development.TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.Any browser. Any host. Any OS. Open Source.TypeScript starts from the syntax and semantics that millions of JavaScript developers know today.TypeScript compiles to clean, simple JavaScript code which runs on any browser, in Node.js, or in any other ES3-compatible environment.With TypeScript, you can use existing JavaScript code, incorporate popular JavaScript libraries, and be called from other JavaScript code.These features are available at development time for high-confidence application development, but are compiled into simple JavaScript.If you have written JavaScript, you will know why I welcome the release of version 0.9 of TypeScript as TypeScript should be a lot less frustrating to write. I suggest you go to https://typescript.codeplex.com/ and follow this very promising project.

    Read the article

  • AdventueWorks Design Patterns Project - Part 1

    - by RonGarlit
    This is the presentation I did tonight at PHILLYNJ.NET.  It is the first in a multi-part of a series on the Applied Design Patterns.   The solution files are working code with design pattern notes in the comment blocks. After the overview and higher level discussions on Enterprise Design Patterns I reviewed the low level Database Access Library of code.  With walk-throughs of the the code and unint test. After that we went through the ProductPhotoConsoleTest Application that performed intergration testing of the DBAccess Class with the AdventureWorks ProductPhoto table extracting the photos and writing them to a file folder. The Demo code and PowerPoint can be obained from this link.  https://skydrive.live.com/?wa=wsignin1.0&cid=29e34e9a8650bb9e#!/?cid=29e34e9a8650bb9e&sc=documents&id=29E34E9A8650BB9E%21151 Please note that I use Visual Studio 2010 Ultimate.  If you have a lesser version the Modeling projects likely will not work or have limited functionality and you should unload that project to prevent warning. Enjoy! --Ron

    Read the article

  • Installing Django on Windows

    - by Pranav
    Ever needed to install Django in a Microsoft Windows environment, here is a quick start guide to make that happen: Read through the official Django installation documentation, it might just save you a world of hut down the road. Download Python for your version of Windows. Install Python, my preference here is to put it into the Program Files folder under a folder named Python<Version> Add your chosen Python installation path into your Windows path environment variable. This is an optional step, however it allows you to just type python in the command line and have it fire up the Python interpreter. An easy way of adding it is going into Control Panel, System and into the Environment Variables section. Download Django, you can either download a compressed file or if you’re comfortable with using version control – check it out from the Django Subversion repository. Create a folder named django under your <Python installation directory>\Lib\site-packages\ folder. Using my example above that would have been C:\Program Files\Python25\Lib\site-packages\. If you chose to download the compressed file, open it and extract the contents of the django folder into your newly created folder. If you’d prefer to check it out from Subversion, the normal check out points are http://code.djangoproject.com/svn/django/trunk/ for the latest development copy or a named release which you’ll find under http://code.djangoproject.com/svn/django/tags/releases/. Done, you now have a working Django installation on Windows. At this point, it’d be pertinent to confirm that everything is working properly, which you can do by following the first Django tutorial. The tutorial will make mention of django-admin.py, which is a utility which offers some basic functionality to get you off the ground. The file is located in the bin folder under your Django installation directory. When you need to use it, you can either type in the full path to it or simply add that file path into your environment variables as well. Hope this helps!

    Read the article

  • SilverlightShow for June 20 - 26, 2011

    - by Dave Campbell
    Check out the Top Five most popular news at SilverlightShow for SilverlightShow Top 5 News for June 20 - 26, 2011. Here are the top 5 news on SilverlightShow for last week: Metro UI for RadControls for Silverlight and WPF Nokia's first Windows Phone: images and video, codenamed 'Sea Ray' List of standard icons for Windows Phone 7 (WP7) Is Adobe’s new HTML5 Edge tool Expression Blends replacement? The Ultimate Windows Phone 7.5 Mango Preview Visit and bookmark SilverlightShow. Stay in the 'Light

    Read the article

  • SQL Azure Book

    - by ScottKlein
    One of the hotest technology topics of the day is Azure. Being a SQL guy, I am all over this technology, especially SQL Azure. So much so that Herve Roggero and I are currently writing a book for APress on SQL Azure. This book will be out in September and will include deep and thorough coverage of SQL Azure, best practices, and how-to's. We are excited about this book and the technology. However, we'd like to hear from you. As we go around evangelizing SQL Azure at user groups, code camps, and SQL Saturday's, we see the range of "heard of it" to "experimenting with it". Very few are actually doing something with Azure. I'd like to know what your concerns/questions are regarding Azure.  More specifically, what functionality do you think is cool as well as what is lacking, and what would be your list of "must have's" to do something with Azure. We hear a lot regarding security concerns, lack of backup/restore, etc. Is there more? Herve and I will be posting frequently as we write to let you know what we find, what is cool, and what you can look forward to. I'm heading to Tech-Ed in June and hopefully will come back with some great things to tell you!

    Read the article

  • List item stuck in "Pending"

    - by Norgean
    Problem simplified: On approval, you have an event receiver that changes a field according to some weird and wonderful business logic. But the item remains in "Pending" state. Why?   First, you obviously need to turn off the event handling when you change things in the event receiver. If not, the event receiver will be called because the item changed. Infinite recursion is a bad thing. But you guessed that.   But that's not what was wrong. The culprit in my case was that items are set to require a new approval whenever the item is changed. This is good, but not what we want in this particular case. So force it back to approved after the other column has been changed.

    Read the article

  • Alternative for Sharepoint 2010 Discussion Boards

    - by Madhawa Karunaratne
    If you have tried Sharepoint discussion boards, you already know that you cannot offer a PROPER forum experience with it. It's still very primitive and it will take considerable time and effort you to extend and customize.Fortunately I found that there are some third party solutions, and Lightning Storm Forum is a very nice alternative. I'ts not free but not that expensive either.You can try it for free and can have a proper forum running in your website withing less than an hour :)http://lightningtools.com/products/storm-forums/

    Read the article

  • Azure Florida Association: Modern Architecture for Elastic Azure Applications

    - by Herve Roggero
    Join us on November 28th at 7PM, US Eastern Time, to hear Zachary Gramana talk about elastic scale on Windows Azure. REGISTER HERE: https://www3.gotomeeting.com/register/657038102 Description: Building horizontally scalable applications can be challenging. If you face the need to rapidly scale or adjust to high load variations, then you are left with little choice. Azure provides a fantastic platform for building elastic applications. Combined with recent advances in browser capabilities, some older architectural patterns have become relevant again. We will dust off one of them, the client-server architecture, and show how we can use its modern incarnation to bypass a class of problems normally encountered with distributed ASP.NET applications.

    Read the article

  • Template standard controls for an entirely new look and feel

    - by T
    This is the  Ineta Live player without the O’Data Feed.  It is a good example of taking the plain Media Player provided with the Encoder install and re-templating it to make it your own.  It also has a custom scrub control that is added in.  I generally put my tempates in a separate resource file.  On this project, I discovered that I had to include the template at the document level because I needed the ability to attach some code behind to fire change state behaviors.  I could not use the blend xaml behaviors for change state inside the template because the template can’ determine the TargetObject. Version 1.01 – 6/10/09 (wow how did a week slip by)

    Read the article

  • My website links now include DirectX categories

    - by Michael B. McLaughlin
    I’ve done a bit of overdue updates to my website. The links page - http://www.bobtacoindustries.com/Developers/Links  - now includes DirectX links. I’ve also updated all of the links that were broken in the recent changes to the App Hub site. If you have any good links you think I’m missing, let me know. I haven’t had a chance to do any dead link checking & pruning yet so there might be some links that go to the wrong place or go nowhere at all. That’s the problem with link repositories; maintenance of them is quite a bit of work. But hopefully I’ll find some time to do that soon.

    Read the article

  • LINQ to Twitter Maintenance Feedback

    - by Joe Mayo
    Originally posted on: http://geekswithblogs.net/WinAZ/archive/2013/06/16/linq-to-twitter-maintenance-feedback.aspxIt’s always fun to receive positive feedback on your work. If you receive a sufficient amount of positive feedback, you know you’re doing something right. Sometimes, people provide negative feedback too. There are a couple ways to handle it: come back fighting or engage for clarification. The way you handle the negative feedback depends on what your goals are. Feedback Approaches If you know the feedback is incorrect and you need to promote your idea or product, you might want to come back fighting. The feedback might just be comments by a troll or competitor wanting to spread FUD. However, this could be the totally wrong approach if you misjudge the source and intentions of the feedback. In a lot of cases, feedback is a golden opportunity. Sometimes, a problem exists that you either don’t know about or don’t realize the true impact of the problem. If you decide to come back fighting, you might loose the opportunity to learn something new. However, if you engage the person providing the feedback, looking for clarification, you might learn something very important. Negative feedback and it’s clarification can lead to the collection of useful and actionable data. In my case, something that prompted this blog post, I noticed someone who tweeted a negative comment about LINQ to Twitter. Normally, any less than stellar comments are usually from folks that need help – so I help if I can. This was different. I was like “Don’t use LINQ to Twitter”. This is an open source project, the comment didn’t come from a competing project, and  sounded more like an expression of frustration. So I engaged. Not only did the person respond, but I got some decent quality feedback. What’s also interesting is a couple other side conversations sprouted on the subject, which gave me more useful data. LINQ to Twitter Thread Actions Essentially, this particular issue centered around maintenance. There are actually several sub-issues at play here: dependencies, error handling, debugging, and visibility. I’ll describe each one and my interpretation. Dependencies Dependencies are where a library has references to other libraries. This means that when you build your application, you need DLLs for the entire dependency graph for your application. There are several potential problems with this that include more libraries for configuration management, potential versioning mismatches, and lack of cross-platform support. In the early days of LINQ to Twitter, I allowed developers to contribute and add dependencies, but it became very problematic (for reasons stated). It was like a ball and chain that kept me from moving forward. So, I refactored and pulled other open-source into my project to eliminate external dependencies. This lets me fix the code in my project without relying on someone else to upgrade or fix their DLL. The motivation for this was from early negative feedback that translated as important data and acted on it. Today, LINQ to Twitter has zero dependencies. Note: Rejecting good code from community members who worked hard to make your project better is a painful experience in itself. I have to point out that any contribution was not in vain because they had a positive influence on my subsequent refactoring that resulted in a better developer experience. Error Handling Error handling has been a problem in the past. I have this combination of supporting both synchronous and asynchronous (APM) processing that can be complex at times. Within the last 6 months, I did a fair amount of refactoring to detect errors and process them properly. I also refactored TwitterQueryException so it includes important data from Twitter. During this refactoring, I’ve made breaking changes that I felt would improve the development experience (small things like renaming a callback property to Exception, rather than Error). I think the async error handling is much better than it was a year ago. For all the work I’ve done, there is more to do. I think that a combination of more error handling support, e.g. improving semantics, and education through documentation and samples will improve the error handling story. Because of what I’ve done so far, it isn’t bad, but I see opportunities for improvement. Debugging Debugging can be painful. Here’s why: you have multiple layers of technology to navigate and figure out where the real problem is – Twitter API, Security, HTTP, LINQ to Twitter, and application. You can probably add your own nuances to that list, but the point is that debugging in this environment can be complex. I think that my plans for error handling will contribute to making the debugging process easier. However, there’s more I can do in the way of documentation and guidance. Some of the questions to be answered revolve around when something goes wrong, how does the developer figure out that there is a problem, what the problem is, and what to do about it. One example that has gone a long way to helping LINQ to Twitter developers is the 401 FAQ. A 401 Unauthorized is the error that the Twitter API returns when a use isn’t able to authenticate and is one of the most difficult problems faced by LINQ to Twitter developers. What I did was read guidance from Twitter and collect techniques from my own development and actions helping other developers to compile an extensive list of reasons for the 401 and ways to fix the problem. At one time, over half of the questions I answered in the forums were to help solve 401 issues. After publishing the 401 FAQ, I rarely get a 401 question and it’s because the person didn’t know about the FAQ. If the person is too lazy to read the FAQ, that’s not my issue, but the results in support issues have been dramatic. I think debugging can benefit from the education and documentation approach, but I’m always open to suggestions on whatever else I can do. Visibility Visibility is a nuance of the error handling/debugging discussion but is deeply rooted in comfort and control. The questions to ask in this area are what is happening as my code runs and how testable is the code. In support of these areas, LINQ to Twitter does have logging and TwitterContext properties that help see what’s happening on requests. The logging functionality allows any developer to connect a TextWriter to the Log property of TwitterContext to see what’s happening. Further, TwitterContext has a Headers property to see the headers Twitter returns and a RawResults property to show the Json string Twitter returns. From a testing perspective, I’ve been able to write hundreds of unit tests, over 600 when this post is published, and growing. If you write your own library, you have full control over all of these aspects. The tradeoff here is that while you have access to the LINQ to Twitter source code and modify it for all the visibility, LINQ to Twitter *will* change (which is good) and you will have to figure out how to merge that with your changes (which is hard). The fact is that this is a limitation of any 3rd party library, not just LINQ to Twitter. So, it’s a design decision where the tradeoff is between control and productivity. That said, there are things I can do with LINQ to Twitter to make the visibility story more compelling. I think there are opportunities to improve diagnostics. This would be a ton of work because it would need to provide multi-level logging that can be tuned for production and support any logging provider you want to attach. I’ve considered approaches such as how the new Semantic Logging application block connects to Windows Error Reporting as a potential target. Whatever I do would need to be extensible without creating native external dependencies. e.g. how many 3rd party libraries force a dependency on a logging framework that you don’t use. So, this won’t be an easy feat, but I believe it can be part of the roadmap. I think that a lot of developers are unaware of existing visibility features, so the first step would be to provide more documentation and guidance. My thought are that this would lead to more feedback that will help improve this area. Summary Recent feedback highlights some of items that are important to LINQ to Twitter developers, such as dependencies, error handling, debugging, and visibility. I know that there are maintenance issues that have been problems for LINQ to Twitter developers in the past. I’ve done a lot of work in this area, such as improving error handling, adding visibility features, and providing extensive API documentation. That said, there is more to be done to make LINQ to Twitter the best Twitter API experience available for .NET developers and I welcome anyone’s thoughts on what I’ve written here or new improvements. @JoeMayo

    Read the article

< Previous Page | 162 163 164 165 166 167 168 169 170 171 172 173  | Next Page >