Posted by Igor Moochnick on 08/20/2012
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.
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 by Igor Moochnick on 06/09/2012
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:
Here are a couple of more helpful ones:
- async.js - Async utilities for node and the browser
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 »
Posted by Igor Moochnick on 11/29/2011
How Windows 8 KO’d the innovative Courier tablet | Microsoft – CNET News
The inside story of how Microsoft killed its Courier tablet
Yet Another Podcast #41–JQuery with Elijah Manor | Jesse Liberty
How To: Add a custom build action to Visual Studio – MSBuild Team Blog
Study Hacks » If You’re Busy, You’re Doing Something Wrong:
- It’s designed to improve performance. “The essence of deliberate practice is continually stretching an individual just beyond his or her current abilities. That may sound obvious, but most of us don’t do it in the activities we think of as practice.”
- It’s repeated a lot. “High repetition is the most important difference between deliberate practice of a task and performing the task for real, when it counts.”
- Feedback on results is continuously available. “You may think that your rehearsal of a job interview was flawless, but your opinion isn’t what counts.”
- It’s highly demanding mentally. “Deliberate practice is above all an effort of focus and concentration. That is what makes it ‘deliberate,’ as distinct from the mindless playing of scales or hitting of tennis balls that most people engage in.”
- It’s hard. “Doing things we know how to do well is enjoyable, and that’s exactly the opposite of what deliberate practice demands.”
- It requires (good) goals. “The best performers set goals that are not about the outcome but rather about the process of reaching the outcome.”
Redis tutorial, April 2010 – by Simon Willison
Man Survives Steve Ballmer’s Flying Chair To Build ’21st Century Linux’ | W
C# Compiler as a Service Update – Miguel de Icaza
Scripting Asp.net MVC Controllers at Runtime | Fusonic Blog
joaroyen/ReSharperExtensions – GitHub
Alt.Net Podcast (Dead?)
Timeglider jQuery Plugin/Widget
Thinking about Product Data, Information Overload and Data Management
Java Message Service API
semanticweb.com – The Voice of Semantic Web Business
Infographics & Data Visualizations – Visual.ly
Is Your Bachelors Degree Worth It? | Visual.ly
Tech Talk Video: Udi Dahan | Brian Hartsock’s Blog
Explaining Semantic Technologies to the Enterprise – semanticweb.com
Why is it so Hard to "Get" Semantics Inside the Enterprise? | Javalobby
An Open Data Ecosystem – semanticweb.com
Scaling the Open Data Ecosystem | Open Knowledge Foundation Blog
Trueg’s Blog – Nepomuk Fundraiser
Plasma/Active/Contour – KDE Community Wiki
Aperture – Semantic Desktop
The Open Graph Protocol Design Decisions
Apache Velocity – Velocity User Guide
Ontology (information science) – Wikipedia, the free encyclopedia
BorisMoore/jsrender – GitHub
Recursivity – The Big Picture: True Machine Intelligence & Predictive Power
ZeroMQ an introduction
VIDEO: London .NET User Group : Command Query Responsibility Segregation
Programming in Apache Qpid
DovetailConnect Blog | Dovetail Software
Protocol Buffers – Google Code
Developer Guide – Protocol Buffers – Google Code
AutoMapper/AutoMapper – GitHub
Code, code and more code.: protobuf-net v2, beta
protobuf-net – Fast, portable, binary serialization for .NET – Google Proje
Yaml Library for .NET
YAML for .NET, Visual Studio and Powershell
Goodbye XML… Hello YAML (part 1) « Brian Genisio’s House of Bilz
Goodbye XML… Hello YAML (part 2)
How I learned to stop worrying and write my own ORM
Realtime Performance Visualizations using Node.js – How To Node – NodeJS
Study Finds That Memory Works Differently in the Age of Google
Not so anonymous — Harvard School of Engineering and Applied Sciences
Documentation Resources for ASP.NET MVC 3
Posted in Architect, Continuous Education, Intelligence Amplification, Thoughts, Training | Leave a Comment »
Posted by Igor Moochnick on 11/17/2011
- SignalIR Documentation
- WTF is a SuperColumn? An Intro to the Cassandra Data Model — Arin Sarkissia
- Sharding vs. Having multiple databases
- KnockoutJs: Introduction
- Ward Cunningham on Agile: 10 Years After
- Software Engineering Radio – the podcast for professional software develope
- How to do test reviews – a session at Øredev 2010
- Skills Matter : In The Brain of Greg Young: Simple is better
- User Interface Design Tutorial | Ryan Singer | PeepCode Screencast
- Copilot: a whole new product
- Aral Balkan | The Future is Native | Fronteers 2011 on Vimeo
- Peter Jackson’s The Hobbit, behind-the-scenes, 5k resolution, 48 fps, 3D
- THOUGHTS ON HOW KANBAN DIFFERS FROM SCRUM
- Synaptics shows conceptual trackpad interface with Windows 8, better make i
- Simple Hickey | 8th Light
- How Running A Business Changes The Way You Think
- A Field Guide to Developers
- Finding Great Developers – Joel on Software
- CommonJS Promises/A
- Deferred Object – jQuery API
- InfoQ: Better Best Practices
- Don’t Call Yourself A Programmer, And Other Career Advice | Kalzumeus Softw
- Why if you have implemented or in the process of implementing Scrum and are considering adding Kanban, you will want to evaluate that decision carefully
- Microsoft “Roslyn” CTP
- Hammock Driven Development
- InfoQ: Simple Made Easy
- New England Code Camp #16 – Eventbrite
- What You Don’t Know You Don’t Know (Hebrew) – Videos – Osherove
- Switched On: As Siri gets serious – Engadget
- Martin Fowler: Mocks Aren’t Stubs
- Dummy objects are passed around but never actually used. Usually they are just used to fill parameter lists.
- Fake objects actually have working implementations, but usually take some shortcut which makes them not suitable for production (an in memory database is a good example).
- Stubs provide canned answers to calls made during the test, usually not responding at all to anything outside what’s programmed in for the test. Stubs may also record information about calls, such as an email gateway stub that remembers the messages it ‘sent’, or maybe only how many messages it ‘sent’.
- Mocks are what we are talking about here: objects pre-programmed with expectations which form a specification of the calls they are expected to receive.
Posted in Architect, Continuous Education, Training | Leave a Comment »
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 »