13 stories
·
0 followers

The true story of Diablo II, legendary action RPG

1 Share

Diablo II claimed hundreds of hours of my life. I'll never get them back, but I won't miss them, either. Enjoy the oral history of one of the most enduring and popular action RPGs of all time.

Read the rest
Read the whole story
loic
3361 days ago
reply
France
Share this story
Delete

One of these is Europa, the rest are frying pans

2 Comments and 14 Shares

E3b0aCE

#

Read the whole story
popular
3368 days ago
reply
loic
3368 days ago
reply
France
samuel
3368 days ago
reply
Cambridge, Massachusetts
Share this story
Delete
2 public comments
hansolosays
3368 days ago
reply
ha!
Norfolk, Virginia
AaronLMGoodwin
3379 days ago
reply
Love it!
Apple Valley, CA

The Anemic User Story

1 Share

Ever been assigned a user story which looks like this? (Taken almost verbatim from a real life customer project some time ago)

Headline: Improve Pagination 

Description: As a user I want to have proper pagination functionality so 
I can scroll through my item list without a long loading period

Acceptance Criteria: It is possible for a client to implement a proper pagination

Do you know what the hell you are supposed to do here? No?

Good, me neither. A classic example of an anemic user story.

How do I spot an anemic user story?

As a rule of thumb: If you look at a user story (or feature request or task) one day after it has been written and you have literally no clue what exactly to do, you have an anemic user story.
Imagine you got the story above from one of your colleagues who went on vacation. Feel like joining him immediately, huh?

Absence of length is also a very good indicator: One or two-line user stories like "implement the new text processing logic", which literally could mean anything.

How do anemic user stories surface?

Anemic user stories or requirements in general are almost always "shot from the hip", often under pressure. Your boss shouts over "uuh, pagination takes too long, have a look at that urgently.”

Now, you might have an idea why pagination for your e.g. shopping basket is so slow. But there is 100 more pressing tasks and so you decide to take a shortcut and come up with that anemic placeholder story instead. I mean you roughly know what to do, right? Customers will be able to live with slow pagination for a couple of more weeks.

And then some time you finally come around to implement the story. Chances are very high that you will go like: “Erm, what am I supposed to do again?”

Why are these stories such a pain?

There are mainly three things that go wrong with stories like that: You do not know

  • what to implement exactly
  • therefore you do not really know when you are finished
  • and you certainly cannot properly estimate stories like that.

In short: A developer’s dreamland!

The problems with this specific story

The headline is about "improving" pagination, so pagination seems to be in place, but is supposedly too slow. (Mental Leap: check this link for those interested in a technical solution if you are fighting with SQL pagination)

The description is your general vague user story resulting from "agile" brainwashing saying that everything consisting of "as…I want to do this.." is good enough as a user story. It is not.

Additionally, the acceptance criteria says something about "clients". And "implementing"? What the hell is that supposed to mean? Could it be that we should actually expose parts of our API for other e.g. third-party REST clients and that we promised them some specific response times in an SLA? And we maybe need to improve our current response times by 10% for that? For which calls? For all of them?

Fighting the anemia

If you encounter a story like this in real life you have to delete it and rewrite it. No really, hit delete in JIRA or equivalent tool. The story will not be of any use for you or your programming team. When you finally rewrite the story, take the following steps:

First Step: Asking Questions

See the questions that came up in the last paragraph? We already talked a bit about asking the right questions a couple of weeks ago. To write a proper user story, you need to ask questions – except if you have every little detail of the story already sorted out in your head.

Next Step: Outlining

As with all writing, from books to movies to technical user stories it pays off to have an outlining system in place. You should not make the wrong assumption that writing a user story is done in 2 minutes and you can just bang them out one after another.

You need a bit of dedicated time and then your quickest way forward is to outline the user story and only then write it. As opposed to trying to fill a blank JIRA page with everything that comes to your head regarding one specific feature.

Last Step: Writing the User Story

When you have the outline in place then fleshing out your story in detail is almost just a formality.

But I do not have time for this!

I can assure you that in any software team with size 1+ anemic user stories will take up a lot more time in the long run, than spending 5 minutes on some questions, outlining and then writing a sound user story.

But feel free to take “shortcuts” if you are into having constant debates with your boss,clients or teammates about what to implement, whether it was the right thing to implement and when it is done.

Next Step

In the next article we will first look at what this anemic pagination user story should have looked like. Then what the outlining and writing process for this new, good version of the user story were. Stay tuned!

As always, if you liked this article, join our newsletter below!

Read the whole story
loic
3459 days ago
reply
France
Share this story
Delete

Marco Behler’s 2014 Ultimate Java Developer Library, Tool & People List

1 Share

Java developers are flooded with a plethora of libraries and tools for their day-to-day work. We compiled a little list of stuff that we use everyday in primarily business line development (CRM, banking, web dev etc.) and that we can wholeheartedly recommend. There’s also a very opinionated section of people that we’d like to give some props to, if you are not on it, give us a shout ;)

Please feel free to comment or post your own personal suggestions. Our personal New Year’s wish, though: Please link to this page when referencing this list and do not reproduce it in its entirety. Props go out to Scott Hanselman for „inspiring“ this list.

Happy new year!

Backend

  • HikariCP A topic that you probably never think about, but HikariCP is now the connection pool on the JVM. Stop fighting with DBCP and other options and trust the website when it says: nothing is faster, nothing is more correct ;)
  • Jooq A fresh outlook on Java persistence, especially if you are fed up with heavier ORM choices and are not afraid, but in love with SQL.
  • Hibernate Chances are that you will encounter Hibernate sooner or later in a project and even though development has somewhat stalled, and there’s a lot of criticism of ORM in general, it is still a good library if used correctly.
  • Dropwizard Want to get your REST services up and running in no time, with a nice little stack of Java libraries behind? Give Dropwizard a try.
  • Spring-Boot Similarily, if you find yourself having to create new Spring projects over and over, try Spring-Boot, as it will considerably cut down your ramp-up time.
  • Spring-Batch Batch jobs are not the sexiest programmes in the world, but if you have to write them, Spring-Batch is a viable option.
  • Spring Yep, there’s a lot of cruft, especially in the „lesser-known“ spring projects, but if you want to get a quick bang for your buck and simply be able to re-use a lot of stuff then you won’t get around Spring. 
  • Logback We love Ceki and all the work he has put into Logback and logging over the years. Logback is stable and mature and a good choice for logging.
  • Log4j2 And now there’s also log4j2, which is also a reasonable choice for logging stuff. Please do not get sucked into a religious war and insanely non-actionable log framework-comparisons.
  • Resteasy Another good choice for building RESTful Java applications.
  • Dagger Alright, alright, now Spring’s dependency injection is just too slow/cumbersome for you and you want dependency injection on steroids? Use Square’s Dagger!
  • Dagger 2 And if Dagger is simply burning too much CPU cycles for you and you’re still left unsatisfied with the startup time, use Google’s fork Dagger 2 ;)

Frontend / CMS

  • AEM / CQ5 Especially in Germany there’s a ton of CQ5 jobs at the moment, as a fair amount of big companies using it as a CMS to build websites. We’re not the biggest fans, but have to acknowledge its market share.
  • Magnolia CMS Magnolia on the other hand, especially with its Spring integration Blossom is a really nice JCR-based CMS. Give it a try.
  • Wicket Wicket is one of the few Apache projects, which rock. Yes you might be scared of the session usage and components, but if you get behind your fears it is a rock solid choice.
  • Matt Raible’s list for the rest If you feel pissed off because we did not mention web framework xyz, check out Matt Raible’s comparison of the remaining 9999999 Java web frameworks.

Database

  • Jadira Usertypes Want to persist Joda Time/Money to a database using Hibernate? Use Jadira.
  • JDBCslog Most JDBC drivers do in fact support logging, but if you want to have a portable choice, use JDBCSlog or any of its forks. Beware, it is somewhat buggy, but most of the time it does the job.
  • Liquibase Database migrations. What else can we say. We have it in production in a banking environment and it does everything it is supposed to do.
  • Flyway If you are scared of a tiny bit of xml however and just want to do SQL-only database migrations, you might wanna give Flyway a try.

Utilities, Utilities, Utilities

  • Guava In general, forget Apache Commons. Use Guava for collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
  • Args4j Yet another command line argument parsing library, this time from Kohsuke.
  • Joda Money A very good start if you have to do anything money related on the JVM and before Java 9 comes out.
  • Archaius Do you still have to reload your application because you changed a .properties file? Check out Netflix’s Archaius, which is a hell of a configuration management library.
  • Joda Time Cannot use Java 8 and its new date api? Then use Joda time. 
  • JamonThe Java Application Monitor (JAMon) is a free, simple, high performance, thread safe, Java API that allows developers to easily monitor production applications. 
  • Freemarker We didn’t want to mention Freemarker here, as we have seen way too many Freemarker stack traces over the years, but no matter how you put it, Freemarker is still an often used templating language.
  • JCommander Although somewhat dead and somewhat buggy, JCommander still does an ok job when you want to parse command line arguments.
  • Jetty We’re huge fans of jetty, especially as an embedded http server. And with version 9.1 – see the link – it even got shockingly fast ;)
  • JPos / JCard For payment/credit-card dev check out the ISO–8583 implementation.
  • org.reflections A reflections library++.
  • Jsch If you want to do anything SSH related on the JVM, chances are you will stumble upon Jsch (or net.schmizz)
  • Zt-ZIP There’s a ton of ways to zip/unzip stuff in Java, but Zeroturnaround’s is one of the nicer ways that we’ve found.

Resilience

  • Hystrix A huge recommendation from us: Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable. 
  • Chaos Monkey Another huge recommendation. Let chaos monkey run against your production servers like Netflix does and see how well you can recover :)

Bean Mapping

  • ModelMapper The new kid on the block: Simple, Intelligent, Object Mapping.
  • Dozer Another way to map your Java beans.
  • BeanUtils The oldest way known to man to map and copy your Java beans ;)

Testing

  • Java Micro Benchmark If you want to publish any sort of meaningful Java (Micro)Benchmark, use JMH!
  • TestNG Although we disagree with Cedric on a couple of points, his TestNG library is, apart from JUnit, one of the de-facto unit test tools in Java land.
  • Awaitility Need to do asynchronous testing and have already written a bunch of boiler plate testing code? Forget it and use this: await().atMost(5, SECONDS).until(costumerStatusIsUpdated());
  • AssertJ Yep, there’s a ton of other assertion libraries on the JVM, but AssertJ is one of the nicer ones.
  • Cucumber-JVM We are also somewhat in love with the JVM port of cucumber, making „BDD fun“
  • Mockito Need to mock/stub objects? No way around mockito
  • Rest-Assured A good library for testing and validating your REST services.
  • Wiser / Subethamail If you need a lightweight smtp-server for your test-code, use Wiser. 

Marshalling/Unmarshalling/Parsing

  • Jaxb Not a library, but a specification and an, in our opinion, complex and cumbersome one. Still, you sooner or later will be in a project which is Jaxb’d.
  • XStream A simple library to serialize objects to XML and back again.
  • Jackson One of the best JSON marshallers/unmarshallers out there, can also do XML, a bunch of other data formats and has a ton of extension modules.
  • Hikari-JSON Still waiting for it, but Brett announced that it is gonna kick every other JSON librarie’s butt ;)
  • JSoup JSoup is fantastic for parsing HTML in Java with the best of DOM, CSS, and jQuery.

Messaging / Distributed / Routing

  • Hazelcast Need distributed, in-memory data for a tiny cache or similar? Use Hazelcast.
  • ActiveMQ There’s also a gazillion of possibilities to do messaging on the JVM, but you cannot go really wrong with ActiveMQ (or Apollo) 
  • Camel Even though we think it is overkill in a lot of situations, camel can actually make routing messages, events or other..things ;) quite nice

People of the year 

Note: Take this list light-heartedly, yep there was only space for 5 and this year it is quite database heavy :)

  • Lukas Eder Lukas is our own personal hero this year, check out his blog and subscribe to his newsletter and give his JooQ library a try.
  • Brett Wooldrige Brett is doing insanely good work with HikariCP, but even more you should check out his FAQ pages, where you’ll get a ton of knowledge on how connection pooling etc works.
  • Markus Winand If you haven’t already, buy his book „SQL Performance Explained“.
  • JetBrains We love everything Jetbrains does and have most of their tools. Stop using Eclipse, Jenkins and all the Atlasssian stuff already! ;)
  • Larry Ellison Is your question: Are we a loser? NO! KNOW WHAT THEY USE? THEY USE ORACLE!

Build

  • Maven Love it or hate it, but as a build tool Maven is gonna stay.
  • Gradle But if you are fed up with Maven, give Gradle a try. IDE integrations have gotten better this year and even though the number one complaint we hear is „people are going to shoot themselves even more in the foot than with maven“, we think you should stop complaining and RTFM ;)
  • The Pants If you want to go for a completely new kid on the block, check out Pants

Languages

  • Kotlin You read the point above with our unconditional Jetbrains love? In all seriousness, Kotlin , as long as you are IntelliJ IDEA based, is a great JVM language.
  • Scala If it wasn’t for the compiler speed…;)
  • Java 8 Nothing really we can say, but anyway Java 8  is not going to help if your client is stuck on 1.4 for whatever bogus reasons, huh? ;)

Http Stuff

Repositories

  • Artifactory Nice functionality, looks horrible. Get a designer jfrog!
  • Nexus Looks nice and does what it is supposed to do.

Databases

  • Oracle Disregarding how much it costs, Oracle is a rock solid database. This year we played a lot with selecting data straight from Oracle as XML and pushing it directly into the HttpServletOutputstream (crazy stuff), push updates and more. You gotta love the features noone knows about.
  • H2 The best embedded database we know. Thomas Mueller, you rock!
  • Postgres Postgres is getting better with every release and they are also doing fantastic work!

NoSql!

Just NO! ;)

JVM

  • JRebel Zeroturnaround is so active in marketing, chances are you will have heard of JRebel by now. Yep, no more (or fewer) restarts of your Java application, less waiting times.
  • Chronon Chronon is such a nice idea, it is basically a DVR for your Java programmes. A pity it still has a ton of problems with generated byte code and is somewhat unusable for us in non-trivial projects. 
  • Plumbr If you are experience memory leaks etc. give Plumbr a try. Not only is the tool good, but they actually have excellent customer support and will help you analysing stuff.

IDEs

  • IntelliJ IDEA The.Best.IDE.In.The.World.Period.
  • Eclipse If you are too poor to afford IDEA, keep using Eclipse ;)

And that’s it for this year! Enjoy and let us know your recommendations!

Read the whole story
loic
3612 days ago
reply
France
Share this story
Delete

A Downtime Irony

31 Comments and 44 Shares

So many things can go wrong and often do, but I spend a good third of my time working on infrastructure, monitoring, and analytics so that they don’t.

Here’s what happened: At approximately 4:30pm PT feed fetching ceased. The feed fetchers were still working, which is why my monitors didn’t fire and alert anybody. But I have a second large Mongo database server used exclusively for collecting data about feeds being fetched. There are approximately 75 servers dedicated to feed fetching. These analytics look at average fetch times on a per task server basis. I use these analytics to ensure that my task servers are humming along, as they each use a ton of network, cpu, and memory.

This Mongo analytics servers works in a curious way. If you right-click on a feed and go to Statistics you’ll see the feed fetch history for a feed, stretching back a hundred fetches if the feed has had any issues in fetching. I keep these statistics on an analytics server separate from the regular Mongo server. I do this so that if the mongo analytics server goes down, everything will operate normally.

But the mongo server didn’t go down. It merely gave this error:

OperationError: Could not save document (Can't take a write lock while out of disk space)

Mongo continues serving read queries while not allowing write queries. I didn’t plan for that! And it gets worse. The way MongoDB stores data is that is just keeps growing, even as you delete data. NewsBlur only saves the last few fetches, but deleting old fetches doesn’t give you back any disk space. Every other database server I use has an autovacuum process that takes care of this maintenance work (PostgreSQL, Redis, Elasticsearch, but not MongoDB). It’s unfortunate that this is yet another instance of MongoDB being the cause of downtime, even though the fault lies with me.

The server that is meant to only be used to ensure things are working correctly was itself the culprit for feeds no longer being fetched. This is the ironic part.

NewsBlur’s developer during happier times wearing the 2013 NewsBlur t-shirt in Big Sur

Now comes the painful part. On Wednesday morning (yesterday) I packed my car and headed down to Big Sur to go backpack camping for the first time. I’ve car camped plenty of times, but I felt confident enough to pack my sleeping bag and tent into a big bag and head ten miles into the woods of coastal California.

I headed out, away from cellular service, at 4pm PT, half an hour before the analytics server ran out of disk space. And then returned nearly 24 hours later to a bevy of alarmed tweets, emails, direct messages, and a voicemail letting me know that things were haywire.

But the real problem is that I set a vacation reply on both my personal and work email accounts to say that I’d be out until September 3rd. Now, I hired a firm to watch the servers while I’m at Burning Man starting this Saturday. But I figured I could get away with leaving the servers for twenty four hours. And I neglected to tweet out that I’d be gone for a day, so theories cropped up that I was injured, dead, or worse, ignoring the service.

Brittany, NewsBlur’s developer’s girlfriend, can handle any situation, including driving a hysterical developer three hours back to San Francisco without breaking a sweat.

If you’re wondering, I think about NewsBlur first thing in the morning and last thing at night when I check Twitter for mentions. It’s my life and I would never just give up on it. I just got cocky after a year and a half of nearly uninterrupted service. NewsBlur requires next to no maintenance, apart from handling support requests and building new features (and occasionally fixing old ones). So I figured what harm could 24 hours of away time be? Boy was I wrong.

If you made it this far then you probably care about NewsBlur’s future. I want to not only assure you that I will be building better monitoring to ensure this never happens again, but to also offer anybody who feels that they are not getting their money’s worth a refund. Even if you are months away from payment, if you aren’t completely satisfied and think NewsBlur’s just about the best thing to happen to RSS since Brent Simmons released NetNewsWire back in 2004, then I want to give you your money back and let you keep your premium account until it expires.

I would like to also mention how much I appreciate the more light-hearted tweets that I read while on the frenetic three hour drive back to San Francisco from Big Sur. I do this for all of your happiness. If I did it for the money I’d probably find a way to juice the data so that I could at least afford to hire an employee. This is a labor of love and your payment goes directly into supporting it.

Big Sur is where a good many new ideas are thought.
Read the whole story
loic
3743 days ago
reply
Murphy + mauvais timing + gestion de crise = super post
France
Cafeine
3743 days ago
reply
That combo of bad timing and technical glitch is just crazy. -_-;
Paris / France
samuel
3743 days ago
reply
Ugg, I feel so horrible about the downtime, and so soon after feeling so wonderful.
Cambridge, Massachusetts
sredfern
3743 days ago
I'd rather you have a holiday and I deal with a couple of hours of downtime :)
brucealdridge
3743 days ago
you deserve a holiday ... and 75 feed servers?!?!
samuel
3743 days ago
That's only the feed fetchers. I also have a few dozen apps servers and a dozen different database servers. NewsBlur's a hungry beast!
larand
3743 days ago
Stuff happens. Thank you for all the work you've put into NewsBlur, and I have absolutely no intention of asking for a refund. Hell, I'd renew early if need be.
mp4328
3743 days ago
have an amazing Burning Man experience!! - don't worry about us while you're out there.
jqlive
3743 days ago
No worries man. Stuff happens. Enjoy Burning Man. Thanks for all the hard work.
rikishiama
3743 days ago
no worries here too. great honest post that makes me feel good I'm a year-plus paying user.
[deleted]
3743 days ago
Ditto to all these comments!
acdha
3743 days ago
Enjoy a break. The rest of us can use some practice dealing with not clicking refresh like a rat in a behavioural study…
kpjackson
3743 days ago
Let me add my note of appreciation for your honesty and dedication to this great product. Downtime happens and we can all learn lessons from our mistakes. It's when we don't learn that we should really feel horrible. Oh, and I plan to be a happily paying customer for years to come. Also, any plans for a 2014 NB Tee?
ScottInPDX
3743 days ago
Having been in similar situations in the past, I totally understand. You're doing good work here, and NewsBlur is the only reader I use. I'll be paying for it as long as you're willing to accept payment.
samuel
3743 days ago
I would love to get a 2014 NewsBlur t-shirt out there, but I haven't found a designer yet. Most want $1000+ for a design, and I'm telling them there's only about a hundred of these things that are going to sell. Happy to hear ideas!
[deleted]
3742 days ago
So sorry that it had to happen while you were away. Thanks for the status update - but mostly, thank you for the wonderful service you've built. It's invaluable to me (I feel like I owe you more than I pay.) Thanks!!!
popular
3743 days ago
reply
Share this story
Delete
25 public comments
rafeco
3741 days ago
reply
Don't feel bad, databases gonna database.
laza
3742 days ago
reply
Don't feel horrible, this just showed us how valuble Newsblur is for our workflow or procrastination :) , and i'm so jealous that you are going to Burning Man, you should write a blog post about your experience there.
Belgrade, Serbia
samuel
3730 days ago
Writing that post right now. My work made the national news a few times. Look for the heartbeat lotuses.
emdot
3742 days ago
reply
I absolutely love NewsBlur. Thanks to Samuel for the update -- things like this make me even more happy to use the service. Thanks for your hard work.
San Luis Obispo, CA
satadru
3743 days ago
reply
I'm considering it a hallmark of the intensity of the academic program I'm in that I didn't much notice the Newsblur downtime.
New York, NY
jbouvier
3743 days ago
reply
Any developer knows downtime happens. The only thing you can do is your best to prepare, and when the shit hits the fan, be honest about the cause. This is how all developers & companies should treat these inevitable occurrences.
Chicago, IL
chengjih
3743 days ago
reply
Hah, I am so far behind on my feeds I didn't even notice the issue. 6000+ unread articles before the outage, 6000+ after.
llucax
3743 days ago
Same here, I don't have as many unread stuff, but this is just a RSS feed reader, come on! Let this guy have a day off!
smadin
3743 days ago
reply
Well, here's what happened with Newsblur.
Boston
acdha
3743 days ago
reply
This is such a perfect sysadmin story. Kudos to Samuel for sharing the details.
Washington, DC
smilerz
3743 days ago
reply
Murphy strikes again.
Chicago or thereabouts
sirshannon
3743 days ago
reply
Exactly.
Brstrk
3743 days ago
reply
Meh. No worries here. Murphy happens to everybody, man.
bronzehedwick
3743 days ago
reply
No intention of asking for a refund. :)
Tarrytown, NY
sredfern
3743 days ago
reply
Here here.
Sydney Australia
lkraav
3743 days ago
reply
What needs to happen in order for Sam to be able to hire an employee? How much would the yearly rate go up?
Tallinn, Estonia
3743 days ago
Thats a question I also want to raise. There definitely need some kind of business continuity for situations like that (or even worse one). I really appreciate the work Samuel is doing here and I love Newsblur, but I also see that its to heavily depends on one person.
samuel
3730 days ago
Going 24 hours without internet and not paying a server babysitter is pretty new. I often go without access for a few hours, but I almost always have Twitter and email on me and can post status messages. This was a one-time thing.
lkraav
3730 days ago
Well I think there comes a time in every genius' life where a delegation sidekick just leaves more energy for saving the world from bad feed readers.
jlvanderzwan
3743 days ago
reply
Gotta work on your bus factor, Sam! :)

http://en.wikipedia.org/wiki/Bus_factor
wmorrell
3743 days ago
reply
It is honest self-assessments like these, and the overall openness of NewsBlur, that makes it better than GReader for me. I remember a few downtimes there that were real downtimes, not just "it takes slightly longer to view feeds".
lasombra
3743 days ago
reply
Samuel, it sucks, but it's part of the job. I love NewsBlur and paid for a premium account after 1 hour of using it. I'm on the second run and all I have to say is "Great job man!"
UK
pablooo
3743 days ago
reply
$PWD
DrewCPU
3743 days ago
reply
The whole day, I thought "Poor Sam, he's gotta be going nuts!" I hope you enjoyed your much-deserved offline day.

Meanwhile, I was looking at all of my feeds manually and realized that I didn't need some of them and did some cleanup.
New Jersey
kazriko
3740 days ago
Hah. I was doing the same, but mostly moving sites that haven't updated in years to my "Dead Sites" folder. I keep them there just so I can see if something suddenly revives on me.
rewingau
3743 days ago
reply
The main thing I learnt from this downtime was just how much I value Newsblur. Hint - a lot!

And as for the downtime - the demon Murphy laughs at your camping trip...
Canberra, Australian Capital T
alannashaikh
3743 days ago
reply
This is really no big deal. Stuff happens.
rtreborb
3743 days ago
reply
Hard to be upset with you, Samuel. Thanks for all you do!
San Antonio, TX
tedder
3743 days ago
reply
it's all good. you have a great story to tell at a conference now.
Uranus
rubin110
3743 days ago
reply
Thanks for rocking the thin blurry line between open source and able to financially support you and your work. In all honesty a random day of down time is a blessing with the number of feeds I've got going. Thanks again for all you've done.
San Francisco, CA, USA
kazriko
3743 days ago
reply
No chances for requesting a refund here. The service is too good, and has been too stable. This is a really unusual bit of downtime. Thanks for being on top of it for so long. I was still able to fetch and read the important feeds by instant-fetching then looking at each feed separately, so no real issue other than being time consuming.
Colorado Plateau
denubis
3743 days ago
I completely agree. Downtime happens, and developers deserve vacations. This is a wonderful service.
g_hoges
3743 days ago
+1 from me too. I love the service, and tolerate far more downtime from things like banking platforms. Continue to rock, Samuel
lasombra
3743 days ago
Right on man. Downtimes happen and Samuel has been rocking on the downtime arena for a very long time. It wasn't the end of the world. It sucks, but happens.
murrayhenson
3743 days ago
Seconded. Also, Samuel took the time to quickly comment on what went wrong and to really accept responsibility. You can't buy that but it's worth a hell of a lot.
JamesDiGioia
3743 days ago
And the thing about it is it's not strictly "downtime" - you could access the service, and with some minor hacky workarounds, continue to use it. Definitely not asking for a refund.
JimB
3741 days ago
I quite agree with you. Everyone is entitled to a break from the grind, and *sometimes* computers do unexpected things. The amazing thing is that you sorted out so quickly once you found out.
cmarshall
3740 days ago
Every system has issues occasionally - the important thing is how you handle them. The two keys are communication and getting it fixed. You done good.

Why France is so afraid of Netflix

1 Share
Cultural policy dating back to the Sun King.

Oh, France. You hate new things. You hate foreign things, particularly American things (or so you like to say). You hate business. Of course you’re going to hate Netflix.

Netflix is currently expanding around the world, and it wants to set up shop in France. The company has said it has aggressive expansion plans in Europe, and the French press has reported that executives from the company have met with President Hollande’s staff twice. To Reed Hastings I say: good luck, you’re going to need it.

Since the era of Jean-Baptiste Colbert, Sun King Louis XIV’s Minister of Finance, the French economy has functioned as a government-managed oligopoly. Consumers exist to reward friends of the state. This is why France’s socialist government has sicced tax inspectors on virtually every significant US tech company that has a presence in France (Microsoft, Google, Facebook…), and created rules preventing Amazon from offering free shipping on certain orders, to protect bookstores from competition, nevermind that it makes it harder for actual people to buy and read books, which one would think would be the goal of a cultural policy.

The taxes, regulation, and protectionist mindset that make doing business in France a nightmare are well-known. But there’s something else. Netflix is not just coming in as a foreign, innovative American company, thus presumed untrustworthy. It is wandering into another minefield: what the French like to call l’exception culturelle, the cultural exception. In the story France tells itself about itself, France is exceptional because it is so cultured. What does that mean? It means that the French government supports French movies and TV shows and other cultural products, and mandates that a certain percentage of programs on TV and radio be French.

This is actually one of the least offensive parts of the French compact. After all, French cinema does produce a regular smattering of masterpieces and, looking at the rest of Europe, it’s hard to believe that this vitality would be there without government support, however wasteful and occasionally corrupt.

But the way this all is funded is through a set of taxes paid by French TV networks. Basically, if you want to operate a TV network in France, you are mandated by law to also become a movie producer and set aside a percentage of your profits to produce movies. Does Netflix count as a TV network? Netflix has described itself that way before; its French competitors—and the French government (which, if you’ve been paying attention, is the same thing)—certainly think it should count as one for those burdensome rules. France’s culture minister has said that the government would not accept Netflix as a “stowaway” in the French market. They might, for example, set up shop outside France’s borders, offer their online service from there, and not be bound by French rules. But is the alternative for Netflix to set up a film-producing company in France especially for France?

There’s another problem for Netflix: net neutrality. In France, the important technology companies are not the internet services companies—they are the telcos. The biggest one, Orange, used to be a state company. The state is still a major shareholder and usually picks the CEO. The current CEO, Stéphane Richard, was previously chief of staff to then-Finance Minister Christine Lagarde (Colbert lives!). Orange has also made it clear that it views itself as having a future in media. Telcos don’t like that Netflix sucks away their bandwidth even as it threatens their business model. In the US, while the government is certainly not immune from regulatory capture, there is no national broadband company. In France, the ISP Iliad/Free already deliberately slows down YouTube’s traffic.

France has been in a bad place for 30 years. Slow growth, mass unemployment. Countries that go into this kind of funk become resentful and fearful of foreigners and new things. This will be the mindset that Netflix will have to navigate.

Now, none of this means no one will buy Netflix. That’s the big paradox. In this matter, it’s as if there were two Frances. You have the sort of Platonic France—the idea of France, the one lived by the upper-middle classes, the cultural world, and government elites, where people eat fancy food, dislike anything vaguely American and write off the internet (still, yes, today) as a fad, and spend their time sitting at cafés sipping on espressos. Then you have the France that actually exists, where the most thriving restaurant company is McDonald’s and 8 of the 10 top-grossing movies last year were made in Hollywood. French people, like people everywhere else, are fine with innovation that makes their lives easier.

Netflix’s value proposition, with the cheap subscription, the good-enough content, and the convenience of being able to watch whatever you want on whatever platform, will surely appeal to plenty of French consumers.

I just don’t envy the endless headaches Netflix France’s management team will suffer.

You can follow Pascal on Twitter at @pegobry. We welcome your comments at ideas@qz.com

Read the whole story
loic
3946 days ago
reply
France
Share this story
Delete
Next Page of Stories