Pencarian

Rss Posts

 

 

 

Berita pada bulan January, 2010

Michael Daranto: Mengendarai Slackware 13.0 (1/2)

Jan 19, 2010

Setelah melakukan proses instalasi Slackware 13.0, maka ada beberapa hal yang perlu diketahui para newbie untuk mulai ‘mengendarai’ Slackware.

Panduan di bawah mungkin tidak komplit, tapi semoga berguna untuk starting point dan membangkitkan inspirasi tentang bagaimana berkencan dengan Slackware. Supaya tidak tergesa saya bagi jadi 2 tulisan .

Saya berharap ada rekan-rekan yang baru belajar linux (sambil melihat DVD Slackware yang nganggur)dan tertarik untuk menginstal plus mengendarai Slackware :) . All in all…Thanks buat denic http://www.makassar-slackers.org yang selalu concern terhadap para newbie di Slackware.

Salam.

read more

Survey Identifying Business Needs for Semantic CMS – Sandro Groganz, Open Source Marketi …

Jan 18, 2010

Please shell out a few minutes to help the IKS Project identify business needs for semantic CMS by participating in a survey. The results will help the EU-funded project to work towards an Open Source interactive knowledge stack.

There are two different sets of questions, depending on your background:

Thanks for participating in the survey and please spread the word!

Three Ways to Make a POST Request from PHP – Lorna Mitchell

Jan 18, 2010


I’ve been doing a lot of work with services and working with them in various ways from PHP. There are a few different ways to do this, PHP has a
curl extension which is useful, and if you can add PECL extensions then pecl_http is a better bet but there are a couple of different ways of using it. This post shows all these side-by-side.

POSTing from PHP Curl

This is pretty straightforward once you get your head around the way the PHP curl extension works, combining various flags with setopt() calls. In this example I’ve got a variable $xml which holds the XML I have prepared to send – I’m going to post the contents of that to flickr’s test method.

$url = ‘http://api.flickr.com/services/xmlrpc/’;
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);
?

First we initialised the connection, then we set some options using setopt(). These tell PHP that we are making a post request, and that we are sending some data with it, supplying the data. The CURLOPT_RETURNTRANSFER flag tells curl to give us the output as the return value of curl_exec rather than outputting it. Then we make the call and close the connection – the result is in $response.

POSTing from Pecl_Http

Pecl_Http has two interfaces – one procedural and one object-oriented; we’ll start by looking at the former. This is even simpler than in curl, here’s the same script translated for pecl_http:

$url = ‘http://api.flickr.com/services/xmlrpc/’;

$response = http_post_data($url, $xml);
?

This extension has a method to expressly post a request, and it can optionally accept data to go with it, very simple and easy.

POSTing from Pecl_Http: the OO interface

Finally let’s see what the OO verison of the extension looks like. Exactly the same call as both the above examples, but using the alternative interface, means our code looks like this:

$url = ‘http://api.flickr.com/services/xmlrpc/’;

$request = new HTTPRequest($url, HTTP_METH_POST);
$request->setRawPostData($xml);
$request->send();
$response = $request->getResponseBody();
?

This example is quite a bit longer than the previous one, and you might think this indicates that this approach is more complicated. In some senses that is true and its probably overkill for our extremely trivial example. However it is worth mentioning that the pecl_http extension is extremely flexible and powerful, and can handle some cases that the curl extension can’t. So even if it looks more complicated here, it can still be an excellent choice to implement.

In Conclusion

That was a very fast round-up of three ways you could make an arbitrary web service call from PHP – hopefully these examples are clear and will help anyone just starting to implement something along these lines.

Makassar-Slackers: VGA Sis 771/671 di Slackware 13

Jan 18, 2010

Setelah googling dan bertanya ke para suhu makassar-slackers akhirnya VGA Sis  ini bisa juga bekerja dengan optimal di slackware 13 ..huuffh *lap keringat*

read more

A guide to The 451 Group?s open source software coverage

Jan 13, 2010

Regular visitors to the 451 CAOS Theory blog will be well aware of The 451 Group#8217;s CAOS (Commercial Adoption of Open Source) research service and our CAOS long-form reports.
They are probably less aware of the open source coverage that The 451 Group provides on a day-to-day and week-to-week basis, however, and I thought it would be worthwhile to provide some examples of The 451 Group#8217;s ongoing open source coverage by highlighting a few recent reports.
The company#8217;s core services are 451 Market Insight Service, which delivers daily insight into emerging enterprise IT markets, and 451 TechDealmaker, a forward-looking weekly analysis service focused on M#038;A activity within the enterprise IT business.
Here#8217;s some examples of how our coverage fits in to those two services. Needless to say, these reports are only available to clients, although you can apply for trial access. Vendors – open source or otherwise – do not have to be clients in order to be covered by our analysts.
451 Market Insight Service
The 451#8217;s CAOS analysts – Jay and I – are responsible for much of the coverage of open source specialist vendors. Recent examples include:

Novell lessens Linux push for Intelligent Workload Management strategy

OpenLogic offers code scanning and compliance, community Linux support

DotNetNuke rides the explosion of open source on .NET for app development, WCM

Meanwhile The 451 Group#8217;s team of analysts also cover open source related vendors in their respective coverage areas, often in conjunction with CAOS analysts. For example:

Google#8217;s online channel for smartphones changes little in terms of market dynamics

JasperSoft eyes the enterprise with latest commercial open source BI suite

xTuple#8217;s open source ERP attracts more manufacturers, strikes chord with distributors

Gluster targets virtualization, unstructured data with new clustered storage platform

eZ Systems gears up for growth with new funding and new CEO

Additionally, we also provide reports assessing the strategies of proprietary/mixed source vendors towards open source. Examples include:

JetBrains has an open-source IDEA that could expand its profile

Day Software aims to become the patron saint of open source Web content management

Microsoft#8217;s new position reflects changing attitude toward open source

Putting Oracle#8217;s open source moves in perspective

SAP is learning to give and take with open source

In addition to our vendor-centric MIS output, open source also regularly makes an appearance in our reports assessing wider industry trends. For example:

Open source users voice concerns over Oracle#8217;s acquisition of MySQL

#8216;Vendor wars#8217; push challenges, opportunity to HPC and its enterprise outlook

Unpaid community Linux serving as foundation for provider and private clouds

Open source and cloud computing ? a match made in heaven?

451 TechDealmaker
451 Group analysts follow open source-related M#038;A in their coverage areas, again often working with the CAOS analsyst. Examples include:

VMware grows cloud stack, sends message with Zimbra buy

Terracotta acquires Quartz, adding job scheduling to Java-caching lineup

Pentaho snags LucidEra assets in bid to give analytics mainstream appeal

While we also provide reports assessing the prospects of potential acquirers and targets alike. For example:

EC concerns over Oracle-Sun deal center on MySQL

Will Red Hat have to buy to meet aggressive growth targets?

Further acquisitions could boost Novell#8217;s Linux business, indirectly

And again, open source makes an appearance in our reports assessing wider industry trends. For example:

Could an open source project survive a hostile acquisition?

How will recent moves by Intel and Google shake up the embedded OS space?

Opportunities for open source M#038;A in 2009

Will code scanning and analysis get large vendors shopping?

For those with an interest in M#038;A it is also worth mentioning is 451 M#038;A KnowledgeBase ? the company#8217;s merger and acquisition database, which contains details of all M#038;A deals tracked by The 451 Group, and offers the ability to filter search results to contain deals that are themed #8220;open source#8221;.

InnoDB, InnoDB-plugin vs XtraDB on fast storage

Jan 13, 2010

To continue fun with FusionIO cards, I wanted to check how MySQL / InnoDB performs here. For benchmark I took MySQL 5.1.42 with built-in InnoDB, InnoDB-plugin 1.0.6, and XtraDB 1.0.6-9 ( InnoDB with Percona patches).
As benchmark engine I used tpcc-mysql with 1000 warehouses ( which gives around 90GB of data + indexes) on my workhourse Dell PowerEdge R900 ( details about box ).
On storage configuration: FusionIO 160GB SLC and 320GB MLC cards are configured in software RAID0 to store InnoDB datafiles. For InnoDB logs and system tablespace I used partition on regular RAID10 with regular hard drives, here I followed Yoshinori Matsunobu#8217;s recommendations http://yoshinorimatsunobu.blogspot.com/2009/05/tables-on-ssd-redobinlogsystem.html and taking fact that FusionIO is not perfect for sequential writes http://www.mysqlperformanceblog.com/2010/01/11/fusionio-320gb-mlc-benchmarks/
Full results I put on page http://www.percona.com/docs/wiki/benchmark:fusionio:mysql:start, here are my thoughts and interesting facts.
First, chart with results for InnoDB vs InnoDB-plugin during runs (values are in new order transactions per minute, more is better) :

As you see InnoDB-plugin is doing much better here, it allows to utilize multiple IO threads,
which as we saw ( http://www.mysqlperformanceblog.com/2010/01/11/fusionio-320gb-mlc-benchmarks/ ) is necessary to get most throughput from FusionIO.
Also you may see from graph some waves for InnoDB-plugin. Here we observe innodb_adaptive_flushing in action (which is ON by default), and I think innodb_adaptive_flushing in InnoDB-plugin is not quite balanced, it may do overaggressive flushing, when it is not necessary.
But looking on CPU stats (see graph later), I guess InnoDB-plugin spends most time in buffer_pool mutex, contention here is not fully resolved yet in InnoDB-plugin.
Now, let#8217;s take XtraDB. In additional to multiple IO threads, we have patch to decrease contention on buffer_pool mutex, plus separate purge thread. Also we use different adaptive_checkpoint algorithm.
The results are:

So I guess buffer_pool improvements play here for XtraDB, and looking on summary result:

InnoDB 9439.316 NOTPM
InnoDB-plugin-1.0.6 15299.333 NOTPM
XtraDB-1.0.6-9 26160.551 NOTPM

InnoDB-plugin is 1.6x times better InnoDB, and XtraDB is 1.7x times better InnoDB-plugin.
Now on CPU usage and disk utilization.
Disk throughput:

CPU (user) usage:

Even with improvements, XtraDB performs less 150MB/s in disk writes (from benchmarks we
saw FusionIO can do much more) and with 45-50% of idle CPU.
I assume we still see significant contentions inside XtraDB, and there big room for improvements. As for InnoDB-plugin, I#8217;d wish InnoDB team makes some actions on buffer_pool mutex problem.
Finally I wanted to check what if we put innodb transactional logs and system tablespace on FusionIO also, there is graph for that:

It is not so bad, with final result 23038.283 NOTPM, it is only about 12% worse than with logs on separate partition.
And to make reference point, I run the same but with all files on RAID10 with regular disks,
the graph is there:

with final result: 2873.783 NOTPM ( about 88% worse than all files on FusionIO)
To summarize

MySQL InnoDB/InnoDB-plugin/XtraDB is not fully able to utilize throughput of FusionIO. XtraDB is doing better job with internal contention, but much more can be done.
Still you can have very impressive performance improvement in IO-intensive or IO-bound workloads. You may want to use InnoDB-plugin or XtraDB to get better results.

Putting logs on separate partition may be good idea, but only if you have possibility to do that. Making special setup for that may be not worth improvements

Entry posted by Vadim |
No comment
Add to: | | | |

Gartner report on PHP – Danne Lundqvist

Jan 13, 2010

A new Gartner report about PHP – PHP: Past, present and Future is mentioned in the last Zend newsletter. Even though I remain somewhat sceptical towards similar reports it is good to see that even Gartner is catching up. What they say actually do have an impact.

"PHP has been a cornerstone technology on the Web for more than a
decade. While its adoption among mainstream IT organizations has been
limited in the past, many corporate application development (AD)
projects are discovering the unique benefits of PHP."

One particular advice is especially interesting for large companies.

"Consider PHP as a supporting technology in a broader portfolio of AD
technologies, where it can provide a specialized toolset for building
Web graphical user interface (GUI) front ends to service-oriented
architecture (SOA) back-end services."

PHP is a fantastic tool for building rich web applications. It?s extensibility makes it versatile and extremely easy to integrate with modern integration solutions as Web Methods, legacy systems or just about any database technology.

To me – this has always been where PHP really shines.

MySQL Conference and Expo 2010

Jan 13, 2010

The? MySQL Users Conference and Expo 2010 scheduled for April 12 – 15, 2010 in Santa Clara is definitely a conference I highly recommend you attend if you can.? The insights, networking and knowledge gained is invaluable.? The fantastic dynamics of the open source community has to be experienced to be understood.? :)

Testing: Making Sure Code Works Before Shipping It – Brandon Savage

Jan 13, 2010

Shipping code that works is crucial to retaining the support of customers and high quality in your application. While it?s impossible to ship code without any bugs at all, it is possible to control for as many as possible, and fix as many known issues as there is time. These strategies are designed to ensure that code works when it is shipped to the end user.

Employ testers.
Developers have a tendency to test their code only with expected data. Testers, on the other hand, aren?t developers themselves; instead, they will use data that you don?t expect and find bugs that your users might otherwise experience.

Hiring testers is a tough sell in many development teams, especially small ones. It is possible to have testers that have other functions ? that is, they might be in another department or moonlight as testers. But with teams larger than 5 developers, having a full time tester is a crucial component of good development practices.

Write unit tests.
Every developer makes mistakes at some point. Having unit tests in place will help find these mistakes by showing you where a class breaks. It makes refactoring easier as well, since you can refactor and know that if your unit tests pass, there?s a good chance that you did it properly.

Unit testing should be built into the process of code development from the beginning of a project. However, if you?re starting from someone else?s project and the project doesn?t have unit tests already, simply institute a process of fixing bugs after you?ve written a unit test that identifies the bug. Eventually you?ll have unit tests for most of the application.

Write functional tests.
Unit tests are great, but they?re not enough. Knowing that one function takes an array and creates an object is fine, but what happens with the next function, and the one after that? Introducing functional tests: testing against expected behavior.

There?s a subtle difference between these two concepts. Unit tests test a specific component of the code: a single method, function, or clause. Functional testing, on the other hand, tests expected behavior: does clicking that button actually result in a refreshed page? Does my controller actually invoke the action properly? More than one method might be acted upon with functional testing.

A lot of this testing is done by the testers; however with applications like Selenium you can conduct some automated functional tests. On a small team that doesn?t have testers, or on a large team where there might be a challenged set of resources, automated functional tests can help reduce the testing burden.

Work unit testing into your build process.
We talked about integrating your build process with a continuous integration server. With build engines like Phing, it?s possible to automate the unit testing process (and even the functional testing process to some degree).

Each time you make a build for release, you should know that all the unit tests pass. If they don?t, there?s a problem that should be addressed before the build is completed.

Use continuous integration to know when tests began failing.
To hit on the same theme, a solid continuous integration server will automatically run your tests and alert you as soon as the first one fails. This helps prevent regression ? the introduction of bugs into code that worked in previous releases. The time to discover regression isn?t when the build is due and the team is ready to go, it?s right after a commit, and continuous integration will help with this.

Opsera and The Linux Box Partner to Expand U.S. …

Jan 13, 2010

p style=text-align: center; text-indent: 31.5pt; margin: 0in 0in 0pt 0.75in class=MsoNormal align=center/pp style=text-align: center; text-indent: 31.5pt; margin: 0in 0in 0pt 0.75in class=MsoNormal align=center/ppANN ARBOR, Mich., Jan. 12 — The Linux Box is partnering with Opsera Limited to become an official Opsview reseller in the United States, with the goal of expanding the national presence of this award-winning network and infrastructure monitoring software suite. /Read More…