Login or Sign Up to become a member!
LessThanDot Sit Logo

LessThanDot

Architecture, Design & Strategy

Less Than Dot is a community of passionate IT professionals and enthusiasts dedicated to sharing technical knowledge, experience, and assistance. Inside you will find reference materials, interesting technical discussions, and expert tips and commentary. Once you register for an account you will have immediate access to the forums and all past articles and commentaries.

LTD Social Sitings

Lessthandot twitter Lessthandot Linkedin Lessthandot friendfeed Lessthandot facebook Lessthandot rss

Note: Watch for social icons on posts by your favorite authors to follow their postings on these and other social sites.

Your profile

    Search

    XML Feeds

    Google Ads

    Latest Comments

    Eli Weinstock-Herman (tarwn)

    In response to: Scalability is Easy! (To Get Wrong)

    Voodoo Child: Been there :)

    The whole reason I wrote a simulator for these scenarios was because having conversations about scaling tend to devolve into a lot of hand waving. I'm going to do a couple more posts and post up the code so when people are in similar situations they can at least run some scenarios and make some pretty graphs in excel to bring to the conversation :)
    PermalinkPermalink 12/06/12 @ 09:41
    Voodoo Child

    In response to: Scalability is Easy! (To Get Wrong)

    Voodoo Child [Visitor]
    The real fun starts when you inherit a critical system which is in serious need of *right* scaling yesterday while too much *wrong* scaling already has been implemented.

    Baseline? Numbers? Right after a documented system design.......



    "I didn't mean to take up all your sweet time, I'll give it right back to ya one of these days" - Jimmy Hendrix (I suspect he designed the system I'm working on)
    PermalinkPermalink 12/06/12 @ 07:20
    Eli Weinstock-Herman (tarwn)

    In response to: Scalability is Easy! (To Get Wrong)

    Absolutely, unfortunately that's not obvious to the people that skip the baseline. I've seen a number of developers that had a tendency to make a logical leap from "I code good" to "my code makes the system faster/better/strong/smarter", which made performing a baseline seem redundant and/or wasteful.

    Which is doubly unfortunate, since my anecdotal experiences have shown a strong correlation between skipping the baseline and poor optimization.
    PermalinkPermalink 12/05/12 @ 10:05
    SQLDenis

    In response to: Scalability is Easy! (To Get Wrong)

    SQLDenis [Member]
    Without a baseline and numbers it basically becomes voodoo
    PermalinkPermalink 12/05/12 @ 08:23
    Giorgi

    In response to: Model-View-Presenter: Looking at Passive View

    Giorgi [Visitor]
    Hi,

    Isn't there any tool that would generate all the necessary code? The common functionality could be hidden in base classes but some code needs to be written again and again, and that's not quite "cool" :)
    PermalinkPermalink 11/28/12 @ 03:25
    Alex Ullrich

    In response to: Getting Flexible With NDepend 4 and CQLinq

    Alex Ullrich [Member]
    I can't say it was trivial (though our full build was pretty involved, took ~25 minutes if we were generating an MSI) but it was *much* faster than the visual studio architecture analysis (and provided much more information). We used a separate build configuration for architecture validation that ran around 2am, mostly because we first tried using the tremendously slow visual studio tool and didn't want each build taking 45 minutes.

    The codebase in question was probably between half and three-quarters of a million lines split into 30+ projects. I never saw an ad-hoc analysis take more than 2-2 1/2 minutes and this was running on our spare machines that were *very* underpowered. I would expect it ran much faster than that on our build server, and that NDepend 4 would be at least incrementally faster than 3.
    PermalinkPermalink 06/06/12 @ 09:03
    Eli Weinstock-Herman (tarwn)

    In response to: Getting Flexible With NDepend 4 and CQLinq

    How much of an impact did running NDepend have on your overall build time? I've played with it in the past, but only as manual runs.
    PermalinkPermalink 06/06/12 @ 08:36
    Hari Subramaniam

    In response to: The law of demeter

    Hari Subramaniam [Visitor]
    I wonder why LoD isnt applicable for Fluent interfaces?
    PermalinkPermalink 08/01/11 @ 05:08
    Eli Weinstock-Herman (tarwn)

    In response to: Model-View-Presenter: Looking at Passive View

    Funny, my issue with MVC is that it is so data entity specific that I felt it could only handle a subset of interfaces compared to something like MVP or MVVM, perhaps it depends on our perspective a bit.

    I'm having difficulty understanding why we would need a dynamic number of rows in the dialog when we are editing the equivalent of a record in the database with a given number of columns. Ignoring that, though, I believe what I would do in this situation is pass a an ordered key/value set to the view property that drives the dialog. That way the dialog can dynamically build the proper number of rows to edit my object.

    The major difference between Passive View and MVC model->view communications is that in MVC the controller handles input from the user, but the view retrieves the data to display as output. In Passive View the same decision logic occurs, but handling the input and retrieving the output to display both happen in the Presenter. MVC's view is smarter, but the view exposed in Passive View can easily be implemented by a number of interfaces (json, web service, test class) and a greater portion of the logic is now unit testable.

    PermalinkPermalink 05/20/11 @ 04:25
    Oliver Watkins

    In response to: Model-View-Presenter: Looking at Passive View

    Oliver Watkins [Visitor]
    Hi,

    I have some issues to take up with the MVP pattern. MVP seems to be a valid architecture for only simple GUI interfaces.

    The fact that the model is completely seperated from the view brings up some problems that seem impossible to solve without going back to MVC.

    Consider : I have a table with X columns. I now want to build a component that is a dialog where I can edit the values in the table. In this dialog I want to have X rows (a label and text field), where I can perform editing, close it, then the table updates.

    The problem is, the View needs to know about the model in order to generate the correct number of rows. There is no way to do this without the view knowing about the model.. we could create some intermediary 'model-proxy', but then we are really fluffing things up.



    PermalinkPermalink 05/20/11 @ 02:08
    SQLDenis

    In response to: Adding User Emulation to an Application

    SQLDenis [Member]
    We used to have that functionality too in a CRM app I (and a bunch of other people) built for a firm in New York City

    Any role with sufficient privileges could impersonate another role or user to see what they would see
    PermalinkPermalink 04/27/11 @ 09:02
    Eli Weinstock-Herman (tarwn)

    In response to: Model-View-Presenter: Looking at Passive View

    It could, and I see a lot of examples that do that. Instead of having events like that button push handled locally, the event would be bound directly to a method in the presenter. The downside is that this makes the Presenter aware of the type of interface, since there are interface- or control-specific arguments passed to the Presenter which it not only needs to accept but also operate on. A more pure method would probably be to have events defined for the the view that are more generic, handle the UI or control events and turn them into those view events. But this sounds like more work.

    I think in the end it's up to the author to decide what fits their needs the best, whether they prefer to translate to view events, bind implementation-specific events directly to the presenter, or wire event handlers to a single call in the Presenter.
    PermalinkPermalink 01/04/11 @ 04:38
    remote control helicopter

    In response to: Why (and How) I Model

    remote control helicopter [Visitor]
    I'm genuinely impressed by the understanding base that you have accumulated here. You have supplied everything in a fairly clear and detailed format. Nicely done!
    PermalinkPermalink 01/04/11 @ 03:17
    Brian

    In response to: Model-View-Presenter: Looking at Passive View

    Brian [Visitor]
    I was wondering how dumb does the view needs to be, if it's truly passive shouldn't the btnSearch_Click only tell presenter that the search button was clicked rather than being smart enough to have the presenter perform a product search?
    PermalinkPermalink 01/03/11 @ 10:03
    Michael Sundgaard

    In response to: Simple advice for choosing an ESB

    Michael Sundgaard [Visitor]
    I would take a look at iBrain. It's a lightweight agile ESB with the features you would expect from an enterprise ESB. Its simple and you will be productive within hours.

    What I like best is the business adapter architecture, which lets you keep all your business knowledge in simple class libraries (Java or .Net) and the ESB ties it all together with a simple rule tree, and a bunch of protocol adapters.

    Check it out at http://www.ibrain.dk.


    /Michael
    PermalinkPermalink 12/17/10 @ 01:43
    Darryn Ten

    In response to: Why (and How) I Model

    Darryn Ten [Visitor]
    Cycle 0. The most important part of the Software Development Cycle.
    PermalinkPermalink 10/15/10 @ 07:53
    Eli Weinstock-Herman (tarwn)

    In response to: Model-View-Presenter: Looking at Passive View

    Richard, if you want you could start a forum post and attach a zip copy of the project (or a URL if the zip is too large) and we could take a look. Or you can look at Robert's linked examples above.
    PermalinkPermalink 10/13/10 @ 04:00
    Richard Guevara

    In response to: Model-View-Presenter: Looking at Passive View

    Richard Guevara [Visitor]
    Hi Eli,

    Im actually starting to learch MVP and I found your article to be helpful. Ive created a sample project and I dont know if I did it correctly.

    Richard.
    PermalinkPermalink 10/13/10 @ 03:03
    Manfred

    In response to: CQL From Visual Studio With NDepend 3

    Manfred [Visitor]
    keep up the good writing!!
    PermalinkPermalink 09/07/10 @ 04:46
    outsource

    In response to: Information Unity in the Canonical Form

    outsource [Visitor]
    Thanks for the heads up on these!!
    I did find some useful tips that I would have otherwise never knew about. thanks for the defintion of CDM and techiques about architecture, design and strategy
    PermalinkPermalink 08/19/10 @ 23:45
    kevin

    In response to: Information Unity in the Canonical Form

    kevin [Visitor]
    this is cool
    PermalinkPermalink 08/18/10 @ 00:25
    Eli Weinstock-Herman (tarwn)

    In response to: Model-View-Presenter: Looking at Passive View

    In this case the View is passing an instance/implementation of the Model to the Presenter because I didn't want to add logic to do dependency injection. I want the presentation logic to be uncaring and unaware of whether the model instance it is interacting with is a web service facade, a super-basic quick-and-dirty implementation like I actually used, a domain driven model, or a dummy class to return very controlled outputs for unit testing. Dependency injection using something like StructureMap or Windsor would be among the best solutions, a middle-of-the-road solution might be a handmade DI class to orchestrate creation of the right model(s) without the extra weight of a full framework.
    PermalinkPermalink 08/11/10 @ 16:58
    Brian Wilkins

    In response to: Model-View-Presenter: Looking at Passive View

    Brian Wilkins [Visitor]
    My question is why does the View even pass the model to the Presenter. The Presenter should know the model, the view should be as dumb as possible IMHO.
    PermalinkPermalink 08/11/10 @ 12:34
    xman

    In response to: Visual Studio 2010 Concurrency Profiling And Parallel Programming

    xman [Visitor]
    The charts looked good. Would be interesting to see how we can customize the visible timeline profile with mapping to high level classes or functions.

    The context switch info is useful for performance analysis.
    PermalinkPermalink 08/10/10 @ 02:30
    JimChw

    In response to: You need to know a lot when you want to be a developer.

    JimChw [Visitor]
    I'm finding that new and upgraded technology is developed for "The One Who Knows Everything". You can be broad or deep. I find it difficult to be both.

    Development is becoming more collabrative due to the onslaught of complex and distributive functionality. Vendors are not providing ways to break the work up into units that can be addressed by specialists in the various technologies.
    PermalinkPermalink 08/02/10 @ 09:04
    Eli Weinstock-Herman (tarwn)

    In response to: You need to know a lot when you want to be a developer.

    GarryB, I'd suggest you post the question to the forum. I think a lot of us could provide suggestions and such, but the ability to ask questions and have a discussion is probably easier over there :)
    PermalinkPermalink 08/02/10 @ 07:58
    SQLDenis

    In response to: You need to know a lot when you want to be a developer.

    SQLDenis [Member]
    It is not any better with SQL Server, here is a list of additions since SQL Server 2000 RTM

    Notification Services (killed in 2008 BTW)
    Service Broker
    SSIS
    SSRS
    SSAS (complete rewrite from the 2000 version)
    Extended Events
    SQLCLR
    All the new data types, windowing functions
    Mirroring
    PACDAC
    PowerShell
    SMO
    Dynamic Management Views (A good thing)
    Partitioning


    And there are more
    PermalinkPermalink 08/02/10 @ 07:55
    GarryB

    In response to: You need to know a lot when you want to be a developer.

    GarryB [Visitor]
    I have been working with Visual Basic for many years as a hobby. I am trying to progress my skills and get a job doing software development.

    I really enjoyed this article and wondered if anyone had any suggestions on areas I could focus on to build development skills to make me a good candidate for a junior position.

    Thanks
    GarryB
    PermalinkPermalink 07/31/10 @ 19:01
    Eli Weinstock-Herman (tarwn)

    In response to: You need to know a lot when you want to be a developer.

    I'd offer two observations:
    1) It is possible to get by on less. I know a number of developers that use half or or less than half the size list that you displayed. They do their jobs to the level their company's require without having to expand into to many areas (think much, much larger firms where people can specialize more or firms that have grown stale)

    2) I would suggest that good developers do have the wider set of skills as well as an even wider awareness (even if they are working with only a subset in their day job).

    Even if you are not going to add a new technology directly to your toolbelt, you should try and spend a few minutes reading about it so you can be aware what it offers and know enough to know what situations it might be useful to pursue further. Nothing I am working on now requires App Fabric, but it's on my list (yes, I have a real list) of technologies to spend a couple hours to an afternoon on in order to have a better understanding of when I might want to consider applying it. As Kermit said, you don't want to run out and immediately apply new things to every problem, but you do want to have an awareness of what the tech offers and what problem space it would be appropriate in.

    PermalinkPermalink 07/30/10 @ 05:48

    In response to: You need to know a lot when you want to be a developer.

    Tahir Khalid [Member]
    "I do the developing thing part time and the other part of the job takes just as much effort and commitment to do right as the development side of things. It's all part of the job"

    That's me in a nutshell as well.

    I had the same realisation, that there is so much out there it's mind boggling at times.

    The way I got around this was to stick to what I knew, my comfort zone so to speak. This is the area where I know almost everything I am working with and as such I start to see any/all limitations that crop up.

    My thinking is that you should exploit what you have (your minimal but swiss-army-knife like toolset) and when the need arises start to look at other tools (frameworks, libraries etc) that fit the need you have.

    It's easier to identify the requirements, you know you need something to fulfil a particular task and you are 90% sure of what you expect from the results.

    As opposed to the other view, where you might think "wow all this shiny new stuff is cool, I want to use this and that and this in my project" - which can easily become overwhelming as you spread yourself too thin.

    I think it's a natural evolution of a developer, as learn and evolve your skills and knowledge you start to branch out more, take on more subjects and at times, narrow your focus down a little specialising in some key areas.

    Adios,

    K
    PermalinkPermalink 07/30/10 @ 04:28
    Eli Weinstock-Herman (tarwn)

    In response to: Model-View-Presenter: Looking at Passive View

    I considered (several times) including the sample code, but I had more I wanted to do before releasing it (a few more presenter function, a service and dummy model, some unit tests). It sounds like you managed to add a bit more capability and functions on yours. Headed over to github now to take a look at your project. :)
    PermalinkPermalink 07/17/10 @ 05:34
    Robert Blixt

    In response to: Model-View-Presenter: Looking at Passive View

    Robert Blixt [Visitor]
    Great post, a very interesting read.

    I have been playing with Passive View myself recently and put the result up on github (http://github.com/devghost/skeletor). There are currently two sample applications there using WPF and Passive View. Where one is using the Event Aggregator to send events from the view to the presenter, and the other is using CLR events.
    The major benefit of this, as I can se, is that the view doesn't hold any reference to the presenter. Which makes them more decoupled.

    The sample apps are a work in project, so there are probably plenty of things that needs to be fixed :)
    PermalinkPermalink 07/17/10 @ 01:30
    ca8msm

    In response to: MSDN giveaway winners

    ca8msm [Member]
    Congratulations Emtucifor and Shawson, out of all of the comments I think you both were the rightful winners, we hope it comes in very useful for you and make sure you keep us updated on how it gets used :)
    PermalinkPermalink 07/10/10 @ 03:25
    damber

    In response to: MSDN giveaway winners

    damber [Member]
    congrats Emtucifor - you definitely deserved to win
    PermalinkPermalink 07/09/10 @ 19:10
    SQLDenis

    In response to: MSDN giveaway winners

    SQLDenis [Member]
    yeah, it was pretty easy when we had only one of these to give away..with two it became a little more interesting
    PermalinkPermalink 07/09/10 @ 12:01
    traingamer

    In response to: MSDN giveaway winners

    traingamer [Member]
    Congratulations - I knew one had to be Emtucifor since he wasn't on the voting list and his comment was pretty good!
    PermalinkPermalink 07/09/10 @ 12:00
    Erik

    In response to: MSDN giveaway winners

    Erik [Member]
    Thank you guys! I'm honored. Truly!
    PermalinkPermalink 07/09/10 @ 11:57
    Ted Krueger (onpnt)

    In response to: MSDN giveaway winners

    Another congrats to both of you
    PermalinkPermalink 07/09/10 @ 11:39
    Christiaan Baes (chrissie1)

    In response to: MSDN giveaway winners

    Congrats.
    PermalinkPermalink 07/09/10 @ 11:29
    dyfhid

    In response to: Vote for the MSDN giveaway winner

    dyfhid [Member]
    Don't vote for me! I thank you if you want to, but I won this same prize at another blog, and am removed from winning in this one! Thanks if you already have, but please indicate to Denis that you'd like to vote for someone else!
    PermalinkPermalink 07/09/10 @ 07:10
    NanaLich

    In response to: Vote for the MSDN giveaway winner

    NanaLich [Member]
    =(
    PermalinkPermalink 07/09/10 @ 05:05
    SQLDenis

    In response to: MSDN Ultimate Subscription giveaway

    SQLDenis [Member]
    Jalpesh , you are too late, it already went for a vote yesterday
    PermalinkPermalink 07/09/10 @ 04:33
    SQLDenis

    In response to: Vote for the MSDN giveaway winner

    SQLDenis [Member]
    Yes, you are too late..sorry
    PermalinkPermalink 07/09/10 @ 04:32
    NanaLich

    In response to: Vote for the MSDN giveaway winner

    NanaLich [Member]
    Is that too late to submit my answer?
    My project will need tools included in a MSDN ultimate subscription, but those tools (like Expression Studio) are way too expansive...

    I'm working on a project will help people who use internet to sync their files and settings between their work place, home, and cybercafe -- I don't know how is cybercafe going in the US, but in China many people still use cybercafe -- It will need web access, shell integration, WPF and Silverlight, and I also need to test it on multi platforms, I believe a MSDN subscription is the best tool can help me with the project.

    Do I still have a chance?
    PermalinkPermalink 07/09/10 @ 04:29
    Jalpesh Vadgama

    In response to: MSDN Ultimate Subscription giveaway

    Jalpesh Vadgama [Visitor]
    I am a Microsoft MVP for visual C# and I am regularly blogging on my blog on the above. The MSDN ultimate subscription will definitely help me on exploring new things and If i new learn new things from it i will definitely going to blog all this for the community.

    Best Regards,
    PermalinkPermalink 07/09/10 @ 02:06
    SQLDenis

    In response to: Vote for the MSDN giveaway winner

    SQLDenis [Member]
    It is in this post:

    The results of those two polls will be looked at tomorrow morning around 9 AM EST and then a new poll will be created with the final 6 contestants.
    PermalinkPermalink 07/08/10 @ 17:19
    Christiaan Baes (chrissie1)

    In response to: Vote for the MSDN giveaway winner

    And the winner is? Or are you keeping it a secret? A mystery to solve?
    PermalinkPermalink 07/08/10 @ 15:52
    SQLDenis

    In response to: MSDN Ultimate Subscription giveaway

    SQLDenis [Member]
    This part is done now, no need to leave any more comments. Now it will go for a vote
    PermalinkPermalink 07/08/10 @ 11:08
    David Taylor

    In response to: MSDN Ultimate Subscription giveaway

    David Taylor [Visitor]
    1) Why do you need this - Because I am a poor, seriously underpaid SQL Server 2008 DBA/Developer who can't even afford VS2010 Pro!
    What are you going to build with this - I am going to build practice apps to learn from, as I am relatively new to development
    will it help other people's lives? It is my hope that training myself will get me into a job in which I am helping other people.

    2) What specific functionality that is only part of Ultimate are you going to use? - Architecture Explorer

    3) You need to have a technical blog and provide the URL to that blog, if you are an active member of the technical community (stackoverflow, msdn forums etc etc) then also include those links. - http://dyfhid.wordpress.com. Also, I am the Volunteer Coordinator for PASS' APplication Development Virtual Chapter, located at http://appdev.sqlpass.org
    PermalinkPermalink 07/08/10 @ 06:53
    Erik

    In response to: MSDN Ultimate Subscription giveaway

    Erik [Member]
    I have always dreamed of owning my own software company. A few years back I started doing some database development on the side, but then I got married, had a son, and began having some health challenges which together halted what I'd been doing.

    But there is a special opportunity coming to me this Saturday to get back into the swing of things: my wife and son will be leaving the country for six weeks. I had already been planning to devote myself to developing one of many application ideas, but now:

    1) I would use MSDN Ultimate Subscription to build a secure server/file transfer/fetching/archiving/processing/reconciling/user worklist managing/cross-platform system (uncannily and quite coincidentally, exactly what is desperately needed at a company I know). It will help other people's lives in several ways: filling a need that many companies are bound to have and for a low price (as initially I will need to build market presence more than profit); increasing the number of small software development businesses out there, proving again that it can be done and providing inspiration for the masses; getting a family's Dad home so he can spend more time with them. If it helps, I'll blog about the development and growth of my application and business.

    2) The functionality I would use that is unique to VS Ultimate is Architecture and Modeling. I believe in "starting the way you mean to finish." So even though I'll be a one-man shop at first, that means test-driven design, agile development, automated regression testing, version control, good backups, and all the infrastructure needed to hire employees when the time comes without having to change much. I'll be eager to add the layer diagramming abilities of VS Ultimate to this mix.

    3. Blogs and technical community activity:

    http://blogs.lessthandot.com/index.php/All/?disp=authdir&author=71
    http://stackoverflow.com/users/57611/emtucifor
    http://tek-tips.com/userinfo.cfm?member=emtucifor
    http://squaredthoughts.blogspot.com/ (a bit out of date but still representative of my work)
    not to mention http://forum.lessthandot.com/memberlist.php?mode=viewprofile&u=98
    PermalinkPermalink 07/07/10 @ 17:42