DISCLAIMER: I don't work on TypeScript. I am not involved with that team and this is all my own opinion and conjecture.
TypeScript was announced and folks are saying "TypeScript is clearly Microsoft's answer to Google's Dart" or "So TypeScript is Microsoft's answer to CoffeeScript."
I was chatting with Jez Humble today about the intense interest and some little gnashing of teeth around TypeScript and he offered this little gem of a quote:
It's disappointing when smart people display a profound ignorance of computing history. - Jez Humble
I really enjoy working on and thinking about mobile websites. There's something about making an experience great on a
pocket supercomputer phone that is so much more satisfying than a desktop. I actually got this blog looking nice on mobile devices back in 2006 when nobody was mobile except doctors and, well, all of us techies here on the blogs.
ASP.NET Web Forms DynamicData FieldTemplates for DbGeography Spatial Types (plus Model Binders and Friendly URLs)
Did you enjoy my recent post on ASP.NET MVC DisplayTemplate and EditorTemplates for Entity Framework DbGeography Spatial Types and it's associated GIANT URL?
Modeling Binding and EditorTemplates...for ASP.NET Web Forms?
DisplayTemplates and EditorTemplates are a great way in ASP.NET MVC to keep things DRY (Don't Repeat Yourself.) That means I can just write EditorFor() calls like this:
@Html.EditorFor(model => model.Location)
See how I didn't say "TextBoxFor" or "MapFor"? You say EditorFor and it makes the right choice. If the type is called DbGeography then it will look for a Editor Template at ~/Shared/EditorTemplates/DbGeography.cshtml. It's a nice feature of ASP.NET MVC that folks don't use enough.
Popups, I do not like them, at all. While they are sometimes used by sites to make part of the website’s functionality available, they are more often than not used for advertisement. And while there is nothing wrong with advertising in general, popup ads tend to be one of the most annoying forms of advertisement that you encounter on the Internet. The core reason being that new windows are spawned, that you need to close manually at one point or the other. That’s fine if one window spawns, but there are sites out there that bombard you with popups.
Chrome: Kill Evil is a simple extension that disables annoying scripts all across the web, like sites that won't let you right-click, sites that won't let you copy images, or sites that paste in citation links whenever you copy their text. More »
- Lexical scoping. Now "let" is the new "var" – traditional "var" declarations are complemented with "let" and "const". Both are properly block-scoped bindings, eliminating a common source of errors and weird behaviour. Function declarations are now officially allowed in local scope as well, and also obey lexical scoping. (Note: Lexical scoping is only available in ES strict mode.)
- Collections. Efficient maps and sets will make your life easier. Any value can be used as a key or element, including objects. No surprises, no more need to abuse objects as dictionaries. (Caveat: Iteration over collections is not yet specified.)
- Weak maps. A special kind of map for which the garbage collector determines when a key is no longer reachable, so that the key-value pair can be removed from the map automatically. This goes a long way towards avoiding memory leaks in long-lived tables and relieves the developer from worrying about stale entries.
...and there is a lot more to come, as the V8 team will continue working on bringing new Harmony features to you.
To update to the latest stable version of Chrome, simply close your browser and re-open it -- the update should be applied automatically. Alternatively, click the wrench icon and then About Google Chrome, which will check for the the latest update.
If you have found that onclick event does not work on Google Chrome, Firefox and Safari web browsers, then here is quick way to fix it:
Replace onclick form id with its name
For example, let’s say you have the following:
Find JS event:
All set. It now works with all web browsers.
Google's Chrome beta update brings with it a slew of goodies for the adventurous users who prefer slightly more cutting-edge features over tried-and-true stability. Version 10.0.648.82 hit the beta channel earlier today, and it affected just about every piece of the browser, from the settings interface to the rendering engine.
Browser settings are now opened in their own tab, as opposed to a separate window. The added space and cleaner layout that this provides is actually quite nice, and when you think about it, a browser that can use multiple tabs really has no reason to make new windows at all, so it just makes sense. One cool side-effect of moving settings into a tab is that they're actually browsable, meaning that if you get good enough at it, you can go directly to the page for certain settings just by using its address -- like "chrome://settings/advanced" or "chrome://settings/browser."
Crankshaft is made up of four components:
- a runtime profiler for identifying code that uses a significant number of CPU cycles
- a base compiler for generating code more quickly
- an optimizing compiler which re-compiles code pinpointed by the profiler
- deoptimization mechanism that allows Crankshaft to recover from overly-optimistic code optimizations
...And for those of you wondering when Chrome was going to hit version ten, you've got your answer. It's already happened to the Canary build -- so hit your wrench menu > About Google Chrome and restart to update yourself to Chrome X! There's not much new that you'll notice right off the bat, with the exception of a selectable Instant option and experimental geolocation features in about:flags.
Options provided are to open the selected link in a new tab in the same browser window or in the current tab. This works fine in most instances, but not all the time. It is for instance not working in Google Search. An error message is displayed if Safy is used to display a search result in a sandboxed tab.
Then again, it works very well for normal links on most sites. Ideal for opening a link on Twitter, Facebook or blogs in a safer environment.
Safy is available only for the Chrome browser. It can be installed directly from the Chrome extension gallery.
NotScripts is one effort to create such an add-on, and it seems to be fairly well advanced.
The whole thing feels like a giant workaround. It works "by cleverly using HTML5 storage caching to overcome the timing issues," and it requires you to set a manual password by editing an external file so that sites cannot view the extension's white list of "allowed sites."
You may recall a couple of months ago when I falsely reported on what I thought was a new feature of Chrome. It was admittedly kind of neat: I thought websites could link themselves to a Chrome Extension, and pop up an alert at the top of your browser if you hadn't installed it.
For a technology blog, TNW displays disgustingly little foresight. This bar is, in effect, an updated phishing or rogue malware attack. You all know the type: that pop-up that claims to scan your hard disk for viruses but actually installs a bunch of Trojans.
Wouldn't it be easy to change the appearance of the bar so that it's obviously not part of the browser? How about making it pink, or changing the logo on the left to something distinctly un-Chromeish?
TNW has just opened a smelly kettle of fish -- and from now on, I suggest you all read your Chrome alerts carefully before clicking.
I'm a big fan of Quix, the handy scriptable bookmarklet that works like a command line from your browser.
Wouldn't it be cool if you could use the search bar as a command line, though, instead of triggering a Quix window? If you use Google Chrome, you can. This neat little hack requires setting up Quix as the default search engine, which will require copy-pasting a little bit of code.
To get Chrome to recognize Quix as a search engine, grab the code from this intrepid coder's blog and follow the detailed instructions there. It actually doesn't take long to set up, and anybody who's savvy enough to use Quix can probably manage it. If you're worried that using Quix as your default search will make Googling tougher, don't sweat it too much: simply putting a g in front of your search is the default Quix command for Google.