Knowing that I can serve 10 requests per second and likely withstand a frontpage on HN is more useful to me than knowing that I need a way out if and when my web-servers are being totally overwhelmed.
484 karma · joined April 13, 2012
Knowing that I can serve 10 requests per second and likely withstand a frontpage on HN is more useful to me than knowing that I need a way out if and when my web-servers are being totally overwhelmed.
That said, not everyone looks at the level of support provided before they choose a service. So, if you get blindsided with this type of thing, you do a quick search to see if it'll get resolved quickly, realise it won't, change your MX records and learn your lesson / plan for a migration out of the service if/when you get your account back. Just like with any problem of this nature.
Usually it's just worth paying for something more expensive (and often less featured) for which you know that there's someone you can call when the service goes down in the middle of the night or you get locked out for some random reason.
edit: I'm really only being overly harsh because the guy who wrote the article is the CEO of a cyber risk management and security company, and should know better.
* Picking CSC over Visual Studio for compiling initially * Explaining namespaces thoroughly in part 2, then glossing over them in 3 (I also don't know if I entirely agree with what's under "Using Statement")
No major criticisms with structure/style/order. I find that when teaching a programming language you just wind up dumping information on the person learning until a point where everything clicks, so the order of explaining this stuff probably isn't that important.
One thing that I'd suggest fixing is the indentation on the code. The number of spaces being inconsistent is something that could massively throw off people who don't understand nesting. Other than this, it's a good set of tutorials so far IMO.
At the moment, I've gotten to the point where I have Varnish running on an EC2 micro instance serving data from S3 (I have a couple of reqs that prevent S3 from supporting my usecase out of the box [mostly to do with having too many buckets, not being able to use bucket folders]). There are issues I need to resolve with invalidation as well as the latency of the first request with this approach, but it does look promising.
Either way, it's a really neat hack.
YMMV on the styles (I'm undecided on them), but there's a ton of stuff under the hood that just couldn't be slapped into the desktop, without huge drawbacks or compromises. In the second section the post kind of recognizes this saying they're doing it because "the world is going mobile"/low power, but then immediately goes on with "It's change simply for the sake of change", and I don't think it can be both. Simple squares, non-overlapping windows and text rather than (pixel shader'd) graphics aren't just an aesthetic thing, there's a fair amount of practicality in there.
I've done similar things in a more enterprisey property management space, and the amount of data that you're managing on a single property (or 2 or 3 properties) with a single user doesn't look like enough to really justify $234/yr, and all of the things that you've listed involve trying to sort out a product issue with a marketing/business solution (which works, but only to an extent), so you can A/B test all you like, but if people don't think your product is worth it, they're never going to get started or pay for it.
From a pricing perspective, I'd rethink the bottom level plan, the pricing timeframe, and if possible the price-point (maybe shift to something that scales more with use, eg resources or features, rather than something inelastic like # of properties). Be more upfront about pricing - the "try it free" should have the pricing list - you're selling a financial product to people who are presumably good with money, but hiding what it'll cost in the features page. Having a "forever free" plan that's severely limited (/ad-supported) will help with your initial conversion.
For conversion to paid subscriptions, you need to convince them that you're better than a folder on their HDD, excel for financials and their contact list/calendar on their phone. At the very least you need to look at interop between MYOB/Quicken/CSV/whatever's the rage these days. You can focus on how computers crash so a doc library is better, or you can add a feature (versioning, archival of email, I don't know) and use that to sell the document library. If you're targeting the guy who's got 1 property, maybe get some boilerplate forms or checklists and put them up there somewhere. If you're targeting the guys who have 10+ properties, focus on exposing what reports can do. Definitely do allow users to, at the very least, download excel / other spreadsheet versions of their transactions (and if you do this, specify that you do it on the features page).
You're not just asking someone to give up 120k and join your company, you're asking someone who's probably quite creative (assuming you're trying to hire the right guys) to get completely on-board with your vision/idea. That means:
* Give up $120k / yr (this is really unimportant in the grand scheme of things IMO)
* Give up their financial security (this is more important)
* Taking the big, long list of ideas that they'd want to implement and put yours at the top
* (Likely) give up far more time than they had to before
* Stepping away from what is hopefully a group of other smart people that they enjoy solving software problems with
You have to be careful that your pitches don't seem like "Well, I have this really great idea, you sit around and pour 5000 hours of your life over the next 18 months into implementing it exactly as I have envisaged, and I'll handle all of the business stuff! We'll totally split the profits down the middle!"
I almost fall into the group of people who you'd be looking for (maybe, though while I consult I haven't done a startup yet), and there are a few things that I'd be looking for:
* Confidence that (even if you weren't involved in any way) the product will make money (or a difference, depending on the developer).
* Interesting problems to solve. Browsium for instance probably have a hell of a time trying to hire developers, and if they weren't all coming from Microsoft, I'd imagine it would have been impossible to get a CTO.
* Confidence that you're actually going to be adding significant value, or at least bankrolling the venture. A lot of devs see a lot of non-technical roles as "easier", usually because they've never seen someone that's really great at the non-technical role. It's probably easier to hook someone by starting them contracting for you to build a prototype or something, I dunno.
I don't know how you're trying to bring people in, but you're also not hiring at this stage, you're pitching - trying to sell yourself (both ability as well as desire to add value) as well as your idea to these people. Maybe it's also SF, have you tried looking elsewhere for people?
How to: Stop producing shit
1. Produce 10 shit ideas each day
2. Throw them away
3. ???
4. Profit!
TBH I actually agree with these 4 steps, but they're exactly the reason people should continue producing shit. It may not make you rich this time around (it could have the opposite effect) and may not have a huge impact, but there's a basis to the 10,000 hours rule, and you're working off some of those hours (or, in oldschool parlance: you're learning from your mistakes).The value is in producing ordinary work, but being able to recognize why it's ordinary, and to improve upon your mistakes (in the idea, in the implementation and in the execution) the next time around. Usually, the first time painters pick up a brush, their work is shit; the first time musicians pick up an instrument, their work is shit; same goes for developers. It's not a reason to not pick up the brush - to tell someone to stop sucking and start being awesome isn't really advice. I think that this advice is better:
Practice, practice, practice.
It's much better to be constantly producing shit (and learning) than just to sit around and consume it, and it's not a case of deciding "oh, hey, maybe this time I'll make something good, just for the sake of it".Microsoft don't charge you to talk to a person when you have issues activating windows (and I've never had one of their products break when I changed region). I've never had to deal with any of their services breaking for me (only products) so I'm not sure whether they try to sell you a support subscription when you use eg http://support.xbox.com/en-GB/contact-us?isChatCallAvailable... , but I'd expect it to be free if it fell into the category of "stuff I purchased that you failed to deliver to me".
On the flipside, even Line 1, 2, 3, country isn't sufficient for all addresses. If you have an addressee, additional delivery information (eg a department), need to include a rural route identifier (eg for Canada), or need to store/use bilingual addresses (again for Canada) then you need more than 3 lines. If you want to talk edge cases, having a country code means that places like the Haskell Free Library and Opera House (http://en.wikipedia.org/wiki/Haskell_Free_Library_and_Opera_...) can't be correctly addressed.
Hell, even the Falsehoods programmers believe about time doesn't come close to capturing the intracacies of lunar/lunisolar calendars (eg those with 13 months in a year, or a variable number of months in a year etc).
I guess that my point is that you need to find the balance of utility and complexity. If you need to be able to store every format of everything you wind up with either a hugely complex schema, or a single field that contains everything (and may even not capture everything completely), but that's not useful for anything except end-user display when the user is able to parse (or make a good guess at) the data.
Unfortunately there isn't a single winning approach - so unless you draw an arbitrary line your specification can't encompass every edge case while maintaining simplicity and achieving what it's set out to.
If you're in a complex situation where you live in a second country, there's almost always a problem with buying stuff online if you need to bill in one country / ship to the other - and workarounds like needing to create two accounts are pretty common IMO (though usually it's just a case of needing to use a CC from the right country or having the billing address be your address in country A, but having the country field set to country B).
So no, apple's not too unique in this situation, but I've never experienced being unable to access stuff that I bought in one country (though I stay away from buying digital copies of movies etc for this reason), and I've definitely never heard of another company charging for this type of legitimate support, so they're likely unique there.
My own personal experiences have been with archaeology texts where the chapter-end studies were replaced with a different culture, physics texts where the figures within the questions were changed and maths texts where the questions were the same but reordered. Yeah, you can learn the same stuff from the textbook's main content, but if you get assigned a list of questions to complete and those questions don't match with this years' then buying the previous textbook is essentially useless. In my later years, the homework was never "do these questions from the book", so the texts dated less.
On the surface the conditions even almost seem ideal - you have an existing oligopoly where each player has huge overheads and then on top of this add huge markups. You have a somewhat captive market (the students are entirely captive, while the professors are generally pretty free to choose the books that they want), and a product that's targeted towards younger, educated people (people to whom technology isn't a huge burden).
The only thing that's really standing in the way of someone shaking things up is in convincing the professors that your option is better than whatever's being offered by the incumbents. I really, really hope that at some point soon someone takes on the publishers - with a serious product, they'd have the potential to win, and more importantly, to do something useful for making education more accessible.
1. They want to corner the advertiser & business market - ie it's an attack on Hootsuite etc
2. They want to lock out competitors from pwning them on search (Google/Bing incorporating [good] twitter results into their searches would IMO be devastating to twitter - particularly if they didn't embed intents / hueg links to twitter everywhere)
3. They want to own the ecosystem so that twitter clients don't cross-post to Facebook/G+/app.net/favourite social network here
4. (I don't think this is likely) - Twitter thinking that they can somehow squeeze an extra couple of bucks out of each user if they're on an official client via advertising or something similar.
.
Each of these seems plausible to me, but all of them essentially involve twitter holding customers/data/users hostage which doesn't seem like a great strategy.
Is there some angle I'm missing here / reading too much into?
If they took the same lenient approach to activation (which probably isn't the case because it's a consumer OS), I could almost understand not giving license keys to technet subscribers, as their software is for planning/evaluation purposes only.
Coelho's points are definitely interesting but it seems to hinge on the digital/physical separation of products and how we currently value physical stuff ("to download my books [then] buy a hard copy", songs on the radio / buying CDs)... I guess that the real test comes when you're saying "download my book for free, then if you like it, download my book for money".
Based off the wording, it sounds like they're responding to "why can't I browse http://nasa.gov/x without the www?" rather than "why doesn't http://nasa.gov/x take me to the NASA website?", but as they're a government agency, it's quite possible that there's so much bureaucracy / cost involved that it legitimately isn't even worth it to add a url-redirect server somewhere.
It is a really nice solution, and I'm glad that you guys have pointed out that there's a problem and actually done something about it ("hey, just set the aspnet:UseLegacyEncryption / some other undocumented appsetting" isn't a legit solution), and further than that, opened it up (though it all seems to have disappeared now).
We wound up just more tightly controlling updates (and were fortunate to be in a position that this was a solution/the problem wasn't that major), but the backup was to serve auth cookies unencrypted and add/remove the encryption via a httpmodule - after all, it isn't forms authentication that was really 'broken' IMO, it was that Microsoft kept changing the implementation of encryption all the time. I get the impression that this could be a cleaner solution for asp.net, but definitely isn't for MVC - the next time we have to share auth tokens across multiple MVC apps / multiple instances that we don't control updates on, I'll be sure to pick up your code and run with it, so thanks.
It's odd that they didn't want to use the machinekey (though maybe there's a reason for that), or an appsetting / custom config section for the encryption info - instead encouraging you to use the same tickets across all of your environments.
Also odd is that when you pass a string it uses UTF8 [or really any variable length encoding] to specify the IV and secret key (instead of taking a base64 string, which would encourage the use of actually random values).
A third oddity is that the cryptotransforms are never reused - I know that some can't be reused (and there is a property to indicate this) but the solution reconstructs a transform regardless of whether this is the case.
I've been bitten by the random "Invalid Forms Authentication Ticket" issue a couple of times (random windows updates breaking stuff, w00), and while it is tempting to implement your own auth layer (particularly if you have a number of apps that are running on different .net versions that need to share authentication tickets), it doesn't strike me as the best solution to the problem - indeed, if you have a hetrogenous system (ie are using asp.net as well as ASP MVC, or you've got some other product that is using asp.net for you that you don't control [sharepoint, SSRS, any of the others]), now you probably have two problems instead of one (unless of course, you go out and rewrite all of the asp.net controls which just go ahead and use the FormsAuthentication class).
I really like the solution given here, but it's only suitable for a subset of applications, and I wouldn't use it without a few modifications.
First off, what exactly is it? JSON-based message bus PaaS? Paid social network? Appstore? A development platform? "mobile social entertainment provider"? Something else? I understand that they're working off a broad idea, but it would be reasonable IMO for someone to think that they're attempting each of these. The blog posts and join.app.net don't really clarify things too much. I think that a broad roadmap (or something accessible to users, and devs who don't want to read the whole backstory to try to figure it out) would really help here.
Next up, the project doesn't really sell me on its benefits. Developers/users can pay to be able to write to a feed that other developers/users pay to be able to access (or can access for free?)? There's some potential for turning it into an app-store type thing, making it free for developers and splitting user revenue (with the example given where app.net takes 50%)? What concrete benefits, as a developer, or user, will I be able to derive from this service, guaranteed, in the near future?
All of the questions here are part of the reason that I'm not particularly excited about it. IMO there are some great ideas in there, and it has a lot of potential, but at the moment it seems like it's not too much more than some hand-waving and assertions that Twitter's bad, and that you should pay for an (at current) nearly identical experience because it has a whole lot of potential at some undefined point in the future. When originally pitching the thing Caldwell made some comments about how it's not fair to assume that you can somehow improve your monetization later, but this seems to be almost the same thing in reverse - they've got their monetization down, but they're assuming that they can somehow add the value for users later. Of course, I could be completely misunderstanding what they're doing / trying to do or how they're going about doing it...
Considering Team Foundation Service, project Kudu/Git deploy on Azure etc. it makes sense to think that Microsoft are making a play to seriously take on GitHub and Atlassian, so that they're the one provider that owns an entire software ecosystem, end to end.
Either way, I don't think that the EF team would have had a choice on where to host it...
The beauty of electronic displays is that they can be tailored to your specific wants and needs. If I want to view your text, I should be able to view it at a size that's comfortable to me on whatever device I want to read it on. If I'm not reading it, and am instead waiting for updates, I should be able to scale it down and put it somewhere in my workspace that doesn't take up too much room or distract me.
To have an edict that says 12pt must always be 0.4233cm or 0.16777in (quite a ridiculous measurement) achieves nothing. What if I want to display the resource you built for display at 12pt on a 24 inch monitor? A 6 inch phone? A projector? What if I have bad vision and want it larger? Suddenly, 12pt needs to get multiplied by some arbitrary factor and it's lost all of its usefulness again.
My expedient excuse is that it's not necessary unless you're dealing with something static and physical.
That's part of the elegance (well, it's something other than elegant because it uses a whole mass of data) of the original solution - all of the data could be significant in checking a single password so none can be discarded.
A lot of the points that are raised here are really valid - Canada has a lot going for it culturally and in quality of life.
But the infrastructure to help foster and grow companies simply isn't there. Surprisingly little is computerised - government, banking, even dealing with cellphone and internet companies (who are overpriced) almost always involves finding out that you can't do what you want online, or in any digital format, so you either need to send cheques and forms by mail or sit in an office somewhere while someone does the data entry of your form while you wait.
You don't even have a lot of the b2b services that you can get elsewhere. There's nothing like stripe, devpay, google checkout here, it's difficult/expensive to get your hands on mobile devices for testing, and even existing IT services all have the opaque "call us for pricing" bullshit that you get from services that don't have enough volume to be fair/transparent.
Canada seems to focus on one large tech company darling until it gets run into the ground for whatever reason, but along the way seems to ignore the small businesses that could turn into the next big-ish thing. Flickr, AbeBooks and PhoneGap all pretty much got sold under the radar, and companies that are still in Canada, like HootSuite, seem to be getting equally ignored.
Yeah, Canada's an awesome place to live, but in terms of a place for startups, it seems like it'd be much easier to move somewhere conducive to running your business.
edit: grammar/spelling