IgorShare Thoughts and Ideas

Consulting and Training

Archive for the ‘Architect’ Category

Roslyn: C# is cheating on me with JavaScript (or how to compile C# into JavaScript)

Posted by Igor Moochnick on 08/20/2012

imageWhile working extensively on development of the Single Page Applications (SPA) I was facing a fact that my server-side data models were evolving quicker than their JavaScript counterparts. Both the client-side and the server-side data models were getting quickly out of sync.

The brute force solution of using the T4 templating engine to emit both the client-side and the server side data models didn’t look that appealing to me. Primarily due to a simple fact that it’s not that easy to refactor the T4 templates. And, the ReSharper junkie like me, can’t tolerate this fact.

So I’ve decided to give the latest release of Roslyn compiler-as-a-service CTP another spin and use it as part of my build sequence and compile my C# models directly into the appropriate JavaScript ones. This was giving me the advantage of using the C# as a primary development environment and leaving the JavaScript to follow the “big-brother”.

Jinx C#-to-JavaScript compiler was created as a result of this exercise. You’re welcome to get the Jinx source from the GitHub. I’ll appreciate any collaboration on this project.

Note: all of the code is an intermediate solution that was answering my personal needs for the project I was running. It is in no-way represent the full fledge solution. If you want something bigger and more feature-reach, you can either contribute to my solution or look into projects like Script# or SharpKit.

Read the rest of this entry »

Posted in Architect, C#, Compiler, Javascript, Tutorials, Web | 3 Comments »

Tips for building Large-Scale rich Web sites and applications

Posted by Igor Moochnick on 06/09/2012

When you’re building a workflow-rich web site or application, you’re in a danger to get buried under piles of entangled JavaScript code, web pages, styles and other related artifacts.

It’s better to follow the best practices from the beginning to reduce the weight of the complexity and enable easy extensibility of your code. Here are a couple of links that may put you on a good path:

Here is an entry list of frameworks to know about:

I’m not afraid to admit that I’m not a web designer and I struggle with building good-looking sites, but there are a couple of tricks that I use to make sure that I’m not stuck:

Tips for VisualStudio–devoted crowd:

UPDATE:

Here are a couple of more helpful ones:

  • async.js - Async utilities for node and the browser

Posted in Architect, Javascript | 4 Comments »

Continuous Education

Posted by Igor Moochnick on 01/26/2012

VIDEO: Windows Azure on Cloud9 – Cloud9 IDE Blog
VIDEO: Skills Matter : In The Brain of Udi Dahan & John Stevenson
VIDEO: Gil Zilberfeld interviews Uncle Bob Martin
Jasmine-BDD: A Screencast On The Standalone Test Runner | ThoughtStream.new
VIDEO: ayende on ravendb problem
VIDEO: Session 02: Introduction to Compute
Northwind Starter Kit Review : Data Access and the essence of needless work
Ruby on Rails in Windows Azure – Part 2 – Creating Windows Azure SDK 1.4 based Application to Host Ruby on Rails Application in Cloud
Pragmatic Programming Techniques: NOSQL Patterns
HBase vs. Cassandra: NoSQL Battle!
VIDEO: Skills Matter : DDD eXchange 2010: Udi Dahan on Architectura
One Millionth Tower documentary elevates the art of HTML5 – Engadget
VIDEO: DataStax Cassandra Tutorials – Managing Objects & Data In Cassandra
Skills Matter : In The Brain of Udi Dahan: CQRS, race conditions
NOSQL – Introduction on Vimeo
The Coming War on General Purpose Computation
Pragmatic Programming Techniques: Choosing between SQL and Non-SQL
Pragmatic Programming Techniques: NoSQL GraphDB
Martin Fowler: Slideument
Understanding Microsoft’s big-picture plans for Hadoop and Project Isotope
Shan Carter on data storytelling
VIDEO: Hadoop in Action
Pragmatic Programming Techniques: Between Elasticity and Scalability
Cloud Expo 2012 East
VIDEO: "The Lost Session" at KAN Malmo – Introduction to RavenDB
A Java Developer’s Guide to PaaS
VIDEO: NDC 2011: Kill Your ORM
World Wide Webber – Graph Processing versus Graph Databases
VIDEO: Building loosely-coupled apps with Windows Azure Service Bus Topics and Queues
Procrastineering – Project blog for Johnny Chung Lee: Low-Cost Video Chat Robot
Going realtime with Socket.IO
WebSocket and Socket.IO
Asynchronous scalable web applications with real-time persistent long-running connections with SignalR
Scott Hanselman’s 2011 Ultimate Developer and Power Users Tool List for Windows
patterns & practices: Project Silk
Martin Fowler: StranglerApplication
What’s in (and missing from) Microsoft’s latest batch of Azure cloud update
Introduction to Spring Data Neo4j
Raspberry Pi’s $35, 700MHz Linux computer enters manufacturing
Scenario-based Unit Tests for DDD with Event Sourcing – Journal – CQRS and
Pretotyping
I’m a phony. Are you?
How Trello is different
How to handle relations in RavenDB
Design Patterns for Distributed Non-Relational Databases

Posted in Architect, Continous Integration, Intelligence Amplification, Thoughts, Training | Leave a Comment »

AppFabric Service Bus Queues and Topics presentation (for Boston Azure User Group)

Posted by Igor Moochnick on 12/20/2011

Recently we’ve delivered a presentation to the Boston Azure User Group on how perfectly the cloud technologies are aligned for development for the Mobile Apps and clients. My coworkers from Blue Metal Architects delivered great content about integrating iOS (featured iPhone and iPad) and Windows Phone with the cloud. I’ve covered the use of the AppFabric Service Bus Queues and Topics – these technologies are perfect for communications for partially connected clients (like mobile ones).

Posted in Architect, Azure, Community, Continuous Education, Messaging, Presentations, Service Bus, Training | Leave a Comment »

Continuous Education

Posted by Igor Moochnick on 11/29/2011

Posted in Architect, Continuous Education, Intelligence Amplification, Thoughts, Training | Leave a Comment »

Continuous Education

Posted by Igor Moochnick on 11/17/2011

Posted in Architect, Continuous Education, Training | Leave a Comment »

Architect Certification

Posted by Igor Moochnick on 06/05/2011

Currently in the Software Industry there is no such thing as an “Architect Certification”. Yes, I know, that there some that claim to be like OCM (Oracle Certified Enterprise Architect/Master) or MCA (Microsoft Certified Architect), but they are concentrated on a certain technology or certain aspects of an architect.

In my opinion, to be an architect means that you should be a generalist enough to know a wide range of technologies (not only .NET or Java) and to be able to make an educated decision when and how to use them.

Pick a right tool for the job!

An architect should be bold and well spoken and be able to convey his/hers opinion to the team, the company and the management. He should not rely on his old achievements to support his “respect”. He should be able to defend his ideas at any moment of time by providing a reasonable explanation and a proof that the chosen way is the best one at this moment of time.

In simple words – an Architect should be “Bull**it-free” (an opposite to “full of bull**it”).

The only way to certify a person to be a “Bull**it-free” is to put him on a spot in front of a large audience with a wide variety of knowledge , technologies and experience and let him defend his decisions. This is the best way to see what this person worth.

So, if you want to be a great Architect, get out there, start contributing to the community. Start with the local user groups and continue making your way up to the conferences. Get visible!

What do you think?

Posted in Agile, Architect, Thoughts | 2 Comments »

 
Follow

Get every new post delivered to your Inbox.

%d bloggers like this: