ASP.NET/Silverlight
IronRuby/DLR/IronPython
NHibernate
Unit Tests/TDD
Visual Studio/Software Development Tools
CLR
SaaS
Technorati Tags: New and Notable,ASP.NET AJAX,Silverlight,IronRuby,IronPython,NHibernate,Unit Tests,TDD,Visual Studio 2008 SP1 Beta,CLR,SaaSAs I have mentioned recently, we (Telligent) are starting to implement distributed caching in Community Server and will likely build it in early in some of the other product work we are doing. While we are not yet done with this work, there are some early patterns and tips I think you will find helpful.
Don't count on it.
Similar to ASP.Net's out of the box in-process cache (HttpCache), you must always assume data in the cache does not exist.
Do not update objects in the cache by reference.
Using HttpCache, you can update objects in the cache without pushing the updates back into the cache. Once you start distributing your cache and jumping in and out of process, you will need to explicity push updates back into the cache to ensure the other servers utilizing those objects will receive the change.
Do not over jump.
In most cases, using distributed caching requires you to jump out of process. However, you should (almost) never jump out of the process for the same object twice on the same request. To accomplish them, consider caching objects in the HttpCache for a very short period of time or utilize HttpContext.Items for per request storage.
Isolate the Cache.
For various reasons, you may not always need distributed caching and may find developing locally without it to be ideal. You should consider isolating your caching access behind an interface which would allow you an easy pattern/strategy for swapping out cache at runtime (provider/factory patterns).
Avoid duplicate object caching.
(This is also valid for HttpCache.) Applications will often cache lists of objects which can lead to duplicate copies of an object in the cache. As an application grows it can become more complicated to ensure object changes are replicated through out the cache when "copies" of the object are in various lists. In addition, each duplicate object in the cache takes up memory space that could be used by another object.
Consistent and predictable cache keys.
As you scale (add servers) with distributed caching it will become increasing important to clear cached items when the object's state has changed.
If you have any other tips, suggestions, or strategies, please leave them in the comments.
Posted to Code and tagged as cache , memcached
Similar Posts
Windows Live Writer is still best desktop blogging tool on the "market", but as the name implies it only works on Windows.
I had been using TextMate for a while, but I have been wanting something a bit richer.
After a bit of debugging and testing, I was finally able to get Etco to support slugs, extended entries, and tags by leveraging the Moveable Type and Wordpress versions of the MetaBlog API.
I am still hoping to get MarsEdit to work properly but its requirement to use the mt.setCategories method after saving post content and before publishing might be a deal breaker.
These changes will be available in v.Next of Graffiti.
Posted to Software and tagged as apple , blogging , mac
Similar Posts
I am super excited to finally be taking a comprehensive BizTalk Server course to add to my skill set. I am taking the Pluralsight BizTalk Server 2006 R2 Fundamentals course in NYC the week of 8/4. I am even more thrilled that my good friend Jon Flanders is teaching it.
If you are interested in taking the course, contact Scott Deadrick at (310) 251-9901 and tell him I sent you.
Course description:
BizTalk Server 2006 is Microsoft’s integration and business process management server offering based on .NET 2.0. BizTalk Server 2006 R2 is a release of BizTalk Server that brings it into the .NET 3.0 world, with integration between BizTalk and Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). R2 also includes full support for EDI, including both X12 and EDIFACT schema support, as well as support for EDI transaction batching. It also includes BizTalk RFID, which will enable integration between software and objects in the physical world.
Developers interested in learning about BTS 2006, and how it can be used to solve integration and business process automation challenges throughout traditional enterprise systems.
Technorati Tags: BizTalkRuby/Iron Ruby
ASP.NET MVC/Silverlight
Service Security/Identity Management/SOA
CLR/DLR
SQL Server/Data Dude
You know, I'm so jaded from having working for Ray Ozzie at Groove and John Landry at Adesso so I have seen all this before and passed on LiveMesh the first time :) However, reading Brad's post about the Terminal Service from 10,000 miles away and listening to my good friend Jon Flanders go on about it the other night, I have given another try and fallen in love. The need for UAC seems to have gone away. I am syncing lots of user group files between PCs and guess what? My SmartPhone! I can not only log in and see all my files, but using Office Mobile in Windows Mobile 6, I can edit them and sync them back! The Add Picture stuff is not working yet, but I can take previous shot pictures and sync them to PCs and such. This tool rocks!
Technorati Tags: Windows Live,Live MeshC#/.NET Programming/WPF
ASP.NET MVC
I mentioned that I was looking for new opportunities but I have decided to concentrate my independent Microsoft .NET consulting on all things Connected Systems and Messaging. I see many shops around the country struggling with WCF and WF. In this area, I have been a part of the WCF and WF SDRs for 4 years now since the beginning and part of the large 2-year WCF and WF effort at Algorithmics. I am available, on a consulting basis, to help you with your WCF, WF and BizTalk needs. In addition, I believe that WCF is too low-level and difficult for many shops that are pursuing Services and SOA beyond a few causal services. To that end, I am an authorized representative for Neuron ESB and it's place in accelerating your WCF and SOA efforts. Using my 26 years in the industry, I can help you look at your Architecture and find ways to make it better. Not only that, but I can help ensure you are on the right path for Oslo. If you are interested, please respond here or email to managedcode44 AT hotmail. Please do not use that email for unrelated questions - that's what the comments and newsgroups are for.
Technorati Tags: Sam Gentile,WCF,WF,BizTalk,Software Architecture,Neuron ESB,ESB,SOAI finally put up all the demo code (except Neuron) for the Capital Area .NET UG presentation that I did on 6/24. So:
Questions, ask
Technorati Tags: INETA,EDA,Event Driven Architecture,SOA,Service Oriented Architecture,WCFDropbox is a super simple way to share files across multiple computers (PC or Mac) as well as with friends and family.
It does a couple of things I really like:
Some people don’t like the idea that doesn’t auto-sync directories, but I find that type of synchronization to the be job of another tool.
Dropbox is still in a private beta, but does offer 2 gigs of storage for free.
I have 5 more invites I can hand out for the service. If you are interested, please leave a comment with the name of the last non-Fiction book you read and would recommend to others. I will send the invite to the email you leave with the comment.
Posted to Software and tagged as easy-things , cloud , dropbox
Similar Posts
I will be be taking my Advanced WCF: Asynchronous Messaging and Event-Driven Architectures talk to the July 31st meeting of PhillyNJ, which is a sub-chapter of the excellent Philly.NET group. I am real pleased, that my friend, Hilary Cotter, is speaking first on SQL Replication for Developers. Come on out!!
Hilary Cotter - SQL Replication for Developers In this session SQL Server MVP and replication guru Hilary Cotter explains the essentials of SQL Server replication for developers. Hilary covers replication concepts, what technology is a best fit for data distribution, application considerations, and the new Sync Services in VS/SQL 2008. This is a high level session designed to help you get productive and presents material in both tsql and c# code.Registration is now open for in.telligent 2008 which will be take place October 20 to October 22 in Dallas, Texas. This is the evolution of the what we called the CSDC (Community Server Developers Conference) last year.
So of the changes you will this year:
One thing that hasn’t changed is demand. While we do have a larger venue, so far the response has been great. If you are thinking of attending, I would recommend registering now and taking advantage of the early bird special ($200 off).
See you there!
Posted to Business and tagged as telligent , events , cs
Similar Posts
I was trying to install Windows Live Writer on a new windows box and was greeted with something I thought had been put to rest many years ago.
What’s wrong here?
All three options are checked by default. I am OK with the option to help improve the application, but do you really need to change my default search provider and even worse change my home page?
I understand that it costs money to develop Windows Live Writer, but this is crappy way to go about it.
Posted to Software and tagged as wlw
Similar Posts
Just got back from a 10 day vacation with my family from lovely LA. We went to Universal and then spent 2 and 1/2 days at Disneyland, which Heather and Jonathan loved. I also got to spent some quality time with my very good friend Jon Flanders.
ASP.NET MVC
· HandleError Action Filter – Simply by adding the HandleError attribute to any controller action (or controller class), you can redirect to a custom error view whenever an exception is raised.
· OutputCache Action Filter – Simply by adding the OutputCache attribute to any controller action, you can cache the output of the action.
· Authorize Action Filter – Simply by adding the Authorize attribute to any controller action, you can control who can call an action. For example, you can restrict access to a particular controller action by user or by role.
· AccountController – The Controllers folder includes a new controller named the AccountController. This controller includes Login, Logout, Register, and ChangePassword actions. The sample application uses the AccountController to enable you to log into and log out of the sample website.
· Ajax Helpers – This release of the ASP.NET MVC framework includes two Ajax helpers that you can use when creating a view: Ajax.ActionLink and Ajax.Form. The Ajax.ActionLink helper renders a link that performs an asynchronous request to the server. The Ajax.Form helper performs an asynchronous form post to the server.
.NET/Visual Studio 2008/Sharepoint
For those of you who attended the ASP.NET MVC Firestarter we hosted in NY last month, you know that the product team is moving quickly on this technology to get frequent releases out for feedback. On Monday, Scott Guthrie announced that Preview 4 of the ASP.NET MVC Framework had been released on CodePlex. There are a slew of new features being introduced in this new update. “The Gu” covers them in his post. For additional notes, see the posts from Scott Hanselman and Phil Haack on their blogs.
As with most new/beta technologies, documentation is light, and the good information is contained spread out amongst many blogs. Simone Chiaretta has posted a good list of links about the new Preview 4 release on his blog: ASP.NET MVC Preview 4 Links Collection
Following along in the spirit of aggregating all the information out there, Dan Hounshell has set up a really good ASP.NET MVC news site:
ASP.NET MVC: News, Announcements, and Information
While we’re on the topic of new releases from the ASP.NET team, they also recently released an updated “roadmap” document on what the future has in store for ASP.NET AJAX. Take a read through, and you’ll see that there’s plenty of good stuff to come!
Mashable has a story, "iPhone App Store Prices are Outrageous and it Needs to Stop" which criticizes some of the crappy applications available in the AppStore.
...but why hasn’t anyone even mentioned the fact that most of the paid applications aren’t all that great and more often than not, they’re incredibly overpriced?The problem is not the prices or quality. The real issue is there is currently no way to try an application before you buy it. While there is a review system, this is not the same as being able to download play with it for a little while and then make an informed decision. Crappy overpriced software is much harder to spot from a picture and a couple of reviews. Spend a couple hours/days with it and it removes a lot of the guess work.
Currently the only viable work around to this is the Freemium path applications like Twitterific are using. They provide a free (in their case ad supported) version and allow users to purchase a separate version that has more/enhanced features (and no ads).
There are a lot of other applications I would love to try in the AppStore, but so far the quality bar has been pretty low. As demand increases for applications (and more developers learn their way around the SDK), I expect the quality will increase . Hopefully there will be an update in the future which makes beta testing the applications (even if it is only in iTunes) possible.
Posted to Software and tagged as freemium , iphone , appstore , apple
Similar Posts
O'Reilly has made the move to expand their EBook select to a couple of additional formats including Amazon's Kindle format. What is also very interesting is they have chose to ship the books DRM free.
O'Reilly has released 30 titles as DRM-free downloadable ebook bundles. The bundles include three ebook formats (EPUB, PDF, and Kindle-compatible Mobipocket) for a single price -- at or below the book's cover price. And for a bit more than the cover price, you can get the print version too along with the ebook bundles.This is a good sign of things to come and kudos to O'Reilly for being so open.
Posted to Business and tagged as kindle , books
Similar Posts
Based on the success of similar events at Tech Ed and other .NET user groups, the NYC .NET Developers group is presenting “Speakers Idol” this Thursday night in NYC. “Speakers Idol” is modeled after it’s eponymous namesake American Idol with the winner winning a world tour and a recording contract. Only in this case, there will be no world tour, and no recording contract. There will be some cool prizes for the winner of the contest though (and for the audience too!).
What’s in it for you? There will be a smorgasbord of knowledge on hand with five speakers giving you 15 minutes each on the topic of their expertise. Stephen Forte will be reprising the role of Ryan Seacrest for the evening as your emcee. It wouldn’t be a contest with out a panel of judges. We have no shortage of talent on the panel either: Andrew Brust of 26NY, Mary Jo Foley of ZDNet, Kathleen McGivney of IBM, and Peter Laudati (moi :) from Microsoft.
Here’s the line up for the evening:
Topic Speaker Bio Introduction to F# – We will see what F# is and what features/differences there are between F# and “imperative” languages like C#. Zino Lee Zino has been working on wall street investment banks for the past 12 years, and doing .NET for 4 years. Currently the VP and manage a group that takes care of all GUI work for a trading desk. In graduate school at NYU James did some OCaml work when F# project started.Castle Monorail
MonoRail is a MVC framework for Web Development inspired by ActionPack. It is part of the large Castle Project which includes the Windsor IoC container and the ActiveRecord data mapper.
James is a Senior Developer at BarnesAndNoble.com and as a hobby, the Owner/Operator of NJTheater.com which is being converted into a MonoRail based site (under-development version viewable at www.njtheater.org). Previously, he was a Microsoft MVP for VisualC++.
Upgrading Legacy Code
Learn how to read the code and determine a path of action to be taken with the code upgrade. See how to evaluate what could be upgraded, what to rewrite and when to start all over from scratch.
Arithmetic in Generic Classes
Bill will show some examples of the benefits of doing arithmetic in generic classes and some utility classes and interfaces that make it extremely easy to do so
Bill works as a software developer for Coleman Insights, a music industry market research company in Research Triangle Park, North Carolina. He visits the office three or four days each month and otherwise telecommutes from his home office in Windsor Terrace, Brooklyn.
Casual and More Hard-Core WCF
In his demonstration, Gerard is going to quickly build a pair of WCF client applications to demonstrate the use of the MVP design pattern to guarantee a contract with the clients and facilitate unit testing
Gerardo is relatively new to the New York (Tri-State) area. He is from El Salvador, lived in North Florida, then packed up for the North East to be closer to the techno
As per usual, the evening will start off with networking and free pizza. So come on out this Thursday night for a good time at the NYC .NET Developers group. The group meets in the Microsoft NYC office at 1290 Ave of the Americas. Due to building security requirements, you MUST register for the event here.
For meeting details and directions, visit the NYC .NET Developers group website at: http://www.nycdotnetdev.com
del.icio.us/dossy (RSS) links since July 7, 2008 at 09:00 AM: