chton

Joined 12 years ago

Karma
1,286
Submissions
360
Member since
Apr 11
Freelance .Net and Microsoft Azure consultant, co-founder of Messagehandler.net

Always happy to see comments at b r a m d b + h n @ g m a i l . c o m

View on Hacker News

Recent submissions

Comment · 11 years ago
That's why it's important that it's a one-time donation, not a recurring additional paycheck. If you give 'the poor' an additional paycheck, yes, it will have an impact on the willingness to work and save. If you give them a one-time donation, on the other hand, they can use it to improve their lives in the longer term, without reducing work. That's what the data (as quoted in the article) shows.

I believe the reasoning for why that should be goes back to the cycle of poverty (http://en.wikipedia.org/wiki/Cycle_of_poverty). It's harder to make more money if you don't already have more money. By giving a one-time lump sum, you give people the opportunity to dig themselves out of that hole. Eating better, dressing better, buying things that last longer, these all have big impacts on how much one can save and earn. Even getting some basic education helps enormous amounts. In the end, it might even lead to people being more willing to work harder and actively save more money.

Comment · 11 years ago
Today, not very many places. I can imagine a scenario where you want a large group of these to crawl through rubble to find people stuck under it. Most research like this comes with the hope of miniaturizing it enough for medical applications. Imagine this thing, but the size a grain of sand: entering your bloodstream, adapting to whatever task that needs to be done, and when it's finished moving to the stomach to get dissolved. In those applications, using external power makes complete sense, since it's a medical setting anyway, and it provides a great way to keep very fine control.
Comment · 11 years ago
Just a note on 2.: If your onetime price is equal to just 6 month subscription time, you're going to lose money. Either you're lowballing your onetime payment, or making a subscription too costly. Consider a case where you offer both at the same time: Unless the costs associated with self-hosting are incredibly high, very few people would choose the SaaS option if they can save 6 months of budget on the first year. In this case, I would increase your price to at least a year of SaaS subscription.

As to your original question: Unless your software is special in some way that you don't want anyone to find out about, you can offer both SaaS and self-hosting at the same time. My advice would be to do that, but use a yearly-license model for the self-hosting. Calculate the costs a self-hosted version would cost in total to a client (license, hardware, maintenance etc.), and make the SaaS version slightly cheaper than that.

Comment · 11 years ago
In addition to the great ones already listed on the link and in the comments here, I'd like to list 2 of my favorites:

* Simple.Data: https://github.com/markrendle/Simple.Data , the smallest and simplest ORM you'll ever use.

* Hyperletter: https://github.com/Jiddler/Hyperletter , a very easy way to do inter-process communication. Great for writing distributed software over http, but can be just as useful locally.

Comment · 11 years ago
My pleasure. One thing I forgot to mention is that I try to never use negatives in boolean names, both for methods and variables. The moment you start with "IsNotXXX" or "HasNoXXX", you're creating a new way to potentially confuse future readers. If you can, always try to find a positive way of expressing the same, it'll usually be less ambiguous. If it really is necessary to express a negative, perhaps because the reverse is too broad or hard to formulate, it's usually better to invert the meaning of the boolean entirely. So instead of

    if(IsNotFoo) {}
you can do

   if(!IsFoo) {}
It's a simple thing, but it can save you valuable time and brainspace at some point in the future.
Comment · 11 years ago
The best practices are going to be somewhat language-dependent. In general, the least confusing style is the one that is already used widely in the application you're writing.

If it's up to me to decide a naming system (I mostly do C# professionally), my boolean-returning methods will be in the form of a tiny question that has a yes or no answer:

    IsEntityPersisted()
    WasActionPerformed()
    IsFooOfTypeBar()
etc.

For variables, local values and method parameters, the names will be similar, but in the form of a true or false statement. The equivalent would then be:

    entityIsPersisted
    actionWasPerformed
    fooIsOfTypeBar
The important thing in both cases is to name the boolean for what it means, why you'd set it to true or false, not for how you intend to use it. Compare:

    if(logicFlag)
    { 
     //do something
    }
vs

    if(actionWasPerformed) 
    { 
     //do something
    }
Clarity in a naming schemes is all about making it clear what something means in the context. I know that sounds like a tautology, but there is a difference between "what something means" and "what something does in the application". If you manage to make the meaning clear, the reasons for what it does will become clearer too. The reverse is rarely the case.
Comment · 11 years ago
That's because you can conceptualize what happens through your experience and knowledge. For a newbie, a slight benchmark increase doesn't mean anything because they can't tell what the impact of it is, why it is important.

Closing the feedback loop between typing and seeing a cool result is one of the best ways to get people excited about coding. If 3D or AR helps with that, it's definitely a good thing :)

Comment · 11 years ago
I can't speak for the Surface 3, but I have owned a Surface Pro 3 for a good while now. I _never_ use the trackpad. Browsing, office, even doing software development can all easily be done using finger and pen (for when you need finer control). I've gone so far as to check if there is a Type Cover for it that doesn't have the trackpad, but uses the space for something else.

I know it's the popular thing to say that Windows 8 isn't fit for touch devices, but it's outdated and usually only reiterated by people who don't have any proper experience doing it.

Comment · 11 years ago
That is the case. All the way at the bottom of that page: [6] Surface Pen sold separately.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton