Did you know that session_start() is a blocking call in PHP? I didn’t and it has some importance to know:
Now I didn’t know it but is seems that php’s session handling is blocking on a per request basis. Kinda makes sense if you think about it, that if two requests simultaneously try and change a session variable then you would get constancy issues. So php handles this by making session_start a blocking action and will wait for any other request to either finish or close the session using session_write_close.
So if you have a web application or website with a lot of concurrent calls for the same user having the same session, you could run into trouble. On of the easiest fixes is to only start your session when you need it and close it as soon as possible if you are done with the session.
I never thought about session_start() being blocking and I guess neither did you, but it could have serious performance implications when you are for example serving images built by PHP. Something to consider in your next project!
via session_start blocking in php | Tomrawciffe.co.uk
Another batch of great new AWS features, this time for Route 53 (DNS) and ELB. One in particular is very interesting. Route 53 and Elastic Load Balancing integration. Werner Vogel explains why this is a big deal:
Due to restrictions in DNS a root domain “zone apex” cannot be mapped to another domain name using a CNAME record. This has caused customers who wanted to have the root of their domain e.g. allthingsdistributed.com point to same location where for example www.allthingsdistributed.com is pointing to jump through complex redirect hoops. Through a better integration between Elastic Load Balancing and Route 53 we can now offer the ability to map the zone apex to ELB without all the redirection muck. ELB and Route 53 work together closely to ensure that if the address of the load balancer changes this is quickly reflected in Route 53.
That’s why Mobypicture is running on www.mobypicture.com instead of mobypicture.com and we had to run our own loadbalancers and scaling metrics for our moby.to url shortener. From now on we can completely switch to ELB, including all other benefits.
More information can found on the Elastic Load Balancing and the Route 53 detail pages or on Werner’s blogpost “New Route 53 and ELB features: IPv6, Zone Apex, WRR and more“
In the 1.5 years I’m CTO of Mobypicture we have accomplished many things. We grew with 17,500%, released our first MobyNow platform last year and a couple of months ago a complete new release of our MobyNow technology, embracing even more of the realtime and aggregation power that is available. We are very close on releasing MobyNext, our new version of Mobypicture, which will bring more implicit awareness to our users and is able to build adventures around their content. We have implemented Scrum as our main project management method and almost never miss a deadline anymore, while still staying very flexible in our project planning. We are ahead of the crowd with our implementations of HTML5 and CSS3, which ensures the same experience on web, iPad and mobile. All things I am really proud of.
After this process of professionalization and preparing Mobypicture for its next phase, I noticed how much I miss being an entrepreneur.
That’s why I’ve taken a big step and will lay down my position as CTO of Mobypicture to become an entrepreneur once again. Read the rest of ‘In between startups’ »
I have read two good posts last week, both from young entrepreneurs claiming they do not really know what they are doing as an entrepreneur. An interesting point of view I would like to share.
The first is from Ben Pieratt, founder of Svpply.com:
I enjoy naming products and I think I have a talent for it. I have an understanding of design that extends well past the aesthetic. I am proud of all this because I have worked for it.
But I have zero experience or expertise in building a company. I’ve never worked at a web or product startup, I’ve never worked in a healthy team environment. The design studio I co-owned was flawed to its core, and the companies I’ve worked at have had mediocre management.
/via Varsity Bookmarking My Job Pt.1 — I have no idea what I’m doing.
A brave and honest statement to make. And it kept me thinking. Do I really know what I am doing as an entrepreneur? Or is it just luck? Read the rest of ‘Do you really know what you’re doing as an entrepreneur?’ »
I love the term FU (F*ck you) money. It’s the amount of money you need to be totally independent from everybody.
Kevin Rose got his FU money after selling his first bit of Digg and it made it easier to say no to investors because he personally didn’t need the money anymore. His decision could be purely based on a business decision, what was best for Digg.
I have some FU money, not as much as Kevin, but it gives me a certain level of independency from employers and customers, because I know I will make it without their money. It gives you just the right amount of freedom and still the urge to create your next success story.
This guy however has an amazing response on why he is buying these three things with his FU money: Read the rest of ‘The best way an entrepreneur has spent his FU money’ »
It happens at Mobypicture all the time; expired access tokens from Facebook. There are several ways to solve this and this post at the Facebook Developer Blog handles them all. I didn’t know for example that your access tokens are rejected when you change your password at Facebook. Quite annoying actually, because I like to change my passwords once in a while and my Oauth connections should still be working afterwards.
This post will walk you through how you can ensure that you are handling and recovering from these situations gracefully. It assumes that you are familiar with our server-side authentication flow.
We will discuss 4 different scenarios:
- The token expires after
expires time (2 hours is the default).
- The user changes her password which invalidates the access token.
- The user de-authorizes your app.
- The user logs out of Facebook.
/via How-To: Handle expired access tokens – Facebook developers.
Note: The solution Facebook provides only works when you have people login regularly on your website, because you need to show your users with invalid access tokens the Permission Request pop-up again.
You can now store your business and application metrics in Amazon CloudWatch. You can view graphs, set alarms, and initiate automated actions based on these metrics, just as you can for the metrics that CloudWatch already stores for your AWS resources.
On first sight I was not really impressed. It does not sound really useful, until you dig deeper into the possibilities. For example adding page latency to CloudWatch gives you far better insight WHY your latency rises compared to free server resources.
Here’s an example of the kinds of insights that can be gained when you use custom metrics. The following chart shows the amount of free memory (the jagged line) and the application’s page latency:
As you can see, page latency increases as free memory decreases (looks like there’s some garbage collection going on as well).
Read the rest of ‘Custom Metrics for Amazon CloudWatch’ »
Via @HTML5guy I came across the following Tweet:
Angry Birds built in HTML5? Sounds like A nice project, but I didn’t expect much. Programming in HTML5 is still quite hard, because of the lack of good tools. The tools for Flash are for example far superior to Canvas programming in Dreamweaver. But that’s food for another post.
Angry Birds in HTML5 plays just as it does on your iPhone or iPad, it is very impressive! Although it is probably built for Chrome (according to the URL), it runs fine on Safari and Firefox as well.
Take a look and try not to get addicted again. I totally agree with @elron8 that if we have a couple of showcases like this, HTML5 implementations will take another flight.