Cheval N2Cheval Why not null?

Niner since 2009


  • Looking Ahead to C# 7 with Mads Torgersen

    I'm curious, but when can we have metadata as a first class citizen in the language? I see an interface as a version of this. Just as you create an interface file, you create a metadata file, which states it's contract (interface) communication channels, type, parent, property constructs and type rules, so on and so on, etc. Config file for data. That way you can program effects logically because of the metadata using the data state, instead of the other way around.

    Something like this would help entity framework. Class is the data holder and it's metadata file holds it's indexes, alternative indexes, descriptions and history locations, etc.

    In the web, it would be awesome to have the metadata move along with the data. It would even enable binary data sent instead of json as the metadata tells you how to hydrate it.

    I'm a rectangle, not because my class name says so, but because my metadata says my label is such. Intellisense on what data you are allowed to list together instead of methods, no more null checks as metadata says it can't be null, rules on what (class, construct, type, etc) operations this is compatible with.

    So maybe not then, as I the more I think of what it could do, there is not much to say what it cannot do.

  • Data/​Contract Coupling in Messaging

    Personally I really don't like having a data contract extendable. A contract is a contract, so the data must conform.

    From our way of thinking, we want to be tightly coupled to the data contract, but having expendable end points for older data contract versions.

    Message in Json format

           i.   Date Created

           ii.  Source ID

           iii. Data Object Type Name

           iv.  Data Object Type Version

           v.   Package data

               a. Any Json data but schema valid the the type version

    So basically:

    1)      "A" creates data object which is serialised to a json message (wrapper and data).

    2)      Json messge is added to a queue.

    3)      B Serialiser dequeues messages that it has an understanding about the type and version number.

    4)      B Rehydrates and schema verifies data object from message package data.

    Available - you can run B version 7 next to B version 6 until there are no more messages for version 6 in the queue.

    Scalability - as you can spin up new B's in different versions to process messages.

    Performance - as B only tries to dequeue, deserialse and validate packages that are for them.

    Timeliness – You can check many queues and even specialize queues for data types if you want.

    Data – basic json strings.

    Other advantages are:

    Monitoring – you can peek at the queue to see the progress of an upgrade.

    Deployment – you can monitor the queue to see which A's which have not been upgraded.


  • Defrag Tools: #8 - Mark Russinovich

    Thank you Mr Russinovich, I always have a dedicated monitor assigned to Process Explorer, even run it inside VM's and one day might get around to slip-streaming it into our Windows images as it's installed right after the first app 7-Zip. Process Monitor analysis should be forced labour for reformed hackers, though when you find the problem, you luckily forget the K's of lines and filters you've gone through. BUT! (oops caps-lock, apparently the visual studio design team also re-keyed that caps lock key!) Can we please have the Process Explorer graphs reset ( and better network graphs? Is the computer working? No, don't stare at the hdd light, look at the process explorer graphs!

  • Erik Meijer - Functional Programming From First Principles

    exoteric wrote

    Did Anders do a destructive update of Erik?  Cool

    Are you suggesting Erik needs some "Datomic" in his life? Where the latest version forgot his previous understandings...?

  • Rich Hickey - The Database as a Value

    One question I would have is, how do you forget? Delete/summaries/compress. ie As a doctor when I find that Sally can't eat pizza which cheese, I need to know everything (how often/much over the last 3/6 months), but 10 years later, I only need to know the single reference of then and the last 3/6 months. Basically storage isn't unlimited as it has a cost.

  • Rich Hickey - The Database as a Value

    Shame it's only for JVM at the moment. This looks great for us.

  • Matthew Podwysocki and Bart J. F. De Smet: RxJS Today and Tomorrow

    To take Charles point about what to do with Rx further, I often hear "you guys get a new technology and treat it like a hammer and then try to treat everything else as a nail whether it is or not." To that, well of course! How else can you learn something without living it for a time, to know what it is and how best to use it. That being the case, Rx seems like "well you don't need it until you try and do x, y or z..." That's the learning curve problem with Rx, there are not enough nails around to go bashing with it. The tutorial series was a start but like the All-In-One project, how about list somewhere of examples of how Rx can solve problems and maybe like I suggested to the All In One group, accept request for scenarios and show how Rx is best to solve them.

    Any way, keep on with the documentation, but examples of solved problems is just sometimes better for us dark matter developers.

  • Channel 9 has gone global!

    In Australia here and hitting the "North Central US" data center. Hope that's because I'm up earlier than the other sleepy heads and getting all the bandwidth...

  • Goodbye 9: Nic Fillingham Exit Interview

    Good luck Nic and don't forget to come back and visit some time. Sounds like you've been on a walk-about for some time indeed.

  • Microsoft‘s Windows 8 Reimagines Windows for the Future

    Apparently the download files are incomplete...? 21 seconds appears to be right.


  • Hawaii interns XAPfest 2011

    Adam: Agreed! Simple camera utilities like that one is as important to the smart phone as email is to the slow internet. Julia should expand the start recording on face smile (or any other per-assigned visual cue) to video as well.

    The next step in smart phone has to be tactile feed back, especially when USB key insertion. A simple electro-magnet that when in use, clips the key in place, and releases when not in use. ie. only when powered and in use the clips pop in.

  • Rx Workshop: Schedulers

    It runs and should do as the method explanations indicate but doesn't delay each quote as expected (unless I don't use the scheduler?), but I shouldn't think you need to for each over it like the other attempts above...

    Query Code:

    return from n in quotes.Where(p => p.Symbol == "MSFT")
      select new { date = n.Date, close = n.Close.ToString() };

    GetQuotes Code:

    var timer = Observable.Interval(TimeSpan.FromSeconds(5), scheduler).ObserveOn(this);
    return quotes.ToObservable().Zip(timer, (quoteList, timerList) => quoteList);

View All