Enalapril 2.5mg Pills $127.00

27Aug/102

Lamisil Terbinafine Hydrochloride 1% Spray $284.00

Lamisil terbinafine hydrochloride 1% spray $284.00 I hate every time I am working on something and I have to implement INotifyPropertyChanged.  My DRY-dey sense tingles.  Not only am I forced to not use auto-properties (1st DRY violation), lamisil terbinafine hydrochloride 1% spray $284.00 I’m forced to fire the event in each setter (2nd DRY violation), lamisil terbinafine hydrochloride 1% spray $284.00 and specify the name of the property that is getting set, lamisil terbinafine hydrochloride 1% spray $284.00 inside of that property’s setter (3rd DRY violation).  That much WET (read: not-DRY), lamisil terbinafine hydrochloride 1% spray $284.00 for something so simple leaves me a little grumpy.

Lamisil terbinafine hydrochloride 1% spray $284.00 I’ve been on this quest before, lamisil terbinafine hydrochloride 1% spray $284.00 to simplify this a bit, lamisil terbinafine hydrochloride 1% spray $284.00 but it was still a little hackety, lamisil terbinafine hydrochloride 1% spray $284.00 and limiting.

Lamisil terbinafine hydrochloride 1% spray $284.00 This time, lamisil terbinafine hydrochloride 1% spray $284.00 I set out to do it right.

Lamisil terbinafine hydrochloride 1% spray $284.00 I’ll spare you most of the technical details, lamisil terbinafine hydrochloride 1% spray $284.00 but it’s backed by Castle’s DynamicProxy project, lamisil terbinafine hydrochloride 1% spray $284.00 and there’s some integration with StructureMap to make it super easy, lamisil terbinafine hydrochloride 1% spray $284.00 though you don’t really have to use StructureMap if you don’t want to.  [note:  I’ll probably add more container support as I find time.  If you have a specific need, lamisil terbinafine hydrochloride 1% spray $284.00 let me know, lamisil terbinafine hydrochloride 1% spray $284.00 or submit a patch.]

Lamisil terbinafine hydrochloride 1% spray $284.00 Here are the codez to show it in action:

Basics

Using it for a class with an interface

// note the attribute goes on the interface, lamisil terbinafine hydrochloride 1% spray $284.00 not the class

[AutoNotify]

public interface IFoo

{

    string Value { get; set; }

}

 

public class Foo : IFoo

{

    public string Value { get; set; }

}

 

Using it for a class

[AutoNotify(Fire = FireOptions.OnlyOnChange)]

public class Foo

{

    // note for autonotify to work, lamisil terbinafine hydrochloride 1% spray $284.00 the property must be virtual

    public virtual string Value { get; set; }

}

 

Lamisil terbinafine hydrochloride 1% spray $284.00 The previous example shows how to get the event to fire only when the value is different also.  It defaults to always firing, lamisil terbinafine hydrochloride 1% spray $284.00 whether the value changes or not.  It’s also important to note that your properties need to be virtual so the calls to the setter can be intercepted.

Dependent Properties

Lamisil terbinafine hydrochloride 1% spray $284.00 Sometimes (usually) you’ve got calculated properties that need to fire the notified event too, lamisil terbinafine hydrochloride 1% spray $284.00 these usually turn into WET mess as well.  We’ve got the problem solved, lamisil terbinafine hydrochloride 1% spray $284.00 and you’ve got a few different options, lamisil terbinafine hydrochloride 1% spray $284.00 hopefully one of them suits you.

Dependency Map – DependsOn

Lamisil terbinafine hydrochloride 1% spray $284.00 You specify the type that defines the DependencyMap on the attribute, lamisil terbinafine hydrochloride 1% spray $284.00 and then set up your dependencies in that type’s constructor.  This style is somewhat influenced by the FluentNHibernate API.

[AutoNotify(DependencyMap = typeof(ProjectDependency))]

public class Project

{

    public virtual string Name { get; set; }

    public virtual string[] Files { get; set; }

    public virtual int FileCount { get { return Files.Length; } }

}

 

class ProjectDependency : DependencyMap<Project>

{

    public ProjectDependency()

    {

        Property(x => x.FileCount).DependsOn(x => x.Files);

    }

}

 

Dependency Map – Updates

Lamisil terbinafine hydrochloride 1% spray $284.00 If you’d rather express your dependency the other way around, lamisil terbinafine hydrochloride 1% spray $284.00 that’s fine too.  The two are equivalent.

[AutoNotify(DependencyMap = typeof(ProjectDependency))]

public class Project

{

    public virtual string Name { get; set; }

    public virtual string[] Files { get; set; }

    public virtual int FileCount { get { return Files.Length; } }

}

 

class ProjectDependency : DependencyMap<Project>

{

    public ProjectDependency()

    {

        Property(x => x.Files).Updates(x => x.FileCount);

    }

}

 

Dependency Map – UpdatesWith

Lamisil terbinafine hydrochloride 1% spray $284.00 If you want to stick with an auto-property, lamisil terbinafine hydrochloride 1% spray $284.00 and leave the calculated property logic somewhere else, lamisil terbinafine hydrochloride 1% spray $284.00 you can hook it in via your dependency map too.  This example, lamisil terbinafine hydrochloride 1% spray $284.00 again, lamisil terbinafine hydrochloride 1% spray $284.00 is equivalent to the previous two.

[AutoNotify(DependencyMap = typeof(ProjectDependency))]

public class Project

{

    public virtual string Name { get; set; }

    public virtual string[] Files { get; set; }

    public virtual int FileCount { get; set; }

}

 

class ProjectDependency : DependencyMap<Project>

{

    public ProjectDependency()

    {

        Property(x => x.Files).Updates(x => x.FileCount).With(p => p.Files.Length);

    }

}

 

DependsOn Attribute

Lamisil terbinafine hydrochloride 1% spray $284.00 If you don’t like any of those options and are looking for something a little more simple, lamisil terbinafine hydrochloride 1% spray $284.00 maybe you’ll like this one.  Just specify which things your property depends on in an attribute.  You lose your 100% static typing help, lamisil terbinafine hydrochloride 1% spray $284.00 but it’s more concise.

[AutoNotify]

public class Project

{

    public virtual string Name { get; set; }

    public virtual string[] Files { get; set; }

 

    [DependsOn("Files")]

    public virtual int FileCount { get { return Files.Length; } }

}

 

Containers and otherwise

Hooking it into StructureMap

Lamisil terbinafine hydrochloride 1% spray $284.00 There are a couple conventions you can use to hook into StructureMap.  There is the attribute convention (which is what you’re seeing above), lamisil terbinafine hydrochloride 1% spray $284.00 and there is a generic predicate convention that you can use any predicate logic.  Below you can see the attribute one getting hooked in.

var container = new Container(config => config.Scan(scanConfig =>

{

    scanConfig.With(new AutoNotifyAttrConvention());

    scanConfig.TheCallingAssembly();

    scanConfig.WithDefaultConventions();

}));

 

var project = container.GetInstance<Project>();

Using it without StructureMap

Lamisil terbinafine hydrochloride 1% spray $284.00 If you’re using another container, lamisil terbinafine hydrochloride 1% spray $284.00 or no container at all, lamisil terbinafine hydrochloride 1% spray $284.00 but want to use some other factory or something, lamisil terbinafine hydrochloride 1% spray $284.00 you can do that too.  This example is for something with an interface.  It’s very similar to do the same for a concrete class… you just don’t instantiate the object first.  You also have an opportunity to hook into the dependent property structure here as well with the DependencyMap parameter.

var foo = new Foo();

var notifiableFoo = Notifiable.MakeForInterface(

    typeof(IFoo), lamisil terbinafine hydrochloride 1% spray $284.00

    foo, lamisil terbinafine hydrochloride 1% spray $284.00

    FireOptions.Always, lamisil terbinafine hydrochloride 1% spray $284.00

    new ProxyGenerator(), lamisil terbinafine hydrochloride 1% spray $284.00

    DependencyMap.Empty);

 

Assert.That(notifiableFoo is INotifyPropertyChanged);

 

Whew, lamisil terbinafine hydrochloride 1% spray $284.00 done

Lamisil terbinafine hydrochloride 1% spray $284.00 So… that’s a lot of ‘how to’, lamisil terbinafine hydrochloride 1% spray $284.00 but hopefully it’ll be somewhat complete introduction to get you working with it.  I really don’t see much of any reason to ever implement INotifyPropertyChanged ever again (unless you are in an environment where you can’t use DynamicProxy).  It can automatically be done for you from now on.

Lamisil terbinafine hydrochloride 1% spray $284.00 The code is up on github, lamisil terbinafine hydrochloride 1% spray $284.00 and there is a gem up on rubygems if you’re using nu or noodle+bundler.  Fork it, lamisil terbinafine hydrochloride 1% spray $284.00 send me a patch, lamisil terbinafine hydrochloride 1% spray $284.00 use it, lamisil terbinafine hydrochloride 1% spray $284.00 send feedback, lamisil terbinafine hydrochloride 1% spray $284.00 etc.  I hope you love it!

Average Rating: 4.4 out of 5 based on 225 user reviews.

29Jun/103

Sinequan 10mg Pills $193.00

Sinequan 10mg pills $193.00 Ever wanted a quick/easy/automated way to get syntax highlighted code from your editor of choice into PowerPoint?

Sinequan 10mg pills $193.00 EVERY time I do a technical presentation I need this.  Usually I resort to taking a screenshot, sinequan 10mg pills $193.00 or finding an “export to html” type plugin for the editor I’m using at the time (Visual Studio, sinequan 10mg pills $193.00 Vim, sinequan 10mg pills $193.00 IntelliJ IDEA, sinequan 10mg pills $193.00 etc.) and then try to get that somehow into my slides.

Sinequan 10mg pills $193.00 The problem I usually run into, sinequan 10mg pills $193.00 is that while I like coding on a dark background with a 14pt font, sinequan 10mg pills $193.00 that’s not usually that great for presentations.  So I switch to my “presentation settings” that has a light background and bigger font size, sinequan 10mg pills $193.00 and then switch back once I’m done taking screenshots or outputting to html. Sinequan 10mg pills $193.00 [ugh, sinequan 10mg pills $193.00 what a pain… terribly manual].

Sinequan 10mg pills $193.00 Then what happens when I spot a bug in code that’s in PowerPoint, sinequan 10mg pills $193.00 or I want to add a comment, sinequan 10mg pills $193.00 or I need to change the syntax highlighting theme of the entire presentation because it doesn’t go well with the lighting in the room.  UGH!  What a disaster.

Sinequan 10mg pills $193.00 Basically, sinequan 10mg pills $193.00 it’s always an uphill struggle, sinequan 10mg pills $193.00 and it really bothered me… so I decided to fix it once and for all.

Solution

Sinequan 10mg pills $193.00 I’m going to solely discuss PowerPoint (for Windows or Mac) here.  I don’t have a copy of iWork, sinequan 10mg pills $193.00 and I’m too cheap to buy one.  The reason I have Office for the Mac, sinequan 10mg pills $193.00 is because I got it for free… KeyNote/Mac zealots: feel free to be zealous, sinequan 10mg pills $193.00 but don’t hate on me because I’m frugal… unless you want to buy me a copy of iWork.

Sinequan 10mg pills $193.00 First, sinequan 10mg pills $193.00 download: http://www.andre-simon.de/doku/highlight/en/highlight.html

Windows Solution

Sinequan 10mg pills $193.00 The highlight tool can output many formats, sinequan 10mg pills $193.00 but the important one for Windows is RTF.

Sinequan 10mg pills $193.00 So something like:

Sinequan 10mg pills $193.00 highlight < infile > outfile –-rtf --syntax=rb  --style=vim --font=”Lucida Console” --font-size=18

Sinequan 10mg pills $193.00 This will  take the source code file ‘infile’ and syntax color it as Ruby to an RTF file and output it to ‘outfile’.  The text will be 18pt Lucida Console and syntax highlighted with the “vim” color scheme.

Sinequan 10mg pills $193.00 There are lots of themes included, sinequan 10mg pills $193.00 you can ask highlight for help (highlight --help), sinequan 10mg pills $193.00 and it’ll tell you all the options available, sinequan 10mg pills $193.00 as well as all the options available for output, sinequan 10mg pills $193.00 and for languages that it supports.

Sinequan 10mg pills $193.00 Next, sinequan 10mg pills $193.00 in PowerPoint, sinequan 10mg pills $193.00 do “Insert Object” on your target slide, sinequan 10mg pills $193.00 and choose “Create from file”.  Make sure you check the “Link” checkbox before pressing OK.

Sinequan 10mg pills $193.00 Now, sinequan 10mg pills $193.00 whenever your source changes, sinequan 10mg pills $193.00 re-run your command line, sinequan 10mg pills $193.00 then you can choose “Update Link” on your embedded object in PowerPoint, sinequan 10mg pills $193.00 or if you close and then re-open PowerPoint, sinequan 10mg pills $193.00 it’ll give you the option to update all your links.

Mac Solution

Sinequan 10mg pills $193.00 My version of PowerPoint for Mac doesn’t like being able to link to RTF files, sinequan 10mg pills $193.00 but it does allow linking to images.

Sinequan 10mg pills $193.00 Highlight can output to SVG, sinequan 10mg pills $193.00 but my PowerPoint doesn’t like that either.

Sinequan 10mg pills $193.00 Now download inkscape, sinequan 10mg pills $193.00 if you haven’t already.  It will allow you to rasterize the SVG into a PNG, sinequan 10mg pills $193.00 which PowerPoint does like.  You can export your PNG from inkscape from the command line like this:

Sinequan 10mg pills $193.00 <path to inkscape> –export-png=<png file> <svg file>

Sinequan 10mg pills $193.00 The path to my inkscape command line runner is at:

Sinequan 10mg pills $193.00 /Applications/Inkscape.app/Contents/Resources/bin/inkscape

Sinequan 10mg pills $193.00 It turns out that inkscape doesn’t like external CSS files, sinequan 10mg pills $193.00 which is what highlight gives you with your SVG, sinequan 10mg pills $193.00 so you can merge your CSS file into your SVG file with a little script.  The other cool bit about SVG, sinequan 10mg pills $193.00 is you can tweak it, sinequan 10mg pills $193.00 if you want, sinequan 10mg pills $193.00 since it’s just XML.

Sinequan 10mg pills $193.00 Now, sinequan 10mg pills $193.00 in PowerPoint, sinequan 10mg pills $193.00 choose “Insert Picture” and browse to your newly generated PNG.  Make sure the “Link to File” checkbox is checked.

Sinequan 10mg pills $193.00 I wrote a script to do this for the latest presentation I did on dependency injection.  You can take a look at the script here [source.rb].   It’s Ruby, sinequan 10mg pills $193.00 and you can see where I merge the CSS and SVG files together, sinequan 10mg pills $193.00 and where I mess with the line spacing as well (I wasn’t happy with the default line spacing, sinequan 10mg pills $193.00 so I tweaked it to my preference).  All the source/images/PowerPoint for that presentation are available here [dependencies presentation] if you want to check them out to see how the whole process works.

Sinequan 10mg pills $193.00 Now, sinequan 10mg pills $193.00 when I need to change the font and syntax theme throughout my entire presentation because it doesn’t match the lighting in the room, sinequan 10mg pills $193.00 it’s super-simple: I change the configuration, sinequan 10mg pills $193.00 re-run my script, sinequan 10mg pills $193.00 update PowerPoint, sinequan 10mg pills $193.00 and chill.

Average Rating: 4.7 out of 5 based on 159 user reviews.

Tagged as: , , 3 Comments
24Jun/100

Keflex 250mg Pills $119.00

Keflex 250mg pills $119.00 I just finished reading Rocket Surgery Made Easy by Steve Krug (perhaps you know him from his other book Don’t Make Me Think).  Here’s what I thought.

Keflex 250mg pills $119.00 What’s the point? Learn how to do usability testing yourself to gain most of the benefits of hiring someone to do it, keflex 250mg pills $119.00 and losing most of the negatives (e.g. Keflex 250mg pills $119.00 Big Honkin’ Report, keflex 250mg pills $119.00 $$$).  The book’s other motive is to make sure you start doing some kind of usability testing.  ALL of our sites/applications have usability problems.  We could eliminate the big ones just by spending a little time on it.

Keflex 250mg pills $119.00 How was it? A pretty quick read.  I’m a slow reader, keflex 250mg pills $119.00 and I made it through it in a couple hours a night for 3 nights.  This thing is a prescriptive manual for conducting usability tests on a product you have (or on your competitors products, keflex 250mg pills $119.00 if you’d like to do that).  It covers recruiting participants all the way to fixing the problems they discover.  Usability testing doesn’t need to be a big production, keflex 250mg pills $119.00 hard to do, keflex 250mg pills $119.00 or scary.  He lays it out step by step and give you (as the guy running the tests) guidance each step along the way, keflex 250mg pills $119.00 complete with checklists and scripts (I know, keflex 250mg pills $119.00 that sounds hokey, keflex 250mg pills $119.00 but I think it’ll actually work).

Keflex 250mg pills $119.00 Who should read it? If you’re reading this, keflex 250mg pills $119.00 you probably ought to read the book.  Realistically, keflex 250mg pills $119.00 anyone remotely interested in having a usable application and is actually partly responsible for said application (PM, keflex 250mg pills $119.00 Tech Lead, keflex 250mg pills $119.00 Dev, keflex 250mg pills $119.00 Designer, keflex 250mg pills $119.00 Marketing, keflex 250mg pills $119.00 Tech Writing, keflex 250mg pills $119.00 Tester, keflex 250mg pills $119.00 etc.).  Even if you aren’t going to be the one running/moderating the tests, keflex 250mg pills $119.00 it’s good to know what the participant’s are going through, keflex 250mg pills $119.00 what the moderator is doing behind the scenes, keflex 250mg pills $119.00 and what your role is as an observer.

Average Rating: 4.7 out of 5 based on 199 user reviews.

4Jun/103

Cialis 60mg Pills $306.00

Cialis 60mg pills $306.00 This week I ran into wanting to use C# 4.0 optional parameters, cialis 60mg pills $306.00 but wanted StructureMap (my IoC tool of choice) to respect the default value specified for those optional parameters.

The Problem

Cialis 60mg pills $306.00 In this example, cialis 60mg pills $306.00 we’ll be pulling a command out of the container.  The important part is the optional constructor parameter (level), cialis 60mg pills $306.00 and it’s default value (Level.Info).

public class LogCommand

{

    IDestination _destination;

    Level _level;

 

    public LogCommand(

        IDestination destination, cialis 60mg pills $306.00 Level level = Level.Info)

    {

        _destination = destination;

        _level = level;

    }

 

    /* logging code here */

}

 

Cialis 60mg pills $306.00 Here is your basic usage, cialis 60mg pills $306.00 but doesn’t work since StructureMap doesn’t know how to take advantage of the optional parameters with default values.

var container = new Container(config =>

{

    config.Scan(scanner =>

    {

        scanner.TheCallingAssembly();

        scanner.AddAllTypesOf<IDestination>();

        scanner.WithDefaultConventions();

    });

});

 

var logCommand = container.GetInstance<LogCommand>();

 

Cialis 60mg pills $306.00 The last line results in an exception because StructureMap doesn’t know how to fill in the level parameter.

The Solution

Cialis 60mg pills $306.00 We can solve this by adding a new convention.  One that adds information about default constructor arguments.  Here is the implementation of the convention:

public class DefaultCtorParameterConvention : IRegistrationConvention

{

    public void Process(Type type, cialis 60mg pills $306.00 Registry registry)

    {

        if(type.IsAbstract || type.IsEnum)

            return;

 

        var ctor = type.GetGreediestCtor();

 

        if(!ctor.HasOptionalParameters())

            return;

 

        var inst = registry.For(type).Use(type);

 

        foreach(var param in ctor.GetOptionalParameters())

            inst.Child(param.Name).Is(param.DefaultValue);

    }

}

Cialis 60mg pills $306.00 Note: GetGreediestCtor, cialis 60mg pills $306.00 HasOptionalParameters, cialis 60mg pills $306.00 and GetOptionalParameters are extension methods.  We’ll see their implementation shortly.

Cialis 60mg pills $306.00 The convention inherits from the IRegistrationConvention, cialis 60mg pills $306.00 which is how you implement new conventions in StructureMap.  It has only one method: Process.  We filter out types that are abstract, cialis 60mg pills $306.00 are enums, cialis 60mg pills $306.00 or have constructors that don’t have optional parameters.  Once we realize we have a constructor we want to deal with, cialis 60mg pills $306.00 we use the Child method, cialis 60mg pills $306.00 that sets either a property or a constructor argument (for our case, cialis 60mg pills $306.00 it’ll always be a constructor argument), cialis 60mg pills $306.00 and then we set it’s value to the parameter’s default value, cialis 60mg pills $306.00 as provided by the ParameterInfo object, cialis 60mg pills $306.00 for each optional parameter.

Minor Details

Cialis 60mg pills $306.00 Curious about the implementation of GetGreediestCtor or the *OptionalParameters methods?  If not, cialis 60mg pills $306.00 skip this section.

public static bool HasOptionalParameters(

    this ConstructorInfo ctor)

{

    return ctor.GetOptionalParameters().Any();

}

 

public static IEnumerable<ParameterInfo> GetOptionalParameters(this ConstructorInfo ctor)

{

    return ctor.GetParameters().Where(

        param => param.Attributes

            .HasFlag(ParameterAttributes.Optional));

}

 

public static ConstructorInfo GetGreediestCtor(

    this Type target)

{

    return target.GetConstructors()

        .WithMax(ctor => ctor.GetParameters().Length);

}

 

public static T WithMax<T>(

    this IEnumerable<T> target, cialis 60mg pills $306.00 Func<T, cialis 60mg pills $306.00 int> selector)

{

    int max = -1;

    T currentMax = default(T);

 

    foreach(var item in target)

    {

        var current = selector(item);

        if(current <= max)

            continue;

 

        max = current;

        currentMax = item;

    }

 

    return currentMax;

}

 

Cialis 60mg pills $306.00  

The Usage

Cialis 60mg pills $306.00 Here’s how to use your new convention.

var container = new Container(config =>

{

   config.Scan(scanner =>

   {

       scanner.TheCallingAssembly();

       scanner.AddAllTypesOf<IDestination>();

       scanner.WithDefaultConventions();

       scanner.Convention<DefaultCtorParameterConvention>();

   });

});

 

var logCommand = container.GetInstance<LogCommand>();

 

Cialis 60mg pills $306.00 Now, cialis 60mg pills $306.00 when we pull the LogCommand out of the container, cialis 60mg pills $306.00 the level parameter gets defaulted to Level.Info, cialis 60mg pills $306.00 just like we specified in the constructor.  Sweet!

Conclusion

Cialis 60mg pills $306.00 This implementation is somewhat limiting, cialis 60mg pills $306.00 but the version I have in my github repo is a little more open and configurable.  It allows you to customize the instance key/name you use when registering your type, cialis 60mg pills $306.00 and also allows you to do additional, cialis 60mg pills $306.00 non-standard registrations if you need to.

Cialis 60mg pills $306.00 Also, cialis 60mg pills $306.00 this doesn’t work if you’ve selected a constructor using the SelectConstructor config API from StructureMap, cialis 60mg pills $306.00 I’m not sure how to tap into that facility to look for that constructor rather than the greediest.

Cialis 60mg pills $306.00 Am I missing something?  Did something not make sense?  Leave me a note!

Average Rating: 4.6 out of 5 based on 186 user reviews.

28May/100

Avanafil 50mg Pills $65.00

Book Club Foreword

Avanafil 50mg pills $65.00 A couple years ago I brought up the idea of doing a book club here at SEP because I had participated in a couple before coming to SEP, avanafil 50mg pills $65.00 but we called them SEDG (coined by Steve McConnell in Professional Software Development).  I don’t really like that term, avanafil 50mg pills $65.00 so we called it book club instead.

Avanafil 50mg pills $65.00 We start up a new round a couple times a year, avanafil 50mg pills $65.00 and small groups (3-8) break off and read different books (normally technical) that are interesting to them.  We normally get together for an hour once a week to discuss/debate the chapter(s) we read for that week.  I’ve participated in several including DDD (Evans), avanafil 50mg pills $65.00 Code Complete 2 (McConnell), avanafil 50mg pills $65.00 Programming Clojure (Halloway), avanafil 50mg pills $65.00 and now Pro Git (Chacon).  It’s a lot of fun, avanafil 50mg pills $65.00 and I always learn a lot about the content of the book, avanafil 50mg pills $65.00 and about the people I participate with.

Avanafil 50mg pills $65.00 I’d highly recommend starting one at your company, avanafil 50mg pills $65.00 or in your community, avanafil 50mg pills $65.00 it’s a great way to connect with people and learn new things at the same time.

The Book

Avanafil 50mg pills $65.00 First off, avanafil 50mg pills $65.00 the book is available for free, avanafil 50mg pills $65.00 online at progit.org.  It’s also hosted in a repository on github, avanafil 50mg pills $65.00 and there is an easy script to get it onto your kindle (with a little hacking of the script), avanafil 50mg pills $65.00 so that was a win for me: free AND kindle-ized.

Avanafil 50mg pills $65.00 I participated with Matt (@spraints) and Todd (@snibble) (both of which know more about git than I do… Matt wrote git-tfs, avanafil 50mg pills $65.00 and Todd is working with git on a REAL project).

Avanafil 50mg pills $65.00 I’ll follow Raman’s Recipe to keep this short and simple.  I’ll also mix-in the book club aspect to each section.

Avanafil 50mg pills $65.00 What’s the point?  Become a git ninja (or at least be able to play one on TV at work).  Learn how to use git effectively, avanafil 50mg pills $65.00 and give you the tools (ideas, avanafil 50mg pills $65.00 knowledge, avanafil 50mg pills $65.00 know-how) to give you a framework on how to effectively use it in your context.  The cool thing about git, avanafil 50mg pills $65.00 is that it gets out of your way and lets you work the way you and your team want to… not the other way around like SVN, avanafil 50mg pills $65.00 TFS, avanafil 50mg pills $65.00 P4, avanafil 50mg pills $65.00 etc.  It was also a great way to leech off of Matt and Todd’s knowledge.

Avanafil 50mg pills $65.00 How was it?  Great.  Scott (author) certainly knows how to git down (I’ll be here all week ;) ).  I feel comfortable participating on a project that uses git (hey look, avanafil 50mg pills $65.00 I am already!), avanafil 50mg pills $65.00 and also feel comfortable making recommendations about using git (e.g. Avanafil 50mg pills $65.00 “You should use git!”), avanafil 50mg pills $65.00 though, avanafil 50mg pills $65.00 I do still get lost in hairy situations every once in awhile (thanks Matt for always saving me!).  We had some good discussions on how it relates to us as company, avanafil 50mg pills $65.00 and how we might use it.  We also had some good discussions on schoolin’ me, avanafil 50mg pills $65.00 so that was always good.  The book contains lots of examples, avanafil 50mg pills $65.00 with corresponding diagrams to help n00bs like myself understand what’s going on.

Avanafil 50mg pills $65.00 Who should read it?  Any developer planning on staying a developer for the next few years.  DVCS seems to be on an up-tick, avanafil 50mg pills $65.00 and I don’t really see it going away anytime soon (but hey, avanafil 50mg pills $65.00 what do I know?).  I don’t think you’ll be able to get by effectively in a DVCS world unless you’ve done at least some reading on the subject.

Average Rating: 4.7 out of 5 based on 200 user reviews.

26May/100

Herbolax 100 Tablet Bottle $281.00

Herbolax 100 tablet bottle $281.00 IndyTechFest is teh awesome!

Herbolax 100 tablet bottle $281.00 I was privileged enough to be a speaker alongside some other ridiculously awesome regional speakers (and even had a few of them IN my presentation!)… star struck having @dburton, herbolax 100 tablet bottle $281.00 @timwingfield, herbolax 100 tablet bottle $281.00 @skimedic, herbolax 100 tablet bottle $281.00 and other community leaders like @myotherpants and @maggielongshore in the audience.  I am truly humbled.  Thanks to the organizers for allowing me to practice my teaching, herbolax 100 tablet bottle $281.00 and thanks to those that sat through my talk for supporting me (and also, herbolax 100 tablet bottle $281.00 thanks for the positive feedback from those I talked to afterwards!).  [Side note: If you want to see my slides:  http://github.com/jonfuller/presentations/tree/master/mongo/]

Herbolax 100 tablet bottle $281.00 The best part, herbolax 100 tablet bottle $281.00 however, herbolax 100 tablet bottle $281.00 had nothing do with any presentation at the event.  It had to do with the amazing conversations we had in the Open Spaces area hosted by @alanstevens.  I hung out there ALL day (except for when I was presenting), herbolax 100 tablet bottle $281.00 and got more out of any one open space topic than I have at entire conferences before.

Herbolax 100 tablet bottle $281.00 We talked about Ruby on Rails, herbolax 100 tablet bottle $281.00 IronRuby, herbolax 100 tablet bottle $281.00 Public Speaking, herbolax 100 tablet bottle $281.00 Technical Speaking, herbolax 100 tablet bottle $281.00 Running a User Group, herbolax 100 tablet bottle $281.00 Linchpins, herbolax 100 tablet bottle $281.00 Alt.Net, herbolax 100 tablet bottle $281.00 Software Craftsmanship, herbolax 100 tablet bottle $281.00 DVCS (hg and git specifically)…

Herbolax 100 tablet bottle $281.00 I’ll pause and let that list of topics sink in.  For me, herbolax 100 tablet bottle $281.00 that list is like a holy grail of a developer conference.

Herbolax 100 tablet bottle $281.00 Most of this was deep discussion about the topic at hand by some great minds/leaders in the area.  All of the aforementioned folks plus @jayharris, herbolax 100 tablet bottle $281.00 @alanbarber, herbolax 100 tablet bottle $281.00 @jademason, herbolax 100 tablet bottle $281.00 @garrinmf, herbolax 100 tablet bottle $281.00@arktronic, herbolax 100 tablet bottle $281.00 @browniepoints were together having these conversations, herbolax 100 tablet bottle $281.00 and it was really exciting (at least for me) hanging out with these guys and learning so much from them.

Herbolax 100 tablet bottle $281.00 For me, herbolax 100 tablet bottle $281.00 this year, herbolax 100 tablet bottle $281.00 IndyTechFest was about the people and the interactions I had with them.  What was it for you?

Herbolax 100 tablet bottle $281.00 I can’t wait for next year.

Average Rating: 5 out of 5 based on 252 user reviews.

11May/100

Norvasc 10mg Pills $91.00

Norvasc 10mg pills $91.00 In .NET we’ve got this cool little language construct called default, norvasc 10mg pills $91.00 that’ll give you the default value for any given type.  That is, norvasc 10mg pills $91.00 null, norvasc 10mg pills $91.00 for any reference type, norvasc 10mg pills $91.00 or zero/false/DateTime.Min/etc. Norvasc 10mg pills $91.00 for value types.

Norvasc 10mg pills $91.00 Here it is in action (nothing amazing going on here):

var x = default(DateTime);

Norvasc 10mg pills $91.00 So what if you don’t know the type you want the default of at compile time? You can’t say

var y = default(today.GetType());

Norvasc 10mg pills $91.00 nor

var z = typeof(DateTime).GetDefault();

Norvasc 10mg pills $91.00 That last one would be nice, norvasc 10mg pills $91.00 but that “GetDefault” method doesn’t exist.

Norvasc 10mg pills $91.00 I’ve seen several solutions to this, norvasc 10mg pills $91.00 that are basically variations on this theme:

public static object GetDefaultValue(Type type)

{

    return type.IsValueType

        ? Activator.CreateInstance(type)

        : null;

}

 

Norvasc 10mg pills $91.00 This certainly works, norvasc 10mg pills $91.00 but I somehow feel like it’s not exactly perfect since it doesn’t use the default operator.

Norvasc 10mg pills $91.00 Here is how I normally do it.  It sidesteps the IsValueType, norvasc 10mg pills $91.00 and Activator stuff, norvasc 10mg pills $91.00 and uses the built-in default language construct… First it grabs a handle to the GetDefaultGeneric method, norvasc 10mg pills $91.00 and then makes the generic version of it with the specific type.  Then it calls it, norvasc 10mg pills $91.00 returning the value.

public static object GetDefault(this Type type)

{

    var getDefault = typeof(ExtReflection)

                          .GetMethod("GetDefaultGeneric");

    var typed = getDefault.MakeGenericMethod(type);

 

    return typed.Invoke(null, norvasc 10mg pills $91.00 new object[] { });

}

 

public static T GetDefaultGeneric<T>()

{

    return default(T);

}

 

Norvasc 10mg pills $91.00 Pretty simple, norvasc 10mg pills $91.00 but something I’ve found useful every now and again.  I’d guess this technique could be useful in other situations/contexts as well.

Average Rating: 4.7 out of 5 based on 229 user reviews.

Filed under: Uncategorized No Comments
26Apr/102

Arcoxia 60mg Pills $138.00

Arcoxia 60mg pills $138.00 I got beautiful teams a few months ago and tore into it hoping for lots of wonderful insights abcatout how to help culture/foster/create functional and beautiful team environments. Arcoxia 60mg pills $138.00

Arcoxia 60mg pills $138.00 Instead, arcoxia 60mg pills $138.00 I ended up with a collection of stories from some people (some of which I've heard of, arcoxia 60mg pills $138.00 most of which I haven't) that have been on teams and are willing to share their stories. Arcoxia 60mg pills $138.00

Arcoxia 60mg pills $138.00 Now, arcoxia 60mg pills $138.00 I know all teams and projects and organizations are different, arcoxia 60mg pills $138.00 so maybe my expectation of 'Here is how you build a team.  Step 1:...' was a little naive, arcoxia 60mg pills $138.00 but I certainly wasn't expecting what I got.  There were some interesting stories throughout the book (i.e. Arcoxia 60mg pills $138.00 a team of folks whose conference room ended up with one of the hijacked planes from 9/11 in it, arcoxia 60mg pills $138.00 literally, arcoxia 60mg pills $138.00 it crashed into their conference room), arcoxia 60mg pills $138.00 but I had few takeaways of solid advice on how or what I could do to help nurture a great team or start to build/rebuild a failing team. Arcoxia 60mg pills $138.00

Arcoxia 60mg pills $138.00 All in all, arcoxia 60mg pills $138.00 I'd say there were some entertaining stories, arcoxia 60mg pills $138.00 but if you're looking for some concrete takeaway's, arcoxia 60mg pills $138.00 look elsewhere.  And on that note, arcoxia 60mg pills $138.00 if you're looking for entertaining stories, arcoxia 60mg pills $138.00 you may be better off reading some Stephen King or something like that as well.  Sorry O'Reilly (and Stellman and Greene, arcoxia 60mg pills $138.00 also authors of Head First C#, arcoxia 60mg pills $138.00 which I do have and enjoyed thoroughly), arcoxia 60mg pills $138.00 this just wasn't for me.  Probably my own fault for having false expectations.

Average Rating: 5 out of 5 based on 179 user reviews.

Tagged as: 2 Comments
12Apr/100

Viagra 100mg Pills $135.00

Viagra 100mg pills $135.00 Maybe I should title this post ‘How to write a better error message’ instead.

Viagra 100mg pills $135.00 I just went on a wild goose chase trying to find the solution to an error I kept seeing in SQL Server Management Studio every time I tried to run a query or open a table for editing (or anything else that would end up executing a SQL query).  The error message?

Viagra 100mg pills $135.00 The file exists

Viagra 100mg pills $135.00 Not exactly useful.

Viagra 100mg pills $135.00 It turns out my temp directory was ‘full’.  The message sort of makes sense, viagra 100mg pills $135.00 now that I know what the problem was, viagra 100mg pills $135.00 but it isn’t really possible to draw the correct conclusion from that error message.

Viagra 100mg pills $135.00 So two takeaways (for me):

  1. Craft error messages carefully.  The whole reason for showing/logging error messages in the first place is to create some kind of traceability to a problem.  The information contained in an error message should lead the user to a better understanding of the problem and possibly an indication of if they might be able to fix it. Viagra 100mg pills $135.00
  2. The file exists means clear your temp directory first, viagra 100mg pills $135.00 before chasing that goose. Viagra 100mg pills $135.00

Average Rating: 4.4 out of 5 based on 293 user reviews.

Tagged as: No Comments
24Feb/106

Famvir 500mg Pills $233.00

Famvir 500mg pills $233.00 I’ve recently started to practice the pomodoro technique.  Holy F!  This super simple practice has uncovered how much time I completely waste in a workday (not to mention my non-work time).

Famvir 500mg pills $233.00 I feel like I’m cheating myself and my customer (read employer), famvir 500mg pills $233.00 so I’m going to do something about it.  I’ve never read much of Covey, famvir 500mg pills $233.00 but @shanselman mentioned Covey’s quadrants (see a mind-map version below) in this video I watched the other day.  For me, famvir 500mg pills $233.00 living only in quadrants 1 & 2 (the top two) is all good, famvir 500mg pills $233.00 but there are times when I basically want to just ‘check out’ and be a bum (Office Space style).  My goal is to be intentional and choose when I’m doing that, famvir 500mg pills $233.00 rather than just letting it happen.

Famvir 500mg pills $233.00 time-management-1

Baby Steps

Famvir 500mg pills $233.00 The pomodoro technique is a great start to help manage and become aware, famvir 500mg pills $233.00 but I need some help.  Here’s what I set up for myself at this point:

  • Pomodo7o with Growl Plugin
  • Growl using the Visor notification (I don’t like toast, famvir 500mg pills $233.00 so this is great for me)
  • VirtuaWin (for Windows, famvir 500mg pills $233.00 this is built into most other OS’s, famvir 500mg pills $233.00 e.g. Famvir 500mg pills $233.00 Spaces on OSX)
  • Throw ALL distracting things to a second VirtuaWin workspace.
    • Gmail
    • GReader
    • Twitter (turn off twitter notifications)
    • Outlook (turn off new mail toast and new mail tray indicator)
    • Evernote (turn off any messages)
    • Windows Live Writer
    • Time tracking applications
    • Anything else that dings/hoots/toasts or otherwise distracts you
  • Only check email (Gmail and Outlook) during pomodoro breaks or other scheduled times
  • Only check twitter during pomodoro breaks or other scheduled times (I’ve started only checking twitter before I start work, famvir 500mg pills $233.00 and right before I head home). Famvir 500mg pills $233.00
  • Hook Outlook into Growl so I don’t miss meetings
  • Keep a text file or post-it note ready to capture interruptions.  Most interruptions can be logged, famvir 500mg pills $233.00 and then dealt with in a subsequent pomodoro. Famvir 500mg pills $233.00

Famvir 500mg pills $233.00 I only allow myself to go over to my other desktop during a pomodoro break.  This makes it really easy to know when I’m going off task.  It also makes it REALLY hard to find something wasteful to do.  There isn’t anything in my “workspace” that is wasteful anymore, famvir 500mg pills $233.00 so if I do ANYTHING in there, famvir 500mg pills $233.00 it’ll probably be productive.

Feeling Too Disconnected?

Famvir 500mg pills $233.00 I’ve got the shakes!  Doing this thing cold turkey is hella hard.  So here’s a patch to wean you off.

Famvir 500mg pills $233.00 Download Trowl and hook up @’s and DM’s (and select other folks you might need to hear from throughout the day).  Now those tweets will be Growled at you.  I don’t get @’ed or DM’ed too often, famvir 500mg pills $233.00 so it’s not terribly distracting, famvir 500mg pills $233.00 but has high reward in helping to reduce the withdrawal symptoms.

Famvir 500mg pills $233.00  

Famvir 500mg pills $233.00 I’m just starting, famvir 500mg pills $233.00 so this is my first attempt really.  How do you manage?

Average Rating: 4.4 out of 5 based on 218 user reviews.

Filed under: Uncategorized 6 Comments