Archive for the ‘Web’ Category

Four short links: 1 July 2010

Июль 1st, 2010

  1. Conflict Minerals and Blood Tech (Joey Devilla) -- electronic components have a human and environmental cost. I remember Saul Griffith asking me, "do you want to kill gorillas or dolphins?" for one component. Now we can add child militias and horrific rape to the list. (via Simon Willison)
  2. Meteor -- an open source HTTP server that serves streaming data feeds (for apps that need Comet-style persistent connections). (via gianouts on Delicious)
  3. Hobby King RC Store -- online source for remote control goodness, as recommended by Dan Shapiro at Foo.
  4. RethinkDB -- MySQL storage engine optimised for SSD drives. See also TechCrunch article.


PlanetMySQL Voting: Vote UP / Vote DOWN

Webinar today – Scaling Web Services with MySQL Cluster, Part 1: An Alternative to MySQL Server & memcached

Июнь 9th, 2010

MySQL and memcached has become, and will remain, the foundation for many dynamic web services with proven deployments in some of the largest and most prolific names on the web. There are classes of web services however that are update-intensive, demanding real-time responsiveness and continuous availability. In these cases, MySQL Cluster provides the familiarity and ease-of-use of the regular MySQL Server, while delivering significantly higher levels of write performance with less complexity, lower latency and 99.999% availability. This webinar will discuss the use-cases for both approaches, and provide an insight into how MySQL Cluster is enabling users to scale their update-intensive web services.

The webinar starts at 09:00 Pacific/17:00 UK/18:00 CET today (June 9th 2010).

Still time to register (for free) at http://www.mysql.com/news-and-events/web-seminars/display-545.html – even if you can’t attend, this way you’ll get sent a link to the charts and replay.


PlanetMySQL Voting: Vote UP / Vote DOWN

Four short links: 19 March 2010

Март 19th, 2010

  1. Tsung -- GPLed multi-protocol (HTTP, PostgreSQL, MySQL, WebDAV, SOAP, XMPP) load tester written in Erlang.
  2. Myth of China's Manufacturing Prowess -- The latest data shows [...] that the United States is still the largest manufacturer in the world. In 2008, U.S. manufacturing output was $1.8 trillion, compared to $1.4 trillion in China (UN data. China’s data do not separate manufacturing from mining and utilities. So the actual Chinese manufacturing number should be much smaller). Also contains pointers to an interesting discussion of lack of opportunities for college grads in China.
  3. OpenSSO and the Value of Open Source -- Oracle are removing all open source downloads and wiki mentions, leaving only the enterprise OpenSSO product on their web site. A Norwegian company has stepped in and will continue the open source project. This is essentially a fork, but for the forces of good. (via normnz on Twitter)
  4. The Internet of Things -- 5m video on sensor networks, etc. (via imran on Twitter)


PlanetMySQL Voting: Vote UP / Vote DOWN

Static charts vs. interactive charts

Март 2nd, 2010

I’m having my usual fun with charts. Working on mycheckpoint, I’ve generated monitoring charts using the Google Chars API. But I’ve also had chance to experiment and deploy interactive charts, JavaScript based. In particular, I used and tweaked dygraphs.

I’d like to note some differences in using charts of both kinds. And I think it makes a very big difference.

Static charts

I’ll call any image-based chart by “static chart”. It’s just a static image. Example of such charts are those generated by Google Image Charts (they now also have new, interactive charts), or RRDtool. Show below is an example of a static chart; in this example, generated by Google:

Pros and cons of static charts

Pros

  • Images can be viewed on any graphical platform. Browsers, email clients, cell phones, whatever.
  • Self contained: chart image, legend, scales: all in one image.
  • As such, easy to move around.
  • Are safe to use.

Cons

  • Images are fuzzy. Is the com_replace_psec really 0? Maybe it’s 0.1? A larger value can make lower values hard to tell.
  • Images are inaccurate: the colors can lie. The red and green lines showing are hard to tell apart. The red is painted above the green. Data gets “lost”.
  • They do not zoom (one needs to regenerate larger image)
  • Unless encoded with base64, HTML pages which include images need to link outside.
  • In the particular case of Google Charts, one is limited to 2K length URL. Trust me, it’s a big limitation! (PS, Google now support POST method to allow for up to 16K. But… it’s a POST method…)
  • In the particular case of Google Charts, one must have an internet connection.
  • In the particular case of Google Charts, one must submit data to Google.

Interactive charts

Interactive charts are those which react to your commands. These are either JavaScript or Flash based, mostly. They allow for really nice features. Take the following chart as an example: try and move over with your mouse; or select sections to zoom in.


DML

[graphDiv]
[labelsDiv]

The above chart is generated with dygraphs. Since it is embedded within my Wordpress page, the layout is affected by that of my theme. Take a look at this example page to see similar charts outside this blog site (Internet Explorer users: Maxmimize/minimize button will not work well for now. And, may I suggest Mozilla Firefox?)

Pros and cons of interactive charts

Pros

  • Can present you with exact values. No more doubt about the com_replace_psec values.
  • Can allow for zoom in, zoom out.

Cons

  • Need supporting platform. The above cannot be viewed by non-JavaScript browsers (cell phones, etc.)
  • Browser support is also an issue with JavaScript.
  • Emailing such report will result in mail blocking in many companies: mail filters will not allow for JavaScript code to pass.
  • Charts are not necessarily self-contained, in terms of the chart entity With Flash charts (e.g. Fusion Charts) this works. But in the above, the legend and scales are outside the image. As such, they cannot be just moved around.
  • HTML pages which include such charts can be self contained. The HTML page can include all the JavaScript dependencies, in addition to the chart generating code. Flash based charts cannot be self contained.

Summary

Interactive charts are cool!

I’m now integrating dygraphs into mycheckpoint (How nice it is to work with BSD & MIT licenses!). Though I may later switch to flot, interactive charts will be the next standard charting way in mycheckpoint. I will continue supporting static Google Charts, as follows from the above pros and cons list.


PlanetMySQL Voting: Vote UP / Vote DOWN

HipHop for PHP is not for you 60% of the time, everytime.

Февраль 3rd, 2010

My apologies to Ron Burgundy for the title of the post, but I’m just a fan of the wisest man to ever live.

As Marco and Illia and countless others have said, unless you don’t work with PHP or were in a coma, Facebook released
HipHop for PHP , it’s open source, it’s awesome, it makes you go fast.

It’s not for you.

You, being the average PHP developer, systems administrator, hacker.  A lot is being made of how CPU load went down by 50% etc, that’s a great number and on the surface very hard to argue with, but to really understand it, you must understand the problem a lot better. Facebook didn’t decide to write HipHop and use it in production because they had all this money laying around and felt like paying 3 engineers to work on something. They looked at other existing alternatives, implemented them, and when they maxed them out, decided to switch.

HipHop Does Not:

  1. Make your database queries faster. A slow database is slow whether accessed via PHP or C++, Java, Scala, Ruby…..
  2. Make your images load faster
  3. Debug faster / better, if anything you’ll be debugging HipHop and PHP , to make sure something didn’t break in the conversion.
I really want people to understand, that the decision to switch to HipHop isn’t a light decision, and it’s definitely not the silver bullet.

If anything, HipHop should be your last resort.

But, it’ll help me reduce the number of web heads!

It’ll also make you change your deployment process, you’ll have to learn how to use gdb and other tools to debug things in production.
Keep that in mind when you think about the monthly cost of a cloud server, or a slice at slicehost. The number of servers arguments comes into play when you can eliminate > 100 servers.
If you’re going from 4 servers to 2, I guarantee you that you’re doing it wrong.
I suggest you to look into your application more, and find the bottlenecks. Be absolutely certain that you can’t tweak your DB any more, or use APC, or Zend Server or something else.

PlanetMySQL Voting: Vote UP / Vote DOWN

HipHop for PHP is not for you 60% of the time, everytime.

Февраль 3rd, 2010

My apologies to Ron Burgundy for the title of the post, but I’m just a fan of the wisest man to ever live.

As Marco and Illia and countless others have said, unless you don’t work with PHP or were in a coma, Facebook released
HipHop for PHP , it’s open source, it’s awesome, it makes you go fast.

It’s not for you.

You, being the average PHP developer, systems administrator, hacker.  A lot is being made of how CPU load went down by 50% etc, that’s a great number and on the surface very hard to argue with, but to really understand it, you must understand the problem a lot better. Facebook didn’t decide to write HipHop and use it in production because they had all this money laying around and felt like paying 3 engineers to work on something. They looked at other existing alternatives, implemented them, and when they maxed them out, decided to switch.

HipHop Does Not:

  1. Make your database queries faster. A slow database is slow whether accessed via PHP or C++, Java, Scala, Ruby…..
  2. Make your images load faster
  3. Debug faster / better, if anything you’ll be debugging HipHop and PHP , to make sure something didn’t break in the conversion.
I really want people to understand, that the decision to switch to HipHop isn’t a light decision, and it’s definitely not the silver bullet.

If anything, HipHop should be your last resort.

But, it’ll help me reduce the number of web heads!

It’ll also make you change your deployment process, you’ll have to learn how to use gdb and other tools to debug things in production.
Keep that in mind when you think about the monthly cost of a cloud server, or a slice at slicehost. The number of servers arguments comes into play when you can eliminate > 100 servers.
If you’re going from 4 servers to 2, I guarantee you that you’re doing it wrong.
I suggest you to look into your application more, and find the bottlenecks. Be absolutely certain that you can’t tweak your DB any more, or use APC, or Zend Server or something else.

PlanetMySQL Voting: Vote UP / Vote DOWN

Security For Web Applications Webinar: Wrap Up

Январь 31st, 2010

Thank you for attending the Sun Startup Essentials webinar on Security for Web Applications, here is a list of useful links to learn more about and start implementing the different technologies that were covered during the presentation:


PlanetMySQL Voting: Vote UP / Vote DOWN

Security For Web Applications Webinar: Wrap Up

Январь 31st, 2010

Thank you for attending the Sun Startup Essentials webinar on Security for Web Applications, here is a list of useful links to learn more about and start implementing the different technologies that were covered during the presentation:


PlanetMySQL Voting: Vote UP / Vote DOWN

Happy 2010 — it’s review time

Январь 4th, 2010

I was happily snowboarding and skiing (the latter for the first time in two decades) last week, so here comes the year-end review a week late. Last year, I harped on Facebook's closed nature, and over the the year they've tried to open more of the users' data over to the Internet. Still, there are no decent APIs for a user to pull out everything they've posted to Facebook to have their own copy, though. That doesn't seem to stop them from dominating the Internet for the time being, though, so good for them.

I'm trying to think of what would have surprised me over the year, but given I failed to make many accurate predictions myself, things just seemed to happen in pretty natural direction. Oracle's Sun acquisition over in April was a bit of a surprise at the time, but since then, I've grown to appreciate how it might make sense for Oracle. However, what still baffles me is that EC is going along with Monty's campaign of blocking the completion of that acquisition. Look, guys - the entire world does not need to agree on a commercial transaction in order for one to go through! MySQL is not the important thing here overall, Java is.

We managed to complete a few of major transitions for Habbo, most notably replacing the Shockwave client which was getting a bit long in the tooth with an all-new Flash-based Habbo Hotel and integrating Habbo with Facebook and other social networks. I didn't write about either of those launches here at the time, but these are pretty huge things for us because they make approaching Habbo much easier for a new user, and enable us to create all kinds of interesting features that would not have made sense previously.

So, what do I expect from 2010? Well, did the mobile Internet already happen? If not, at least it has a fighting chance this year. I'm having a hard time identifying any people close to me who're not using some Internet services on their phone by now, and some seem to be doing that almost exclusively on a phone. That must mean the rest of the world is close on their heels. As for more predictions, others have taken care of them by now.

One promise I can make is to try to do my part in making the Internet more fun and more social. At least now that even newspapers are beginning to think that asking their readers for money is not just a utopia, we can focus on the apps themselves, not whether they're ad-supportable.

Have a great year MMX!


PlanetMySQL Voting: Vote UP / Vote DOWN

Reminder: Tech Webinar on Security for Web Application

Декабрь 27th, 2009

Reminder, mark you callendar:

Wednesday January 27th, Join the Sun Startup Essentials Webinar on  Security for Web Applications.

A key success factor for Web startups is to protect their applications and data from different security threats. Join this webinar to learn about security challenges and about key solutions such as encryption, authentication, certificates, secure and fault-tolerant storage, chrooted environments. The Sun Startup Essentials experts will also cover how to implement these solutions at minimal cost by using standard and open components such as Solaris, Apache, MySQL, ZFS and more.

Registration limited to members of the Sun Startup Essentials program.

Your company is less than 6 year and  150 employee: Join Sun Startup Essentials >>



PlanetMySQL Voting: Vote UP / Vote DOWN