Search Results

Search found 21290 results on 852 pages for 'google hangouts'.

Page 676/852 | < Previous Page | 672 673 674 675 676 677 678 679 680 681 682 683  | Next Page >

  • Using FourSquare API in a Rails App

    - by MikeH
    Anybody have any good resources that might be helpful in trying to integrate the FourSquare API into a Rails app? I'm specifically looking for a good tutorial. There doesn't seem to be much out there yet. There are a few ruby gems, but they are pretty bare bones and I need a bit more hand-holding. Here is a resource that I've found so far: http://tedgrubb.com/ Stack Overflow won't let me include a second hyperlink, but you can also google: Foursquare ruby gem for another resource. I have not done much work with APIs in the past, but I am very comfortable with Rails. What I need is a little better sense of exactly where all the pieces fit. A basic tutorial is what I'm looking for. Thanks.

    Read the article

  • MFMailComposeViewController broke CSS styles in html template

    - by Victor
    I use MFMailComposeViewController to send a message in html format. If my html template contains the css styles: <div class="margin:10 10 10 0"> <a href="domain.name">Go To</a></div> In this case it works good. But if I send: <a href="domain.name">Go&nbsp;To</a> then I see the letter that comes with broken styles as there (3D is not my misprint) <div style=3D"margin:10 10 10 10;"><a href=3D"www.google.com">Go=C2=A0To</a></div> Well as the letter goes broken when I insert in the template symbols from national alphabets. Somebody can tell what the problem and check with yourself?

    Read the article

  • CodePlex Daily Summary for Wednesday, December 05, 2012

    CodePlex Daily Summary for Wednesday, December 05, 2012Popular ReleasesYahoo! UI Library: YUI Compressor for .Net: Version 2.2.0.0 - Epee: New : Web Optimization package! Cleaned up the nuget packages BugFix: minifying lots of files will now be faster because of a recent regression in some code. (We were instantiating something far too many times).DtPad - .NET Framework text editor: DtPad 2.9.0.40: http://dtpad.diariotraduttore.com/files/images/flag-eng.png English + A new built-in editor for the management of CSV files, including the edit of cells, deleting and adding new rows, replacement of delimiter character and much more (issue #1137) + The limit of rows allowed before the decommissioning of their side panel has been raised (new default: 1.000) (issue #1155, only partially solved) + Pressing CTRL+TAB now DtPad opens a screen that shows the list of opened tabs (issue #1143) + Note...Apex: Apex 1.5: Currently in development, Apex 1.5 is primarily a tidy-up, bug fix and minor feature release. New Features The 'AsynchronousCommand' now has the property 'DisableDuringExecution'. If set to true, this will disable execution of the command while it is already executing. The default is false. The 'Command' class now has a strongly typed analogue, Command<TParameter> that allows strong typing of its underlying function. Added the CueTextBox. The CueTextBox is a textbox that can optionally d...AvalonDock: AvalonDock 2.0.1746: Welcome to the new release of AvalonDock 2.0 This release contains a lot (lot) of bug fixes and some great improvements: Views Caching: Content of Documents and Anchorables is no more recreated everytime user move it. Autohide pane opens really fast now. Two new themes Expression (Dark and Light) and Metro (both of them still in experimental stage). If you already use AD 2.0 or plan to integrate it in your future projects, I'm interested in your ideas for new features: http://avalondock...AcDown?????: AcDown????? v4.3.2: ??●AcDown??????????、??、??、???????。????,????,?????????????????????????。???????????Acfun、????(Bilibili)、??、??、YouTube、??、???、??????、SF????、????????????。 ●??????AcPlay?????,??????、????????????????。 ● AcDown??????????????????,????????????????????????????。 ● AcDown???????C#??,????.NET Framework 2.0??。?????"Acfun?????"。 ?? v4.3.2?? ?????????????????? ??Acfun??????? ??Bilibili?????? ??Bilibili???????????? ??Bilibili????????? ??????????????? ???? ??Bilibili??????? ????32??64? Windows XP/...ExtJS based ASP.NET 2.0 Controls: FineUI v3.2.2: ??FineUI ?? ExtJS ??? ASP.NET 2.0 ???。 FineUI??? ?? No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices ???????。 ?????? IE 7.0、Firefox 3.6、Chrome 3.0、Opera 10.5、Safari 3.0+ ???? Apache License 2.0 (Apache) ???? ??:http://fineui.com/bbs/ ??:http://fineui.com/demo/ ??:http://fineui.com/doc/ ??:http://fineui.codeplex.com/ ???? +2012-12-03 v3.2.2 -?????????????,?????button/button_menu.aspx(????)。 +?Window????Plain??;?ToolbarPosition??Footer??;?????FooterBarAlign??。 -????win...Player Framework by Microsoft: Player Framework for Windows Phone 8: This is a brand new version of the Player Framework for Windows Phone, available exclusively for Windows Phone 8, and now based upon the Player Framework for Windows 8. While this new version is not backward compatible with Windows Phone 7 (get that http://smf.codeplex.com/releases/view/88970), it does offer the same great feature set plus dozens of new features such as advertising, localization support, and improved skinning. Click here for more information about what's new in the Windows P...ASP.NET Youtube Clone: ASP.NET Youtube Clone ver 7.1: ASP.NET Youtube Clone Free Script version 7.1SSH.NET Library: 2012.12.3: New feature(s): + SynchronizeDirectoriesmenu4web: menu4web 1.1 - free javascript menu: menu4web 1.1 has been tested with all major browsers: Firefox, Chrome, IE, Opera and Safari. Minified m4w.js library is less than 9K. Includes 22 menu examples of different styles. Can be freely distributed under The MIT License (MIT).Quest: Quest 5.3 Beta: New features in Quest 5.3 include: Grid-based map (sponsored by Phillip Zolla) Changable POV (sponsored by Phillip Zolla) Game log (sponsored by Phillip Zolla) Customisable object link colour (sponsored by Phillip Zolla) More room description options (by James Gregory) More mathematical functions now available to expressions Desktop Player uses the same UI as WebPlayer - this will make it much easier to implement customisation options New sorting functions: ObjectListSort(list,...Chinook Database: Chinook Database 1.4: Chinook Database 1.4 This is a sample database available in multiple formats: SQL scripts for multiple database vendors, embeded database files, and XML format. The Chinook data model is available here. ChinookDatabase1.4_CompleteVersion.zip is a complete package for all supported databases/data sources. There are also packages for each specific data source. Supported Database ServersDB2 EffiProz MySQL Oracle PostgreSQL SQL Server SQL Server Compact SQLite Issues Resolved293...RiP-Ripper & PG-Ripper: RiP-Ripper 2.9.34: changes FIXED: Thanks Function when "Download each post in it's own folder" is disabled FIXED: "PixHub.eu" linksD3 Loot Tracker: 1.5.6: Updated to work with D3 version 1.0.6.13300????????API for .Net SDK: SDK for .Net ??? Release 5: 2012?11?30??? ?OAuth?????????????????????SDK OAuth oauth = new OAuth("<AppKey>", "<AppSecret>", "<????>"); WebProxy proxy = new WebProxy(); proxy.Address = new Uri("http://proxy.domain.com:3128");//??????????? proxy.Credentials = new NetworkCredential("<??>", "<??>");//???????,??? oauth.Proxy = proxy; //??????,?~ Magelia WebStore Open-source Ecommerce software: Magelia WebStore 2.2: new UI for the Administration console Bugs fixes and improvement version 2.2.215.3nopCommerce. Open source shopping cart (ASP.NET MVC): nopcommerce 2.70: Highlight features & improvements: • Performance optimization. • Search engine optimization. ID-less URLs for products, categories, and manufacturers. • Added ACL support (access control list) on products and categories. • Minify and bundle JavaScript files. • Allow a store owner to decide which billing/shipping address fields are enabled/disabled/required (like it's already done for the registration page). • Moved to MVC 4 (.NET 4.5 is required). • Now Visual Studio 2012 is required to work ...NHook - A debugger API: NHook 1.0: x86 debugger Resolve symbol from MS Public server Resolve RVA from executable's image Add breakpoints Assemble / Disassemble target process assembly More information here, you can also check unit tests that are real sample code.PDF Library: PDFLib v2.0: Release notes This new version include many bug fixes and include support for stream objects and cross-reference object streams. New FeatureExtract images from the PDFDocument.Editor: 2013.5: Whats new for Document.Editor 2013.5: New Read-only File support New Check For Updates support Minor Bug Fix's, improvements and speed upsNew ProjectsBookList: Schoolproject for createing a catalogue about schoolbooks. This loads books from a .txt file which is given by the publisher.BunnyHug: BunnyHug Client is an small footprint, high performance and userfriendly piece of software that synchronizes local folder to your Google Docs for Google Apps Premium usersCarRental001: carConCatJS: ConCatJS is a simple application that is capable of recursively processing directories and concatenating the JavaScript (or CSS) files therein into a single file.DemonBuddy Ultimate Plugin: Demon Buddy Plugin which handle all aspect of program: - Looting - Combat - Vendor run - Xml Profile TagDIYbook: 1234567Dynamics Crm 2011 Solution Manager: Dynamics Crm 2011 Solution Manager is used to automatically export/import the Crm 2011 solutions with some pre-defined settings.Easy Weather: PBKHosts Switcher: This small tray icon utility takes care about your host files, so developer can easily switch between QA, production and local environment.ImageGallery CRM 2011: Image loader for annotations CRM 2011 KinectSDK-Kinventor: Library wchich will work as bridge between Kinect and Inventor APILava JS: Lava is a javascript framework that makes creating web applications much easier. It allows you clearly separate logic from the UI by utilizing MVC concepts.LevelEditor: Level Editor is a tool for creating and editing game levels, written entirely in C#/WPF 4.Luxoft test tasks: Luxoft test tasks for competitorsMap Generator: Map Generator for your Civ/Col/Roguelike games in VB.NET.MAXP: ??Membership Adapter: Another approach: adapting MebershipProvider abstract class instead of inheriting it. Motion Maker for Pmd: Test Project.mp3player-xslt-plugin: This is an Umbraco based module for managing mp3 media. You can upload the mp3 media in the dashboard and then display those media anywhere in your site.Music Store Lab: Music Store Lab migrates the original to MVC4, using code first migrations.Mvc Dependency: Mvc Dependency is the smaller better looking sibling of Client Dependency. There's no standing on your head to support legacy Web Forms, just plain simple conventions that put you in control of your resources.MyOrchard: thanks !i myXbyqwrhjadsfasfhgf: myXbyqwrhjadsfasfhgfnApp: Racunovodstveni software za hrvatsko tržišteNazTek.Extension.Clr4: CLR 4.0 extensions and utility APINinja Echo: Ninja Echo is a bot for Stack Overflow chat. It plugs in as a Greasemonkey userscript, and listens for and sends messages.p_zpp_grc: forum dyskusyjne ASP.NET - projekt ATHPivotal Tracker API wrapper: .NET 4.0 C# wrapper for PivotalTracker API. PrinceOfPersia.net: PrinceOfPersia is a game porting of the famous 80' classic game "Prince Of Persia" maded by Broderbound and J. Mechner game. Project13271205: dfProntuário Eletrônico do Paciente: O desenvolvimento de um Prontuário Eletrônico em Saúde (PEP) depende de componentes de software. Alguns públicos são compilados aqui.quirli - free media player for replay and rehearsal.: quirli is a free media player for music replay and rehearsal. It's main feature is fast navigation to predefined cue points in the media.Reinventing the Wheel: Interested in reinventing the wheel? Tired of re-implementing every single helpful piece of code again and again? That's why "Wheels" Project is introduced.Roll the Dice by Ma Chung: This project is developed by - Fika Aditya - M. Ainur R System Information - Ma Chung Universitysc2md: starcraft.md news portalShot In The Dark: Shot In The Dark is a multiplayer top-down 2D shooter framework developed in Flash/AS3.0, and uses the Nonoba Multiplayer API.Silverlog: Blog in silverlightSitecore PowerShell Console: PowerShell environment for Sitecore allowing to apply complex modifications, manipulate sites, files and items and perform content analysis & reports.Solid Edge Community: Solid Edge CommunitySpace Shooter: Space shooter just for funtestdyq: testTestMekepasa: prueba de proyectoTicket Information .NET Component: .NET Component, parsing ticket data from websiteWindows 8 Store Maps App Framework: Framework zur Erstellung eines Windows 8 Store App mit dem Bing Maps Control.

    Read the article

  • Error installing RedCloth

    - by meta
    I'm getting this erron when trying to install RedCloth on openSuse: sudo gem install RedCloth Building native extensions. This could take a while... ERROR: Error installing RedCloth: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb creating Makefile make sh: make: nie znaleziono polecenia Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/RedCloth-4.2.3 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/RedCloth-4.2.3/ext/redcloth_scan/gem_make.out I tried to google this out and triend everything. So I need help with that.

    Read the article

  • How use applicationSettings in the new web.config configuration in VS2010?

    - by citronas
    I'm used to use web deployment projects. Currently I am developing a new web application with VS2010 and want to try to get along with the new web.config principle and deployment issues. How can I replace a simple setting like <applicationSettings> <NAMESPACE> <setting name="Testenvironment" serializeAs="String"> <value>True</value> </setting> </NAMESPACE> </applicationSettings> I want to have this setting to be set to True in Debug, and false in Release. How must the entries in the Web.Debug.config and Web.Release.Config look like? And by the way: Is there some documentation about the new web.config issue? Can't seem to google for the correct keywords.

    Read the article

  • Why is ruby called a dsl?

    - by b_ayan
    Recently, when I tried to explain why Ruby is a DSL to an intern at my organisation, I was not able to articulate my reasonings to the effect I would like to. Maybe I do not understand the space well enough to teach the nuances. Redirecting him to Martin Fowler' article or the google ranked one InfoQ or other material has not helped much either. Can some explain why Ruby is a DSL with an example / parallel situation which is not voodoo stuff for someone who is fairly new to the world of code? Understanding the ideology might also help in elaborating the intricacies of the rails ecosystem?

    Read the article

  • Deploying Asp.Net MVC 2 /C# 4.0 application on IIS 6

    - by Mose
    Hi, I got a problem migrating from VS.Net 2008 / MVC 1 to VS.NET 2010 (+C# 4.0) / MVC 2 The web.config has been updated, the site runs well in Cassini, but my problem now is deploying on IIS 6. I updated the web site to run using ASP.Net 4, but whatever URL I try, I always have a 404 error. It's as if the routing was not taken into account (yes, the wildcard mapping has been done). I do not understand this mess and could not google anything interesting... Thanks for your suggestions ! O.

    Read the article

  • need thoughts on my interview question - .net, c#

    - by uno
    One of the questions I was asked was that I have a database table with following columns pid - unique identifier orderid - varchar(20) documentid - int documentpath - varchar(250) currentLocation - varchar(250) newlocation - varchar(250) status - varchar(15) I have to write a c# app to move the files from currentlocation to newlocation and update status column as either 'SUCCESS' or 'FAILURE'. This was my answer Create a List of all the records using linq Create a command object which would be perform moving files using foreach, invoke a delegate to move the files - use endinvoke to capture any exception and update the db accordingly I was told that command pattern and delegate did not fit the bill here - i was aksed to think and implement a more favorable GoF pattern. Not sure what they were looking for - In this day and age, do candidates keep a lot of info on head as one always has google to find any answer and come up with solution.

    Read the article

  • Configure Active Relying Party STS to Trust Multiple Identity Provider STSes

    - by CodeChef
    I am struggling with the configuration for the scenario below. I have a custom WCF/WIF STS (RP-STS) that provides security tokens to my WCF services RP-STS is an "Active" STS RP-STS acts as a claims transformation STS RP-STS trusts tokens from many customer-specific identity provider STSes (IdP-STS) When a WCF Client connects to a service it should authenticate with it's local IdP-STS The reading that I've done describes this as Home Realm Discovery. HRD is usually described within the context of web applications and Passive STSes. My questions is, for my situation, does the logic for choosing an IdP-STS endpoint belong in the RP-STS or the WCF Client application? I thought it belonged in the RP-STS, but I cannot figure out the configuration to make this happen. RP-STS has a single endpoint, but I cannot figure out how to add more than one trusted issuer per endpoint. Any guidance on this would be very appreciated (I'm out of useful keywords to Google.) Also, if I'm way off please offer alternative approaches. Thanks!

    Read the article

  • MVC2 Annotations dll not found by VS2008 compiler, how do I make it look in the right place?

    - by Paul Connolly
    I have VS2008 SP1 running with .NET 3.5 SP1 I have MVC2 running (with MVC1 uninstalled) All works ok except when I call the System.Components.DatAnnotations.dll, then the compiler complains of not being able to find it. Message is: Could not load file or assembly 'System.ComponentModel.DataAnnotations, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. I tried repairing and reinstalling SP1 of both VS and .Net framework. I also tried referencing the assembly by browsing to it in the Reference assemblies in Programs directory. I have tried out most of the Google search result forum results but to no avail, I think it may be something simple which I have over looked. Any ideas?

    Read the article

  • OpenLayers Projections.

    - by Jenny
    I can succesfully do: point.transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326")); To a point that is in the google format (in meters), but when I want to do the reverse: point.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913")); to a point that is in 4326 (regular lat/lon format), I am having some issues. Any negative value seems to become NaN (not a number) when I do the transformation. Is there something about the transformation in reverse that I don't understand? Edit: Even worse, when I have no negative values, the coordinates seem off. I am getting the coordinates by drawing a square on the screen, then saving those coordinates to a database and loading them later. I can draw a square near the tip of africa (positive coordinates), and then when it loads it's near the top of africa, in the atlantic ocean. I'm definitely doing something wrong....

    Read the article

  • Resetting or refreshing a database connection

    - by cdonner
    This Android application on Google uses the following method to refresh the database after replacing the database file with a backup: public void resetDbConnection() { this.cleanup(); this.db = SQLiteDatabase.openDatabase( "/data/data/com.totsp.bookworm/databases/bookworm.db", null, SQLiteDatabase.OPEN_READWRITE); } I did not build this app, and I am not sure what happens. I am trying to make this idea work in my own application, but the data appears to be cached by the views, and the app continues to show data from the database that was replaced, even after I call cleanup() and reopen the database. I have to terminate and restart the activity in order to see the new data. I tried to call invalidate on my TabHost view, which pretty much contains everything. I thought that the views would redraw and refresh their underlying data, but this did also not have the expected result. I ended up restarting the activity programmatically, which works, but this seems to be a drastic measure. Is there a better way?

    Read the article

  • good documentation about "avoid catching throwable", in context of weblogic server

    - by Marcel
    hi all, i am currently refactoring an existing codebase (EJBs...) to rip out all blocks where a Throwable is catched inside of the EJB. try { ... do some business logic } catch(Throwable t){ ... log and swallow ... :-( } i want/need to convince the people around me with proper documentation that "catching throwable" is a no-go for an EJB (we have lots of discussions around this :-(( ). weblogic will handle all the "Error" conditions and maybe invalidate EJBs and put fresh(working) EJBs into the pool. catching Throwable would undermine all these security nets provided by weblogic. and catching throwable is bad practice anyway (but people here are reluctant and use the "throwable" hammer everywhere). is anyone able to point me to some online docs where this behaviour is explained (for weblogic or jboss or...). i searched via google and had a look at the weblogic docs but wasn't able to find anything, just generic java doc. any help highly appreciated cheers marcel

    Read the article

  • how to fetch app data(name, version, etc.) from android market?

    - by liuxingruo
    As we know, the apps in the apple app store has a unique itunes link, and we can fetch app data about the app from app store through the link. I am wondering how can i achieve this in the android market, just like the website http://www.androlib.com/ did? As long as I know, each app in the android market has a ID, which just like "com.gabrouze.magic", and the QR Code can be viewed in "http://chart.apis.google.com/chart?cht=qr&chs=135x135&chl=market://search?q=pname:com.gabrouze.magic". Thanks!

    Read the article

  • Microsoft ACE OLEDB provider throws could not find installable ISAM exception

    - by Michael Stoll
    I'm trying to read Excel spreadsheets with a 64bit Process. Therefore I use the 64 bit Version of Micorosft Access Database Engine 2010. The following code var cs = @"Provider=Microsoft.ACE.OLEDB.12.0;" + @"Data Source=C:\test.xls;" + @"Extended Properties=""Excel 14.0;"""); con = new OleDbConnection(cs); con.Open(); throw an Exception: Could not find installable ISAM Using google I found a lot of questions about this exception. But they refer to JET and seem not apply to my problem. Any recommendations?

    Read the article

  • LaTeX at symbol

    - by secondbanana
    What does the @ symbol mean in LaTeX? I'm looking at the source of apa.cls, and there's a declaration: \newsavebox\gr@box and later on \sbox\gr@box{\includegraphics[width=\linewidth]{#2}}. It seems like @ isn't acting as a normal character, but I can't figure out exactly what it's doing, and couldn't find anything after bit of googling (how I would love a Google regex feature!) Thanks. EDIT: Thanks for the help; of the links I looked through I found http://www.tug.org/pipermail/tugindia/2002-January/000178.html to be very helpful and concise. To summarize, the @ character is not normally allowed in the names of macros, so as a hack for scoping, LaTeX packages declare it internally to be a valid name character and use it for their macros. You can use \makeatletter in a document to access these macros, but you obviously must be very careful since you have can now overwrite essential LaTeX kernel macros; use \makeatother to revert.

    Read the article

  • Winforms Hotkey, Help?

    - by Di4g0n4leye
    namespace WebBrowser { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } int GetPixel(int x, int y) { Bitmap bmp = new Bitmap(1, 1, PixelFormat.Format32bppPArgb); Graphics grp = Graphics.FromImage(bmp); grp.CopyFromScreen(new Point(x,y), Point.Empty, new Size(1,1)); grp.Save(); return bmp.GetPixel(0, 0).ToArgb(); } void Button1Click(object sender, EventArgs e) { int x = Cursor.Position.X; int y = Cursor.Position.Y; int pixel = GetPixel(x,y); textBox1.Text = pixel.ToString(); } void MainFormLoad(object sender, EventArgs e) { webBrowser1.Navigate("http://google.com"); } } } } i want to add a hotkey that call Button1 on Press, How can that be done?

    Read the article

  • Launching MapActivity from another activity

    - by DixieFlatline
    Hello! I have 1 activity and 1 class that extends MapActivity(Lokacija). I added MapActivity to manifest, this line and my build configuration is set to Google API. I want to launch the mapactivity with the press of a button as usually: final Intent i = new Intent(); intent.setClass(getApplicationContext(), Lokacija.class); startactivity(i);ode here When i click on a button, I get android runtime exception (no activity found to handle intent). I has to be something with class extending MapActivity, but i don't know what. Any suggestions?

    Read the article

  • ffmpeg problem in ubuntu (libavcodec.so)

    - by lyuba
    I run Ubuntu and try to use the ffmpeg wrapper in Java from here: http://code.google.com/p/javacv/ It seems to work fine on other systems, but in Ubuntu the project crashes with the following mistake: Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'avcodec_decode_video2': /usr/lib/i686/cmov/libavcodec.so: undefined symbol: avcodec_decode_video2 ffmpeg is working great from the command line, though. JavaCV author recommended me to check this link: http://linux-tipps.blogspot.com/2009/05/pretending-package-is-installed-by.html Probably I'm doing something wrong, but it cannot reinstall libavcodec51 like this. So the questions are: 1. Is those solution above a good one so I should bring it to success somehow? 2. What are the other ways to solve the problem? Thank you for your suggestions in advance!

    Read the article

  • Using ZeroC Middleware

    - by Sean
    I'm currently looking at various middleware solutions that will allow me to create applications in a variety of languages which are able to communicate amongst each other. The ZeroC product suite seems ideal as it provides a language agnostic way of defining data and the services that operate on the data (via its ICE idl) and provides support for all the mainstream languages. It also appears to offer a lot of other things we'd want, such as load balancing, grid computing and managed deployment. However, my google-fu has let me down and I'm having trouble finding information from people who have used it to implements system. I'm looking for feedback from projects that use it, and what issues/successes they had. I'm also interested in feedback from projects that evaluated it and chose not to use it (and why).

    Read the article

  • Detecting HTML5/CSS3 Features using Modernizr

    - by dwahlin
    HTML5, CSS3, and related technologies such as canvas and web sockets bring a lot of useful new features to the table that can take Web applications to the next level. These new technologies allow applications to be built using only HTML, CSS, and JavaScript allowing them to be viewed on a variety of form factors including tablets and phones. Although HTML5 features offer a lot of promise, it’s not realistic to develop applications using the latest technologies without worrying about supporting older browsers in the process. If history has taught us anything it’s that old browsers stick around for years and years which means developers have to deal with backward compatibility issues. This is especially true when deploying applications to the Internet that target the general public. This begs the question, “How do you move forward with HTML5 and CSS3 technologies while gracefully handling unsupported features in older browsers?” Although you can write code by hand to detect different HTML5 and CSS3 features, it’s not always straightforward. For example, to check for canvas support you need to write code similar to the following:   <script> window.onload = function () { if (canvasSupported()) { alert('canvas supported'); } }; function canvasSupported() { var canvas = document.createElement('canvas'); return (canvas.getContext && canvas.getContext('2d')); } </script> If you want to check for local storage support the following check can be made. It’s more involved than it should be due to a bug in older versions of Firefox. <script> window.onload = function () { if (localStorageSupported()) { alert('local storage supported'); } }; function localStorageSupported() { try { return ('localStorage' in window && window['localStorage'] != null); } catch(e) {} return false; } </script> Looking through the previous examples you can see that there’s more than meets the eye when it comes to checking browsers for HTML5 and CSS3 features. It takes a lot of work to test every possible scenario and every version of a given browser. Fortunately, you don’t have to resort to writing custom code to test what HTML5/CSS3 features a given browser supports. By using a script library called Modernizr you can add checks for different HTML5/CSS3 features into your pages with a minimal amount of code on your part. Let’s take a look at some of the key features Modernizr offers.   Getting Started with Modernizr The first time I heard the name “Modernizr” I thought it “modernized” older browsers by added missing functionality. In reality, Modernizr doesn’t actually handle adding missing features or “modernizing” older browsers. The Modernizr website states, “The name Modernizr actually stems from the goal of modernizing our development practices (and ourselves)”. Because it relies on feature detection rather than browser sniffing (a common technique used in the past – that never worked that great), Modernizr definitely provides a more modern way to test features that a browser supports and can even handle loading additional scripts called shims or polyfills that fill in holes that older browsers may have. It’s a great tool to have in your arsenal if you’re a web developer. Modernizr is available at http://modernizr.com. Two different types of scripts are available including a development script and custom production script. To generate a production script, the site provides a custom script generation tool rather than providing a single script that has everything under the sun for HTML5/CSS3 feature detection. Using the script generation tool you can pick the specific test functionality that you need and ignore everything that you don’t need. That way the script is kept as small as possible. An example of the custom script download screen is shown next. Notice that specific CSS3, HTML5, and related feature tests can be selected. Once you’ve downloaded your custom script you can add it into your web page using the standard <script> element and you’re ready to start using Modernizr. <script src="Scripts/Modernizr.js" type="text/javascript"></script>   Modernizr and the HTML Element Once you’ve add a script reference to Modernizr in a page it’ll go to work for you immediately. In fact, by adding the script several different CSS classes will be added to the page’s <html> element at runtime. These classes define what features the browser supports and what features it doesn’t support. Features that aren’t supported get a class name of “no-FeatureName”, for example “no-flexbox”. Features that are supported get a CSS class name based on the feature such as “canvas” or “websockets”. An example of classes added when running a page in Chrome is shown next:   <html class=" js flexbox canvas canvastext webgl no-touch geolocation postmessage websqldatabase indexeddb hashchange history draganddrop websockets rgba hsla multiplebgs backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimations csscolumns cssgradients cssreflections csstransforms csstransforms3d csstransitions fontface generatedcontent video audio localstorage sessionstorage webworkers applicationcache svg inlinesvg smil svgclippaths"> Here’s an example of what the <html> element looks like at runtime with Internet Explorer 9:   <html class=" js no-flexbox canvas canvastext no-webgl no-touch geolocation postmessage no-websqldatabase no-indexeddb hashchange no-history draganddrop no-websockets rgba hsla multiplebgs backgroundsize no-borderimage borderradius boxshadow no-textshadow opacity no-cssanimations no-csscolumns no-cssgradients no-cssreflections csstransforms no-csstransforms3d no-csstransitions fontface generatedcontent video audio localstorage sessionstorage no-webworkers no-applicationcache svg inlinesvg smil svgclippaths">   When using Modernizr it’s a common practice to define an <html> element in your page with a no-js class added as shown next:   <html class="no-js">   You’ll see starter projects such as HTML5 Boilerplate (http://html5boilerplate.com) or Initializr (http://initializr.com) follow this approach (see my previous post for more information on HTML5 Boilerplate). By adding the no-js class it’s easy to tell if a browser has JavaScript enabled or not. If JavaScript is disabled then no-js will stay on the <html> element. If JavaScript is enabled, no-js will be removed by Modernizr and a js class will be added along with other classes that define supported/unsupported features. Working with HTML5 and CSS3 Features You can use the CSS classes added to the <html> element directly in your CSS files to determine what style properties to use based upon the features supported by a given browser. For example, the following CSS can be used to render a box shadow for browsers that support that feature and a simple border for browsers that don’t support the feature: .boxshadow #MyContainer { border: none; -webkit-box-shadow: #666 1px 1px 1px; -moz-box-shadow: #666 1px 1px 1px; } .no-boxshadow #MyContainer { border: 2px solid black; }   If a browser supports box-shadows the boxshadow CSS class will be added to the <html> element by Modernizr. It can then be associated with a given element. This example associates the boxshadow class with a div with an id of MyContainer. If the browser doesn’t support box shadows then the no-boxshadow class will be added to the <html> element and it can be used to render a standard border around the div. This provides a great way to leverage new CSS3 features in supported browsers while providing a graceful fallback for older browsers. In addition to using the CSS classes that Modernizr provides on the <html> element, you also use a global Modernizr object that’s created. This object exposes different properties that can be used to detect the availability of specific HTML5 or CSS3 features. For example, the following code can be used to detect canvas and local storage support. You can see that the code is much simpler than the code shown at the beginning of this post. It also has the added benefit of being tested by a large community of web developers around the world running a variety of browsers.   $(document).ready(function () { if (Modernizr.canvas) { //Add canvas code } if (Modernizr.localstorage) { //Add local storage code } }); The global Modernizr object can also be used to test for the presence of CSS3 features. The following code shows how to test support for border-radius and CSS transforms:   $(document).ready(function () { if (Modernizr.borderradius) { $('#MyDiv').addClass('borderRadiusStyle'); } if (Modernizr.csstransforms) { $('#MyDiv').addClass('transformsStyle'); } });   Several other CSS3 feature tests can be performed such as support for opacity, rgba, text-shadow, CSS animations, CSS transitions, multiple backgrounds, and more. A complete list of supported HTML5 and CSS3 tests that Modernizr supports can be found at http://www.modernizr.com/docs.   Loading Scripts using Modernizr In cases where a browser doesn’t support a specific feature you can either provide a graceful fallback or load a shim/polyfill script to fill in missing functionality where appropriate (more information about shims/polyfills can be found at https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills). Modernizr has a built-in script loader that can be used to test for a feature and then load a script if the feature isn’t available. The script loader is built-into Modernizr and is also available as a standalone yepnope script (http://yepnopejs.com). It’s extremely easy to get started using the script loader and it can really simplify the process of loading scripts based on the availability of a particular browser feature. To load scripts dynamically you can use Modernizr’s load() function which accepts properties defining the feature to test (test property), the script to load if the test succeeds (yep property), the script to load if the test fails (nope property), and a script to load regardless of if the test succeeds or fails (both property). An example of using load() with these properties is show next: Modernizr.load({ test: Modernizr.canvas, yep: 'html5CanvasAvailable.js’, nope: 'excanvas.js’, both: 'myCustomScript.js' }); In this example Modernizr is used to not only load scripts but also to test for the presence of the canvas feature. If the target browser supports the HTML5 canvas then the html5CanvasAvailable.js script will be loaded along with the myCustomScript.js script (use of the yep property in this example is a bit contrived – it was added simply to demonstrate how the property can be used in the load() function). Otherwise, a polyfill script named excanvas.js will be loaded to add missing canvas functionality for Internet Explorer versions prior to 9. Once excanvas.js is loaded the myCustomScript.js script will be loaded. Because Modernizr handles loading scripts, you can also use it in creative ways. For example, you can use it to load local scripts when a 3rd party Content Delivery Network (CDN) such as one provided by Google or Microsoft is unavailable for whatever reason. The Modernizr documentation provides the following example that demonstrates the process for providing a local fallback for jQuery when a CDN is down:   Modernizr.load([ { load: '//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js', complete: function () { if (!window.jQuery) { Modernizr.load('js/libs/jquery-1.6.4.min.js'); } } }, { // This will wait for the fallback to load and // execute if it needs to. load: 'needs-jQuery.js' } ]); This code attempts to load jQuery from the Google CDN first. Once the script is downloaded (or if it fails) the function associated with complete will be called. The function checks to make sure that the jQuery object is available and if it’s not Modernizr is used to load a local jQuery script. After all of that occurs a script named needs-jQuery.js will be loaded. Conclusion If you’re building applications that use some of the latest and greatest features available in HTML5 and CSS3 then Modernizr is an essential tool. By using it you can reduce the amount of custom code required to test for browser features and provide graceful fallbacks or even load shim/polyfill scripts for older browsers to help fill in missing functionality. 

    Read the article

  • Asynchronous Silverlight WCF callback

    - by Matt
    I've created my own WCF service and I've successfully been able to talk to it via my Silverlight client. I ran into an interesting problem on my asynchronous callbacks though. When my callback is invoked, I can't update any UI controls with the dreaded invalid cross thread access Here's what my callback function looks like private void GetTimeCallBack( object sender, Talk.ClientBase<IService>.ClientEventArgs e ) { lblDisplay.Text = e.Object.ToString(); } A quick google search showed me that I have to do this instead. private void GetTimeCallBack( object sender, Talk.ClientBase<IService>.ClientEventArgs e ) { Dispatcher.BeginInvoke( () => lblDisplay.Text = e.Object.ToString() ); } Now everything works fine, but I wasn't expecting my callback to be running on a different thread. Will I always have to use the Dispatcher class in order to modify anything within my class or is this just limited to UI elements? I've not familiar with the Dispatcher class at all so I'm looking to understand it more.

    Read the article

  • GTK+ (GTKSharp) poor performance in Windows

    - by nubela
    Hi, In my Mono (C#) project that is meant to be cross-platform, I am using the GTK for the UI. However one thing I noticed is, on my netbook in Archlinux, the performance is really speedy, so events such as mouse hover, and redrawing of widgets, etc, are really fast. Compared to windows (7) on dual core CPUs, the performance is really really weak. Which perplexes me. Am I doing something wrong that is warranting this difference in performance between OSes? What are some ways I can do to optimize GTK on Windows? Its really bad to take around 0.5 secs for a hover event to kick in whereas its almost immediate on a weak(er) netbook with Linux. My code is here for the GUI layer: http://code.google.com/p/subsynct/source/browse/branches/dev/subsync#subsync/GUI Thanks!

    Read the article

  • Storing a SHA512 Password Hash in Database

    - by Chris
    In my ASP.NET web app I'm hashing my user passwords with SHA512. Despite much SO'ing and Googling I'm unclear how I should be storing them in the database (SQL2005) - the code below shows the basics of how I'm creating the hash as a string and I'm currently inserting it into the database into a Char(88) column as that seems to be the length created consistently Is holding it as a String the best way to do it, if so will it always be 88 chars on a SHA512 (as I have seen some bizarre stuff on Google)? Dim byteInput As Byte() = Encoding.UTF8.GetBytes(sSalt & sInput) Dim hash As HashAlgorithm = New SHA512Managed() Dim sInsertToDatabase As String = Convert.ToBase64String(hash.ComputeHash(byteInput))

    Read the article

  • iPhone FBConnect, dashboard.addnews

    - by Dmitry
    Hi, The question is: how to add news via FBConnect?? I have the following code: NSString *newsBody = @"[{\"message\": \"News message\" }]"; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:newsBody forKey:@"news"]; [[FBRequest requestWithDelegate:self] call:@"facebook.dashboard.addnews" params:params dataParam:nil]; After I sent the request I received the success responce. But I can't see the new news in the facebook account!! Also, I tried to add full info into news parameter (http://wiki.developers.facebook.com/index.php/Dashboard.addNews):: NSString *newsBody = @"[{\"message\": \"News message\",\"action_link\": {\"text\": \"link text\", \"href\": \"http: //google.com\"} }]"; But this request returns error :( Thanks in advance!

    Read the article

< Previous Page | 672 673 674 675 676 677 678 679 680 681 682 683  | Next Page >