Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Tuesday, December 29, 2009

.NET Architecture and Development Book Recommendations updated for 2010

For the new year we updated the book recommendation and process guidance sections on Real World Software Process Engineering. We have posted the book recommendations below.

These are all books we use, or plan to use when they are released. We have reviewed a lot of them here.

HAPPY NEW YEAR!!!

Software Process Engineering


Product Line Engineering


Software Architecture


SOA: Service Oriented Architecture


Component Development


Coding Guidelines


Frameworks


Patterns


OOAD


Brownfield Development


Scalability


Security


.NET 4.0 and VSTS 2010


.NET 3.5 and VSTS 2008


ASP.NET, AJAX, MVC, and Silverlight


SQL Server and T-SQL


Shiny Turds Books that do not Cut the Mustard *-Do not Buy-*


.NET 3.0 Platform

posted by tadanderson at 11:01 AM 0 comments

Wednesday, December 23, 2009

PDF2Text is a Free tool to Convert PDFs to Text

The PDF2Text Converter download contains an application that converts PDF files into a text file, keeping the PDF's format.

I recently needed to be able to convert several PDF files over a few weeks of time into a text file. I needed the text file to stay in the same format as the PDF. It was being imported by an application that needed it to be in that format.

I tried the Microsoft conversion tools, and the Adobe suite, but they both mangled up the format of the file. I looked around for an open source options but could not find one.

So I built this one. Just drag the PDF onto the surface of the application.


Click here for a larger image.

Get it here.

posted by tadanderson at 7:49 PM 0 comments

ACER Aspire 1410 Review- Laptop Power with Netbook Size

My wife and I recently took a trip to Costa Rica. Before I continue I would like to sidebar...

If you are planning a trip to Costa Rica, check out the blog she wrote on it, Tips when Traveling to Arenal Costa Rica. I think it should have been titled "Every single thing you need to know when Traveling to Arenal Costa Rica"

We flew on an airline that only allowed a single carry on bag, which had to be less than 22 lbs. That meant my laptop went, or our camera equipment went. With no TV in the first hotel for 4 days, we decided to look for a Netbook.

After doing an average amount of research, I decide to go with the ACER Aspire 1410. Specs below:

Product Features and Technical Details

Product Features
* Box Contents - Acer AS1410 Notebook, 6-Cell Lithium-Ion Battery (up to 6-hours), AC Power Adapter, AC Power Cord; Software Bundle - Windows 7 Home Premium 64-bit, Microsoft Works with Office Home and Student 2007 60-day Trial, McAfee Internet Security Suite 60-day Subscription, 1-Year International Travelers Limited Warranty
* Intel Celeron 1.2GHz SU2300 Processor
* 1M L2 Cache, 800MHz Front Bus Speed
* 2048MB DDR2 Dual-Channel 667MHz RAM (4GB Max.)
* 160GB (5400 RPM) SATA Hard Drive

Processor, Memory, and Motherboard
* Hardware Platform: PC
* Processor: 1.2 GHz Intel Celeron
* System Bus Speed: 800
* Number of Processors: 1 (dual core)
* RAM: 2000 MB (expandable to 4 GB)
* RAM Type: SODIMM

Hard Drive
* Size: 160 GB
* Manufacturer: Portable
* Type: Serial ATA

Weight: 3.1 pounds

Battery: last 4 to 5 hours

PROS:
* Very light weight.
* Battery power has not let me down yet.
* I have loaded all the Microsoft Express version of Visual Studio 2008 and SQL Server 2008 Express. That is enough for demos, for travel programming fun, and looking at book examples. No issues with performance and I still have not upgrade to 4 GB of RAM.
* Loaded all of Office 2007 and have no performance complaints.
* Screen has a great resolution
* Keyboard has bigger keys than my normal size laptop.
* Has the full version of Windows 7 64 bit installed unlike other Netbooks I was looking at, which have the starter version. It is performing great!!!
* Screen is slightly bigger than a normal netbook, which is just enough to get away from the feeling that I am watch a movie on my phone, like other netbooks gave me.
* Price, you just can't beat it.
* Perfect for games. Easy to pass around.

CONS:
* Volumn is a little low. Overcame that with a set of external speakers (Logitech V20 Notebook Speakers (Black) )
* Windows Media Player plays slow. I don't think I can blame the laptop for than though, since VLC plays everything just fine.

All in all I highly recommend this little thing!!!

Some shots of it are below. I have included a side by side with my 17 inch laptop, and some shots of code and windows media player to give you an idea of screen real estate. The shots are not that great with respect to showing off the clarity of the screen, but they give you an idea of what fits on it.


Click here for larger view


Click here for larger view


Click here for larger view


Click here for larger view


Click here for larger view


Click here for larger view


Click here for larger view














































posted by tadanderson at 11:11 AM 0 comments

Tuesday, December 08, 2009

Great New Silverlight 4.0 Resources

There are some great new Silverlight 4.0 resources available. Below are some of the best.

John Papa has put together an awesome “What’s new in Silverlight 4” whitepaper".

Here is a list of what is new in Silverlight 4:

* Enabling Business Application Development
o Printing
o Rich Text Area Control
o Rich Text Area with FlowDirection of RightToLeft
o Text Input
o WCF RIA Services
o Managed Extensibility Framework (MEF)
o Viewbox Control
o Auto-Sizing Columns and Copy from DataGrid
o Navigation Page Loading Extensibility
o Command Property on ButtonBase and Hyperlink
o SelectedValue and SelectedValuePath on the Selector
o Support for Referer Header
o UDP Multicast Client Support
o Single Source Multicast (one-to-many)
o Authentication Support with ClientHttpWebRequest
o IDataErrorInfo
o INotifyDataErrorInfo
o Grouping on CollectionViewSource
o Editable CollectionView IEditableCollectionView
o Binding to String Indexers
o StringFormat, TargetNullValue, FallbackValue
o Databinding Support for Dependency Objects
o ObservableCollection<T> Constructor Accepts IList and IEnumerable
* Empowering Richer Experiences
o Fluid UI States for ItemsControl
o Word Based Text Trimming (trailing ellipses)
o Implicit Styles
o MouseWheel Support
o Right Mouse Click
o Programmatic Clipboard Access
o Silverlight as a Drop Target
o Webcam and Microphone Support
o CompositeTransform
o Support for all PNG Formats
o Offline Digital Rights Management
o MP4 Playback Protected DRM
o WMS Multicast
o Output Protection
* Moving Beyond the Browser – Sandboxed Applications
o Out-of-Browser Windowing Updates
o WebBrowser Control
o HtmlBrush
o Notifications (Toast)
* Moving Beyond the Browser – Trusted Applications
o Native Integration
o File System Access
o Cross-Domain Networking Access
o Full File Path on Open and Save Dialogs
o Full Keyboard in Full Screen Mode

Get from his blog here.

Silverlight 4 Training Course

Overview from Channel 9
The Silverlight 4 Training Course includes hands-on-labs, a video and a whitepaper designed to help you learn about the new features in Silverlight 4 focusing on three major areas: Enabling Business Application Development, Empowering Richer Experiences and Moving Beyond the Browser. Some of the new highly anticipated features include Printing, WebCam and Microphone support, custom right-click, rich text, HTML support and access to local files with trusted applications.

Check it out here

PDC 09 Videos
There are a ton of great videos on Silverlight and WPF 4.0.

Check them out here.

Resources from silverlight.net

Videos and Sample Code
This is a series of videos covering the top Silverlight 4 Beta features in more detail with available source sample code in C# and Visual Basic.

Visual Studio 2010 Beta 2

Visual Web Developer Express 2010 Beta 2

Silverlight 4 Beta Tools for Visual Studio 2010 This will install the developer runtime of Silverlight 4 Beta, the Visual Studio project support and the Silverlight 4 SDK.

Microsoft Expression Blend for .NET 4 Preview This is a preview version of Expression Blend that will enable authoring of Silverlight 4 Beta applications.

Silverlight Toolkit The toolkit has been updated to provide support for Visual Studio 2010 and Silverlight 4 beta development. The Toolkit provides numerous controls for your application and source code is also included for these controls using an Open Source license.

WCF RIA Services Microsoft WCF RIA Services simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. The RIA Services provides a pattern to write application logic that runs on the mid-tier and controls access to data for queries, changes and custom operations. It also provides end-to-end support for common tasks such as data validation, authentication and roles by integrating with Silverlight components on the client and ASP.NET on the mid-tier.

Online Silverlight 4 Beta Documentation

Offline CHM help Silverlight 4 Beta Documentation file download

Tim Heuer also has a great post here: Silverlight 4 Beta – A guide to the new features

posted by tadanderson at 1:19 PM 0 comments

Sticking it to the Man, Our Day will Come

As I look out across the industry at what companies are doing to employees, at least in IT, what I see disgusted me. Many companies are not refusing to pay because they can’t; they are refusing to pay because they want to take advantage of the current economy. Fear is holding employees prisoner to job conditions they normally would have never seen.

Salaries are down 30%. They are paying 70k for 100k worth of work. All I can say is that their short sightedness and ignorance is going to come back to bite them in the butt, and hard.

Those companies cheap-ing out now are going to pay dearly in the future…. Salaries are down 30% (70k for 100k worth of work) now, but around the corner they will be up 40% (140k for 100k of work) and they won’t have any choice but to pay. You can’t get something for nothing, even when you have nothing to offer. So paying half price now is not getting these companies further ahead.

There will be several scenarios to watch when the economy comes back, none will be good for the company playing these games.

Those companies that could not normally afford to do the work they tried to pull off during these tough times by hiring expertise they usually would not be able to afford, will watch their project crumble as the experts walk out the door. They won’t be able to recover them because they won’t have the resources available to hire new experts. Those who can afford to do the work will watch their bitter experts walk out the door and then have to higher new experts at 1.4 times the rate in order to salvage their projects. That will not only cost them the higher salaries, but also the cost of transitioning the new teams on board.

There will be a lot of companies without the means to hire new talent period. Not only because they can’t afford it, but because the IT personnel numbers are dropping. It is no longer the field to go into. The glam days of the dot com boom have faded, and it is now being looked at as actual work. Most of the clowns who became self proclaimed programmers over night have gone back to bagging groceries.

The smart company would heed this warning, and start securing their talent now. They would step up and sacrifice now to make their IT experts happy. They won’t be there for long, and they soon won’t be replaceable. Of course, like a friend of mine pointed out, there is always the option of opening up the H1 flood gates again for those companies without the resources to hire local talent.

posted by tadanderson at 9:13 AM 0 comments

Monday, December 07, 2009

Two new video resources for learning Composite Application Guidance for WPF and Silverlight 3 (PRISM)

There are 2 new video resources for getting your head around PRISM (patterns & practices Composite Application Guidance for WPF and Silverlight).

The first is John Papa's session from PDC 09, Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight.

Below is the overview from the video page:
Come learn about Silverlight application development patterns such as composite applications with Prism, developing using the Model-View-ViewModel (MVVM) pattern, and methods of implementing large, modular, multi-page applications within your team. Hear about frameworks created to help assist in rapid development using these patterns without sacrificing good application development patterns.

Check the Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight video out here.



The second is a new 10 part video series by Mike Taulty that he has posted to Channel 9.

Below is his summary found on the video pages:
In talking to customers building business applications with Silverlight I find that Prism (and it's friend Unity) is frequently mentioned but not everyone has seen it and so I thought I would explore it myself and capture some of the results of that exploration here.

We start off with some fairly basic code which we move towards making use of dependency injection and modularity;

* Part 1: Taking Sketched Code Towards Unity
* Part 2: Dependency Injection with Unity
* Part 3: Modularity with Prism
* Part 4: The Unity Bootstrapper

and then we move that code into the Silverlight world and try to illustrate some specific areas of Prism;

* Part 5: Moving to a Modular Silverlight Project
* Part 6: Shells, Regions, Views
* Part 7: Commands
* Part 8: Loosely Coupled Events with Event Aggregation
* Part 9: Sharing Data via Region Contexts

and then finally we try and bring some of these concepts together in a longer, more realistic example of a simple Email application built using the Prism framework - warning, this is a much longer session but I wanted something that draws things together;

* Part 10: A Larger Example: "Email Client"

The recommendation would be that you watch the 10 screencasts in order but if that feels like too long a process or if you're already very familiar with concepts like dependency injection and containers like Unity then perhaps watch the last screencast first and then refer back to the previous screencasts if certain areas need more illumination.

Check them out here.

posted by tadanderson at 5:52 AM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger