chton
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.
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.
* 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.
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.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.Hacked French network exposed its own passwords during TV interview
Expired SSL certificate
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 :)
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.
Announcing the New Azure App Service
[video] Consistency without consensus in production systems
Kim Laughton's Landscape Photos of Grand Theft Auto V – Without Textures
To me, a mechanical keyboard has been brilliant. I bought a Razer Blackwidow a few years ago, and haven't looked back. It's much easier to type quickly on than a non-mechanical, because every sensation of it is so defined and fast. As a programmer, that means the connection between my brain and my computer feels more natural.
However, I know programmers that can't stand the increased sound and don't need or want the speed.
If you can afford to buy a keyboard on a whim, I would say "try it and see". The only way to know if it is for you is by trying one for a while and weighing the benefits against the negatives. Even if you don't particularly like it over a regular rubber dome or ergonomic keyboard, at least you'll have a premium keyboard that will last you a long time and will be better constructed than most.
Oh, and you've also proven that you don't know the difference between valuation and money. Or why valuations from other VCs are what they are.
This Tiny Brain for Wearables Is Cute as a Button
In a way, it's a pretty decent way to look at it. It means all that is required for an entire species to be given personal rights is to prove that they can fulfill the obligations that come with them. It decouples the rights from the good or bad inviduals, and reduces it to "what is this genetic grouping capable of".
I don't know when that tipping point will happen, but it would surprise me if it's decades for common tools. Printers have made great strides in just the last few years, and if the current pace of development keeps up, they could reach parity in the very near future.
- The first call mentioned seems to request a URL for iCloud. According to official guidance (https://developer.apple.com/library/mac/documentation/Genera...), you shouldn't call it from a main thread. Is it possible that the poster is doing that? The trace he gave indicates it went wrong during a wait, so that would be the first avenue for searching.
TestFlight may be testing an edge case, but experience learns that if their configuration allows them to do something that crashes your app, you'll have problems like that in the wild too.
- In the second problem, the submission to the appstore, the note from the reviewer clearly indicated that it did launch, but it did not run at the correct resolution. It's supposed to maintain the resolution it would have on an iPhone, not scale up or down by itself. Forgive my bluntness, but this problem seems to be one of language barrier, not of Apple's testing systems.
The post writer comparing his problems to Panic Inc.'s seems a bit much. Panic had a genuine problems with the rules, not a technical one. For them, the process didn't go wrong, the rules it followed simply weren't up to snuff.
No apologies necessary, it was absolutely fair to call me out on a bias on my end. You too thanks for the discussion :)
The usefulness is debatable. To me, it's been useful because it helped me see that, for example, a process can also be an object, and you can apply object oriented rules to interacting processes. The Actor model is an extension of that. Modelling a set of Microservices as an object model has also proven valuable.
How you communicate it to students is a not an easy matter. I'm opposed to giving definitions as an absolute truth if they aren't, even if you're doing to prove a point. If you want to teach with different definitions, that is of course perfectly fine, but at least a mention of the debate could solve some later problems. People tend to adhere to the 'laws' they learn for a long time, and if you teach them a definition that is incorrect in some cases, they'll have trouble with those cases.
It's possible that my dismissal of many definitions is partly because they're not my preferred one. I'm human, so it's most likely the case. I like to think my preferred one at least came about through some investigation, and it's the only one that I've seen fit a wide enough variety of cases. For me, at least part of the validation comes from the fact that I was frustrated at the definitions people gave me long before I found one I liked. Too many conversations with college teachers, mentors and colleagues that went
"So how would you define/describe an object?"
-"..."
"OK, but what about [language/edge case/model]?"
-"Oh yeah..."
I'll gladly have this conversation again, and again, and again, and I hope somebody can poke holes in the definition I prefer, and put me on the other side of it.