Multi-Language Planet Sysadmin               

          blogs for sysadmins, chosen by sysadmins...
(Click here for English only)

July 03, 2008

Eric Boutilier

Being sneaky with luupgrade when /opt is a zfs filesystem

Hacking around with luupgrade on a Nevada SXCE (OpenSolaris) server when /opt is a ZFS filesystem but the root file system is UFS. In this example the file system (mounted at /opt) is called optpool:

YMMV...

comments, corrections, improvements welcome...




Disable services that use /opt and any others that make sense.

Backup /opt (e.g. with rsync)

Unmount (zfs unmount) the optpool filesystem

Run luupgrade

Change the mountpoint property (zfs set) of optpool to a temporary mountpoint. And make sure it mounted there, or zfs mount it manually.

Go to that mountpoint and rename directories that need to be moved out of the way, e.g. perhaps SUNWmlib.

Mount the new BE (lumount)

Note that luupgrade, being a bit confused, probably created a new /opt and installed some stuff there. Copy that stuff over to where you temporarily mounted optpool. E.g:

cd /.alt.new_be/opt && /bin/tar -cpf - SUNWmlib | (cd /tmpmountpoint && /bin/tar -xpvf -) # YMMV

Repeat as necessary, some possibilities (i.e. these showed up in /opt in a b64a->b88 luupgrade for example): SUNWtvnc SUNWvgl SUNWjavadb TurboVNC VirtualGL

Now do luactivate and reboot (init 6)

Move (mv) the bogus /opt directory out of the way.

Change the mountpoint property (zfs set) of optpool back to /opt, and make sure it mounted.

init 6 again

Review the state of SMF services, svcs -x, etc. of course.

by eric_boutilier at July 03, 2008 11:40 PM

Linux and Open Source

Howto: View The Hardware and BIOS Without Touching a Screw-Driver on Linux System

Sometimes it may be necessary to view the hardware information of a server, laptop or desktop without opening it’s cover. In this post, I’ll explain how to use dmidecode Linux command to get the hardware and BIOS information of the server. DMI stands for Desktop Management interface and SMBIOS stands for System Management BIOS. dmidecode [...]

by Ramesh Natarajan at July 03, 2008 11:21 PM

canspice

Another SCUBA-2 Setback

SCUBA-2, being a revolutionary instrument and all, is still in the process of being commissioned at JCMT. It shipped with “engineering-grade” arrays, which are of lower quality than “science-grade” arrays. They have more dead pixels and the remaining pixels are noisier than the requested spec. They can still be used for commissioning, as they can detect photons, only not well enough to do proper science with.

The science-grade arrays are still being manufactured in a rather long and complicated process, involving groups from the National Institute of Standards and Technology in Boulder, Colorado, the UK Astronomy Technology Centre and the Scottish Microelectronics Centre in Edinburgh, Scotland, the Astronomy Instrumentation Group at the Cardiff University in Wales, and of course the Joint Astronomy Centre in Hilo, Hawaii. Bits and pieces get flown all over the place, and it’s a wonder that nothing serious has happened to the arrays or any bits of them*.

Until June 9, when NIST researchers discovered that a vial of plutonium was cracked and some particles spilled from the vial. Understandably this has lead to the closure of the lab while cleanup and investigations are done. Unfortunately this lab had either parts of the arrays or the full arrays in it. They’re not expecting to get into the lab until August, when we find out if the radiation event caused any damage to the sensitive SCUBA-2 array electronics.

Since then, NIST has found that some of the plutonium entered the sanitary sewer system at levels below state and federal limits, and that some NIST employees show evidence of internal plutonium exposure. Obviously SCUBA-2 should take a back seat to more important concerns.

But full operation SCUBA-2 has just been pushed back again. How much is still uncertain, but a month is probably the lower limit.

*One of the more serious problems to date came when one of the groups was preparing the arrays for shipping and accidentally dropped a crate on or tightened a lid on one of them, crushing one of the corners. Whoops.

by Brad at July 03, 2008 08:47 PM

IIS Hacks

How to install PHP ISAPI on Windows 2008 IIS7 x64

With the release of Windows Server 2008 and IIS 7, Microsoft has included PHP5 FASTCGI support. ISAPI is still faster in my opinion, and if used correctly, very stable. PHP uses a 32-bit DLL so it will not work with an x64 system. There are several ports of PHP to x64, but all have proved to be unstable. Below I will outline the steps to install PHP 32-bit on Windows 2008 x64 (and have it stable).

  1. Install the PHP4 or PHP5 package (32-bit) in C:\PHP or wherever you like. Only use the Windows installer from php.net if you do not need any extensions. I would recommend downloading the PHP zip package
  2. Open the Internet Information Services (IIS) Manager. 
  3. Double-click “Handler Mappings” from the main IIS screen.
  4. Click on “Add Script Map.”
  5. Set up the handler mapping for c:\PHP\php5isapi.dll with extension *.php and check to allow the ISAPI extension and execution of scripts.
  6. Double-click “ISAPI & CGI Restrictions” on the main IIS screen. Right-click on PHP and select “Edit Feature Settings” and check “Allow unspecified ISAPI modules.”  
  7. Right-click on the Default Application Pool (or the one you want to use if more than one) and select “Advanced Settings.” 
  8. Change the “Enable 32-bit Applications” to True. Click OK. This spawns the App Pool in 32-bit mode, so if you have other modules that need to be run in 64-bit mode, best to separate the website into two App Pools: one 32-bit and one 64-bit.
  9. Restart the server.

by Chris at July 03, 2008 08:44 PM

Linux and Open Source

Firefox Tip: Select Multiple Lines of Text In Firefox 3

With Firefox 3, you can easily select multiple and non-consecutive pieces of text from a web page as shown in this GIF screencast. The secret is the Ctrl key. Select a line in Firefox with your mouse and then press the Ctrl key before selecting the second line. Unlike other browsers like IE or Opera, Firefox will [...]

by E@zyVG™ at July 03, 2008 08:33 PM

canspice

Hey blind people! Look at this!

Surely I can’t be the only one who find irony in the U.S. Mint announcing a coin that has Braille on it by unveiling a big picture of it at the National Federation of the Blind’s annual convention?

by Brad at July 03, 2008 07:45 PM

Simplehelp

Overview & Installation: rEFIt - an OS X boot manager

Linux Mac Windows

rEFIt is a boot menu and maintenance toolkit for EFI-based computers like the Intel Macs. You can use it to boot multiple operating systems easily, including triple-boot setups with Boot Camp. It allows you to avoid having to hold down the option key in order to select the OS you want to boot into as your Mac starts up, and provides a nice graphical interface instead.

refit boot manager

  1. Head over to the rEFIt home page and download the “Mac disk image” version.
  2. Open the DMG and run the rEFIt.mpkg installer file.
  3. install rEFIt
    click to enlarge

  4. The installation is very straight forward, mostly you’ll click Continue a couple of times, and you’ll be prompted to enter your password. Note: select your Mac OS X installation volume as the destination volume for the install - not an external drive etc
.
  • Restart your Mac. As it boots, you should be presented with the rEFIt boot screen.
  • install rEFIt
    click to enlarge

  • If you were not, and OS X just booted normally (as was the case for me), have no fear. Copy the efi folder from the rEFIt DMG file to the root level of your Mac OS X volume. Open Terminal and enter the following commands:

    cd /efi/refit
    ./enable.sh
    <enter password when prompted>

  • terminal installation method for installing refit
    click to enlarge

  • Now reboot again. This time you should have no problems using the rEFIt boot manager
  • If you ever decide to uninstall rEFIT, it’s quite simple. Open the Startup Disk preference pane from your System Preferences and select Mac OS X as the operating system to boot. This will re-bless your Mac OS X volume and instruct the firmware to boot from it. Then rename or delete the efi folder.

    In case your Mac OS X installation on the hard disk no longer boots, you can boot from the Mac OS X Install Disc (hold down the C key while booting) and run Startup Disk from the Utilities menu.

  • ---
    Related Articles at Simple Help:


    by Ross McKillop at July 03, 2008 06:09 PM

    Google Mac

    Precipitate: search your local and online docs



    If you're like me, some of your information is in the cloud and some is on your machine, and you don't always remember what is where. That can make it frustrating when you try to use your favorite local search tool to find something. Isn't the whole point of search that you don't have to remember where you put things?

    That's where Precipitate comes in. After you install Precipitate, you can use Google Desktop or Spotlight to find files online (such as those in your Google Docs list) just as you would find files stored on your Mac. Then, you can open them in your browser with a single click. Once Precipitate is set up, it stays out of your way, regularly getting the latest contents of your documents automatically, so you'll never need to think about it — or where you store your information — again.

    This version of Precipitate supports Google Docs and Google Bookmarks. Watch for more in future versions!

    by Scott Knaster (noreply@blogger.com) at July 03, 2008 05:50 PM

    The Daily ACK

    Guide to the iPhone Dev Documentation [del.icio.us]

    A guide to the available documentation for the iPhone SDK by O'Reilly

    by aallan at July 03, 2008 04:33 PM

    /sys/admin/blog

    Convert AVI to MP4 for iTunes

    iSquint is a cool utility to convert AVI files into iTunes/iPod/AppleTV friendly mp4 files. Works great!

    by first.last@gmail.com (Joe O'Brien) at July 03, 2008 03:05 PM

    Google Blog

    More tools for citizen participation



    Political participation isn't just about casting your vote; everyone should be able to become an informed participant instantly. When Americans want to learn about candidates and issues using Google, we find that they want more than one source, and immediate results. Instead of sitting through entire television broadcasts, voters are going online to get their daily dose of politics - as they did during the primaries, when searches for political queries spiked.

    We created a page on 2008 US election trends that highlights search queries on candidates by location to show how, during this election season, voters across the nation are getting politically engaged online. Use the Candidate Search Queries map to see which cities are searching more for Obama or McCain, and the News by Candidate tool on the trends page to see the latest headlines on each of the presidential contenders.

    Our political outreach efforts are aimed at providing citizens with useful knowledge on where candidates, office holders and advocacy groups stand. As more Americans go online and take simple steps to participate in politics, we aspire to promote democracy and informed participation in the process by equipping voters with useful information through search.

    by Karen (noreply@blogger.com) at July 03, 2008 04:01 PM

    What comes next in this series? 13, 33, 53, 61, 37, 28...



    Late one night in the summer of 2000, I found myself answering user support emails in response to two new features we had just released, Advanced Search and Preferences (at the time catchily called "Language, Display, and Filtering Options" :)). Busy crafting answers about how to set Safesearch or change the number of results offered by default, I worked my way through the email queue. And then I saw it: The next email had just a number ("37") in the subject - and no message text. What a weird form of spam, I thought. Why would anyone be motivated to just send a number? I searched for the user's email address to see what else had been sent. Interesting. Lots of numbers: 33, 53, and then a clue: "61, getting a bit heavy, aren't we?" Furthermore, the date on each of the messages seemed very familiar. Then I realized that's because the dates were all days that I had launched various changes on the homepage. "Getting a bit heavy?" - that one did correspond to one of the wordiest homepage releases we had ever done. Could the sender be counting words? Sure enough, I looked back, counted the words myself, and he was - a manual, human version of a scale for the Google homepage. He was weighing our homepage and letting us know when it was getting too heavy. One of his earliest mails had a note in the body: "What happened to the days of 13?" - referring to the word count on the initial 1999 homepage.

    This mystery and its revelation was really interesting because I thought about the homepage, and how to keep it simple, all the time. Yet I hadn't thought to look at it through this very simple lens: just count the words. The fewer, the better. Ever since that night, this has been our discipline, and everyone who works on the homepage and its design knows the current number: 28. (That's the word count for the basic page if you are signed out, there's no promotional line running beneath the search box, you've set Google as your homepage and thus don't get the "Make Google Your Homepage!" link, and you count "©2008 Google" as two words.)

    So, today we're making a homepage change by adding a link to our privacy overview and policies. Google values our users' privacy first and foremost. Trust is the basis of everything we do, so we want you to be familiar and comfortable with the integrity and care we give your personal data. We added this link both to our homepage and to our results page to make it easier for you to find information about our privacy principles. The new "Privacy" link goes to our Privacy Center, which was revamped earlier this year to be more straightforward and approachable, with videos and a non-legalese overview to make sure you understand in basic terms what Google does, does not, will, and won't, do in regard to your personal information.

    How does privacy relate to homepage word count? Larry and Sergey told me we could only add this to the homepage if we took a word away - keeping the "weight" of the homepage unchanged at 28. Given that the new Privacy link fit best with legal disclaimers on the page, I looked to the copyright line. There, we dropped the word "Google" (realizing it was implied, obviously) and added the new privacy link alongside it.



    We think the easy access to our privacy information without any added homepage heft is a clear win for our users and an enhancement to your experience. You can check out the new Privacy Center here.

    by Karen (noreply@blogger.com) at July 03, 2008 03:32 PM

    Compound thinking

    TurboGears 1.0.5 released

    On July first we cut out another 1.0.x TurboGears release.

    I see this release as an ongoing effort to maintain our 1.0.x users and provide support and enhancements to existing applications.

    While I am working with Mark and others on the 2.0 branch to make a release happen, I also work on the 1.5 front (formerly known as the 1.1 branch) to get this intermediary release out.

    The 1.5 release aims to be 100% compatible with 1.0.x applications (running on python >= 2.4). I test regularly my development version against production applications that are running on top of TG 1.0 at the moment.

    The real differences in 1.5 compared to 1.0 are:

    • Different defaults for quickstarted projects, SQLAlchemy, Genshi instead of SQLObject and Kid.
    • Testing Framework compatible with 2.0 to aid refactoring an application from 1.5 to 2.0 by using your test suit.
    • RuleDispatch dropped from the required TurboJson version and replaced by PeakRules. Should not change too much for end users, but will help maintainers because we won’t need to precompile binaries.

    At the end of the day I could say the TG scene is in a pretty good shape and we begin to see some attraction from the 2.0 branch, which is a good thing IMHO. And last but not least, releases always get more attention than simple SVN commits and we get users’ feedback in a much greater scale on such occasions, which is essential for an Open Source project such as ours.

    by Florent Aide at July 03, 2008 01:55 PM

    Linux Screw

    FAQ: How to install and configure MySQL cluster?

    Question: Can you give me more information on how to set up MySQL cluster?

    Answer: Sure, below are the links to extremely informative Internet resources providing detailed guides on why and how to deploy MySQL cluster.

    By the way a cluster in IT field is a group of linked computers, working together so they form a single computing system. The components of a cluster are usually connected to each other via fast local area networks. Clusters are usually deployed to improve performance and/or availability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.

    1. http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster.html

    MySQL Cluster is a high-availability, high-redundancy version of MySQL adapted for the distributed computing environment. It uses the NDBCLUSTER storage engine to enable running several MySQL servers in a cluster. This storage engine is available in MySQL 5.0 binary releases and in RPMs compatible with most modern Linux distributions.

    2. Mysql Cluster: The definitive HOWTO

    3. How To Set Up A Load-Balanced MySQL Cluster

    This tutorial shows how to configure a MySQL 5 cluster with three nodes: two storage nodes and one management node. This cluster is load-balanced by a high-availability load balancer that in fact has two nodes that use the Ultra Monkey package which provides heartbeat (for checking if the other node is still alive) and ldirectord (to split up the requests to the nodes of the MySQL cluster).

    4. MySQL Cluster Server Setup

    MySQL Cluser Server is a fault-tolerant, redundant, scalable database architecture built on the open-source MySQL application, and capable of delivering 99.999% reliability. In this paper we describe the process we used to setup, configure, and test a three-node mySQL cluster server in a test environment.


    Related Posts


    by artiomix at July 03, 2008 01:33 PM

    Simplehelp

    How to insert a Google Map into your website using iWeb

    Mac Web Design & Dev

    This brief tutorial will show you how to use the iWeb “Web Widget” for Google Maps to insert a Google Map into your web site.

    1. Start by determining where on your site you want to display the map, and create a space for it.

    2. click to enlarge

    3. Click the Web Widgets button..
    4. and select Google Map.
    5. Enter your address in the Address: field. I would strongly suggest leaving both Zoom controls and Address bubble checked - they are very useful features that your web site visitors will appreciate. When you’re done, click Apply.
    6. Use the “squares” in each corner to resize the map until it fits the space you set aside for it.
    7. That’s it, you’re done!

    8. click to enlarge

    ---
    Related Articles at Simple Help:


    by Ross McKillop at July 03, 2008 12:00 PM

    The Daily ACK

    Poorman's oscilloscope (with Arduino + Processing) [del.icio.us]

    Using an Arduino and Processing you can get a visual representation of an analog signal.

    by aallan at July 03, 2008 11:47 AM

    Google Mac

    Google Talk for iPhone



    Our busy mobile team is at it again, coming up with cool new iPhone stuff: check out Google Talk for iPhone, now available!

    by Scott Knaster (noreply@blogger.com) at July 03, 2008 11:15 AM

    Jonathan Schwartz

    Solaris on Wall Street - Faster and Faster

    I remember a dinner I had a while back with the CEO of a global financial services firm. As one of his first acts as CEO, he'd cancelled an enormous outsourcing contract, and I'd asked him why - his response has stuck with me. "Banking is a technology business. Pure and simple. I can't win if I don't have my own team."

    Independent of his views on outsourcing, I've heard the same point made by many (but not all) financial services executives - banking (like big swaths of telecommunications, media and retailing) has become a technology business, where every ounce of performance and differentiation matters. Even, and especially, in the midst of market turmoil.

    Which is a fitting backdrop for a joint press release we just issued with Intel - in which we achieved a land speed record - a million messages per second, running the Reuters Market Data System on Solaris 10 for Intel silicon (see release for details). To our colleagues at Intel and Thomson Reuters... thank you! Performance = market advantage, energy savings, or datacenter consolidation  - or all of the above. Customers get to pick.

    And following up on my last post on the impact of flash memory and ZFS on the world of datacenters, our own Adam Leventhal has added a far more fulfilling technical perspective in Communications of the ACM: Flash Storage Memory.Worth the read...


    by Jonathan Schwartz at July 03, 2008 07:16 AM

    OReilly Radar

    Seesmic Starts Adding Features

    Seesmic is a company built specifically to encourage asynchronous video conversations. seesmic.jpgWe spent a few hours recently with Seesmic founder and CEO Loic Le Meur, who kindly gave us an update on the company. Four weeks after opening its service to the public, Seesmic recently announced a product roadmap heavily influenced by users.

    After focusing on making sure the service scales, the company is now ready to add features including private groups, the option to block individual users from your Seesmic player, and letting users flag offensive content (e.g. porn). Search is a currently a big problem for them, and according to Loic they plan to address search in several ways: (1) give users the option of adding meta-data to their videos (description, tags, etc.), (2) employ automated audio-to-text software to create transcripts, and (3) since Seesmic videos are already on Google, use Google Video search. With apps for both Facebook and OpenSocial slated to be released in August, Seesmic hopes to draw more teen and college-age users.

    One of the problems with following conversations on Seesmic is that unlike text, there isn't a way to skim through video. Some people just take longer to get their point across. Assuming a 2-minute per video average, a conversation involving 60 posts/replies would take two hours to view from start to finish. Board member Pierre Omidyar started a Seesmic thread on the possibility of limiting videos to 30 seconds (a la twitter), but for the moment, there are no plans to limit the length of videos. However, the company plans to provide tools to filter out long videos and to display limited portions for faster viewing.

    One month after their public launch, here are some key metrics

    • 23,000 unique users from 25 countries (about 50% are from the U.S.)
    • 3,000 videos are uploaded each day (total of slightly more than 300K videos)
    • average length of a video is 2 minutes
    • 30 million page views (doesn't include videos viewed through their API)

    The Seesmic community not only provides valuable input for their product team, some users have put together impressive mashups and visualizations. My favorites so far are a Youtube and Seesmic mashup for people conversing in sign language, and a visual of conversations related to the recently released French hostage, Ingrid Betancourt. If you download the PicLens Firefox plugin, a Seesmic user created a fun tool to help you quickly navigate all the videos posted by a particular user: try this sample search ("deepakchopra") and set options to 3D Wall.

    As to the inevitable question of business models, Loic is mulling a few possibilities: text ads similar to Google AdSense, premium membership, white labels, and customized players for companies, just to name a few. For now, their recent round of funding gives them the luxury of focusing on growing their user base and improving their service. It remains to be seen whether or not asynchronous video conversations catch on in a massive way. Video may never appeal to the many netizens adept at communicating through text. However, the more time you spend on Seesmic, you start seeing why Loic believes that there will be a market for video conversations. By default, the Seesmic community is defining how that market evolves, and four weeks after launching, they seem to be doing just fine.

    by Ben Lorica at July 03, 2008 05:15 AM

    Adnans SysDev

    Hackszine

    Algorithm Ink and ContextFree.js - generative art with Javascript

    Currently Firefox, Safari and Opera have reasonable support for the Canvas HTML element. With IE the only major remaining laggard, there are a lot of people starting to experiment with Javascript's new graphical capabilities. I mentioned John Resig's Processing.js library in May, and now Aza Raskin has released the ContextFree.js library, which brings another generative drawing language to web-standards software development.

    Besides being pretty, why is ContextFree.js interesting? Because it shows the power of Open web technologies for making graphically-enabled, compelling interaction. The true power of the web revolves around anyone being able to dive in, see what someone else has done, and expand upon it. Canvas lowers the cost of entry to creating graphical mashups and other dynamic, graphical content. It also shows the progress the web has made: a year ago, this demo would not have been possible. Canvas wasn't ready, and Javascript interpreters weren't fast enough. Looking at the qualitative difference in speed from Firefox 2 to Firefox 3 indicates the amazing and substantial progress made towards speeding up Javascript since the last major browser release cycle.

    ContextFree.js is a Javascript port of the Context Free open source generative art application by Chris Coyne. It basically defines an extremely simple grammar that is designed to generate rule-based artwork with very few lines of code.

    Aza has also released the Algorithm Ink website, which uses ContextFree.js to create an open source art gallery. Using Algorithm Ink, you can load, tweak, and share generative art through a web interface. When you see something you like, you can view the source for the artwork and use it in your own creations. Very cool.

    ContextFree.js & Algorithm Ink: Making Art with Javascript
    ContextFree.js at Google Code
    Algorithm Ink
    The original Context Free by Chris Coyne
    Drawing Graphics with Canvas
    Processing.js - visualization library for Javascript

    by Jason Striegel at July 03, 2008 04:59 AM

    IIS Hacks

    IT Admins are Snoops?

    U.S. information security company Cyber-Ark surveyed 300 senior IT professionals, and found that one-third admitted to secretly snooping, while 47 percent said they had accessed information that was not relevant to their role.

    I’ll be honest…and I’m sure no one will believe me, but I have not snooped on anyone in my organization on purpose, but I have come across privileged information by accident. I do believe the 33% that said they snooped did not look at anything overly sensitive. I would hope 1/3 of IT staff are not that dishonest.

    What would you do if one of your superiors asked to keep logs / screenshots of everything you did, so as to be sure you didn’t abuse your power?

    How many IT admins have access to their superior’s confidential files and emails?

    How many IT admins would hold their company ransom for a raise? threaten to quit? How many have hindered their company’s network when they quit or were fired?

    by Chris at July 03, 2008 04:57 AM

    Unix Admin Corner

    AIX training in the pitts.

    Leaving for pittsburg pesylvania on monday for AIX training.

    My job wants to send me to corprate office so I can watch/help install AIX and Oracle on a couple boxes, then I get to come back to my office and install AIX and Oracle on 4 more boxes. I guess its going to save them a fortune... AIX consultants cost big bucks and it helps out my resume, since I am only a contractor, I have to think of such things.

    by noreply@blogger.com (jamesd_wi) at July 03, 2008 02:17 AM

    Face book, whoo hoo, a second post in a week

    Okay been hearing a lot of buzz about facebook, so finally got around to join it, who knows it might even make me post more. So if you are on facebook, feel free to add me as a friend


    My Facebook profile

    and if you are on linkedin.com add me as a friend, here is

    my linkedin profile

    by noreply@blogger.com (jamesd_wi) at July 03, 2008 02:13 AM

    Sam Ruby

    authoritative=true

    Eric Lawrence: we’ve provided web-applications with the ability to opt-out of MIME-sniffing. Sending the new authoritative=true attribute on the Content-Type HTTP response header prevents Internet Explorer from MIME-sniffing a response away from the declared content-type

    While I’m not a fan of content-sniffing, one of my few pet peeves with HTML5 is that it endeavors to institutionalize the practice with no provisions for content providers to opt out.  As the lesser of the available evils, I hope Microsoft’s proposal is quickly adopted by other browsers.

    July 03, 2008 01:37 AM

    OReilly Radar

    Radar in Chinese--Crowdsourcing the Translation

    At China Foo Camp last November, we got many requests to translate this blog into Chinese. I'm happy to say that Douglas Wan of our Beijing office has ported Radar to a wiki, where staff and a small corps of volunteer readers (from countries including China, France, and the US) are translating entries into simplified Chinese. If you'd like to help with translation, contact Douglas at radarman@mail.oreilly.com.cn.

    by Sara Winge at July 03, 2008 12:55 AM

    Milek

    RAM->SSD->DISK + ZFS

    Very interesting article written by Adam Leventhal.

    I actually like the idea of L2ARC especially on low-end systems. Imagine a 1U or 2U x86 box with one internal disk being a 143GB SSD used for L2ARC - basically you getting 144GB fast read cache for your MySQL database (or anything else). You probably can't even put that much memory in 1U or 2U system in a first place (not to mention cost).

    Now imagine much larger database. You buy additional entry-level array like Sun's 2540 and you put 12x143GB SSD drives for L2ARC (and at least one for SLOG if required). This gives you about 1,5TB of cache! You can cache relatively large database here.

    Now I like the way L2ARC works - if you unmount ZFS pool and mount it again old L2ARC content will be re-used (thanks to ZFS checksums possible stale data will be detected, skipped and read from disks). What it means is that if you connect your 2540 (or whatever) full of SSD drives to a cluster and you failover your database along with your ZFS pool to another node your 1,5TB of cache will be still warm. So the impact of failover on your database performance can be greatly reduced.

    Of course there are other scenarios and I'm keen to do some testing... :)

    by milek (noreply@blogger.com) at July 03, 2008 12:43 AM

    July 02, 2008

    Ubuntu Geek

    Howto install and configure gDesklets in Ubuntu hardy

    gDesklets is a system for bringing mini programs (desklets), such as weather forecasts, news tickers, system information displays, or music player controls, onto your desktop, where they are sitting there in a symbiotic relationship of eye candy and usefulness. The possibilities are really endless and they are always
    there to serve you whenever you need them, just one key-press away. The system is not restricted to one desktop environment, but currently works on most of the modern Unix desktops (including GNOME, KDE, Xfce).

    (...)
    Read the rest of Howto install and configure gDesklets in Ubuntu hardy (174 words)


    © admin for Ubuntu Geek, 2008. | Permalink | No comment | Add to del.icio.us digg
    Who's linking ? Technorati BlogPulse Google
    Want more on these topics ? Browse the archive of posts filed under General.

    Related Articles

    by admin at July 02, 2008 11:03 PM

    Linux and Open Source

    openSUSE 11.1 Roadmap Released

    With openSUSE 11.0 out the door, it’s time to start thinking about openSUSE 11.1. The public release of openSUSE 11.1 is scheduled for December 18, 2008, six months after the release of openSUSE 11.0. The full schedule for the release cycle is as follows: Thu, Jul 24: openSUSE 11.1 Alpha1 Thu, Aug 21: [...]

    by E@zyVG™ at July 02, 2008 08:39 PM

    Prevent Firefox from Showing Bookmarks in the Address Bar

    As for me, I really like the new feature that address bar has to offer, but others may not and even get frustrated. If you like to stop Firefox 3 from displaying bookmarks in the address bar alongside search history, here are the possible options: Option A: Disable autocomplete drop-down entirely Use this if you don’t want [...]

    by E@zyVG™ at July 02, 2008 08:20 PM

    NVIDIA GeForce 9800GTX Linux Performance

    We’ve been meaning to deliver benchmarks of the NVIDIA GeForce 9800GTX under Linux for some time, but with the recent rollout of the GeForce GTX 200 series, the competition presented by the ATI Radeon HD 4850, and the introduction of the GeForce 9800GTX+, the GeForce 9800GTX is dropping in price and captivating the interest of [...]

    by E@zyVG™ at July 02, 2008 07:12 PM

    ATI Radeon HD 4850 Linux Performance

    While you are likely already familiar with the ATI Radeon 4800 series, it’s the industry’s first TeraFLOPS GPU, the RV770 contains 800 stream processors, and the Radeon 4870 is the first graphics card deploying GDDR5. The Radeon HD 4850 has its RV770 core clocked at 625MHz with 110W power consumption while its big brother, the [...]

    by E@zyVG™ at July 02, 2008 07:00 PM

    OReilly Radar

    From the July NY Tech Meetup

    ny tech meetup.jpgI attended the New York Tech meetup last night with about 400 others in IAC's lobby on West 18th Street. Sort of like an Ignite but without the auto slide advance and proximate cash bar. Seven individuals or teams talked about their projects for five minutes each.

    The lead off talk was from Transclick. Founded by an ex hedge fund manager (hedge fund managers leaving to do tech startups, things that make you go hmmm), Transclick does real time translation among 16 languages for IM, SMS, email for mobile devices. They are also beginning to leverage voice recognition tied to the translation engine. They've been around for a while and pretty widely discussed and feted so no need to add much more here. However, one interesting note came up during the Q+A. When asked about Twitter, Robert Levin, Transclick's CEO, claimed to be in negotiations to add language translation to the micro blogging service. Of course that will be great, as now native speaking spammers from all over the world will be able to follow me with less effort.

    A few other quick mentions...

    Pluribo is using natural language processing to summarize user reviews on Amazon.com. Delivered for now as a Firefox plugin, it analyzes a stream of user comments to find key words that relate to user concerns and automagically create a brief summary. Hovering over the key words in the summary brings up nice visuals that describe overall customer sentiment or issues to pay attention to for the item.

    Daily Lit is either really great or mildly depressing depending on your point of view. Delivering books in bits and pieces via email or RSS, it is designed to fit literature into our harried lives through the channels we are already paying attention to. I can't decide if that is really cool or if it's like occasionally dropping a pearl into a Skinner box. Pellet, pellet, pellet, omg!!, Vronksy shot himself, pellet, pellet, pellet...

    Cause Caller is a great example of the web's generativity in action. Fred Benenson's NYU thesis, it combines Media Wiki, Asterisk, and EC2 so that an individual citizen can describe a cause, link it to the politicians that might most readily influence the outcome, publish a call script, and automate the dialing. The most active cause on the site today is "say no to Telecom Immunity."

    If you'd like to take a look at the rest of the projects that presented, they are Wakozi (a NYC-based delivery service), Cloudsmith (a cloud-spanning distro mapper), and Independence Year ("a workflow engine for taking the country back").

    by Jim Stogdill at July 02, 2008 05:31 PM

    Geeking with Greg

    Hadoop and scheduling

    A VLDB 2008 paper out of Yahoo Research, "Scheduling Shared Scans of Large Data Files" (PDF) looks at how "to maximize the overall rate of processing ... by sharing scans of the same file ... [in] Map-Reduce systems [like Hadoop]".

    I felt the model used for simulations in the paper was a bit questionable -- seems to me the emphasis should be on newer data being accessed by many jobs simultaneously, most often by smaller jobs -- but the specifics of the solution probably are of less interest than the paper's general discussion of scheduling issues that come up as a large Hadoop cluster is put under load from many users.

    Please see also my earlier post, "Hadoop summit notes", especially the problems with scheduling using Hadoop on Demand (which makes a cluster look like multiple virtual clusters) and the idea of sharing intermediate results (such as sorted extracts) from previous jobs on the cluster.

    by noreply@blogger.com (Greg Linden) at July 02, 2008 04:27 PM

    Linux and Open Source

    10 Best Hacking and Security Software Tools for Linux

    Linux is a hacker’s dream computer operating system. It supports tons of tools and utilities for cracking passwords, scanning network vulnerabilities, and detecting possible intrusions. I have here a collection of 10 of the best hacking and security software tools for Linux. Please always keep in mind that these tools are not meant to harm, [...]

    by E@zyVG™ at July 02, 2008 03:27 PM

    Geeking with Greg

    Amazon page recommendations

    Brady Forrest at O'Reilly Radar points out Amazon's new page recommendation widget in his post, "Amazon's Page Recommender: Foreshadowing A New Web Service?"

    Put the widget on your website and, for any page it is on, Amazon can learn what people visit that page, where they go on your site, and then, from those behavior patterns, generate recommendations on where people might want to go from each page.

    It could, for example, be used on a news website to generate news recommendations or, on a shopping site, to recommend products.

    It is an interesting move by Amazon, a step toward Aggregate Knowledge and others that offer recommendations as a web service.

    by noreply@blogger.com (Greg Linden) at July 02, 2008 04:23 PM

    Microsoft, big computation, and big data

    In his post, "Inside Microsoft's Internet Infrastructure & Its Plans for the Future", Om Malik highlights some interesting "facts about Microsoft-owned data centers":
    [Microsoft is] adding 10,000 servers a month

    Network backbone ... soon ... [will be] 500 Gigabits.

    Data in the near future will soon approach 100s of petabytes.
    All the computation you could want and all the data you can eat. Perhaps now it makes more sense why I am at Microsoft?

    Please see also my April 2006 post, "Microsoft is building a Google cluster".

    by noreply@blogger.com (Greg Linden) at July 02, 2008 04:21 PM

    Website personas

    Netflix has a feature called Profiles that allows multiple people to use the same Netflix account while keeping their queue and recommendations separate.

    Recently, they attempted ([1] [2]) to remove the feature because "too many members found the feature difficult to understand and cumbersome, having to consistently log in and out of the website."

    It's an interesting example how difficult it is to allow people to maintain multiple personas on a website. At Amazon, the second biggest complaint about the recommendations, next to recommending items already bought from a different store, was that sharing an account or buying a gift for someone that was not marked as a gift would end up mixing up recommendations for multiple people together.

    But, the problem is that there is no easy and convenient way to provide multiple personas. Power users might be able to login and logout of different accounts, but most people don't understand or want to bother with that.

    Hard problem. It's not clear to me what the solution might be.

    by noreply@blogger.com (Greg Linden) at July 02, 2008 04:19 PM

    John Resig

    jQuery Plugins, Size, and Storage

    There is no such thing as a JavaScript plugin contends James Coglan. I completely agree that there are no, specific, techniques within the JavaScript language that make "plugins" possible (such as the ability to namespace code and import it, or some such).

    HOWEVER - I will contend that such a thing as plugins exist and are logically distinct from "random JavaScript code that manipulates other JavaScript code" as long as the following points are met:

    1. There have to be explicit points upon which a plugin can attach. James notes the most common one in jQuery (jQuery.fn) but we have tons more - events, animations, selectors - all over the board for developers to snap in to.
    2. Even more importantly: Those points have to be documented or, at the very least, be under some sort of agreement that they will be treated like a normal piece of the user-facing API. In jQuery we treat all plugin extension points as "user-facing API" and only ever change them in major releases (if at all) and always provide an alternative for authors to use.
    3. Finally, there has to be some sort of repository for navigating these plugins. This is a huge differentiator. Simply referring to "code in the wild" as plugins doesn't really cut it if there's no commitment to hosting them and keeping their documentation and examples alive.

    We take our plugin architecture very seriously in the jQuery project and are constantly looking for ways to improve (looking at plugins, reading their code, seeing what we can provide to make their lives easier).


    Alex Russell of Dojo recently built a sleek 6kb version of Dojo - presumably for use on mobile platforms. He states in his post that:

    Even so-called “lightweight” libraries like jQuery are far too heavy for some environments…not because they (like Dojo) pull in all the code needed to use them, but because they do it all up-front. Often the best time to pay the expense of loading, parsing, and executing JavaScript code is when the user takes an action that needs the enhancement to run.

    The way it's worded you would assume that you were paying a large, up-front, cost to using jQuery when, in fact, there is very little overhead. jQuery has been shown to be the fastest loading JavaScript library for non-cached code and considerably fast for cached code.

    Arguably a mini-Dojo would be able to provide an extra edge in this respect - however any gains that you would make up-front (which would be minimal - mini-Dojo is only about half the size of jQuery, as it stands) would have to contend with any future overhead incurred by loading additional components at a later time.

    I frequently queue up long pages to read on my iPhone while I travel the subway system here in Boston and I think I'd be quite upset if I got halfway through a page, clicked a hide/show link, and found out that the action wasn't able to work since the requisite functionality hadn't been loaded yet.

    There is a cost to loading "all" of jQuery up front, absolutely - however there are numerous benefits: It's highly cacheable, you never have to worry about what you do/don't have loaded, the API, documentation, tutorials, and examples are all dramatically simpler since you never have to worry about having extra components or making sure that they're being included correctly.

    And, as always, if you're particularly excited about breaking jQuery down into little chunks you can grab the individual pieces from SVN and build a custom copy.


    I was out of town when it happened but the release of the Google Ajax Library CDN (which includes the current release of jQuery) was incredibly cool. I've had a few requests from users wondering how this release came about. While I can't speak for the other projects, I can, at least, speak for what happened with jQuery.

    Dion and I had been discussing solutions for providing better hosting solutions to JavaScript libraries for a long time (at least a year or two). Progress kept getting stalled at different points but persevered and got the release up at Google. I'm really glad to see this come about and I'm sure that jQuery users will certainly appreciate this release.

    I have a couple points of concern with the release, namely:

    • How do we push a new release out? Currently we have to contact the guys at Google to get it pushed through - a way to automate this and do it programatically would be greatly appreciated (we could integrate it right into our release scripts).
    • How do new pieces of code get added? There's no way for other projects to get added to the repository - some sort of process for joining would be ideal.
    • SSL? Having an SSL-based CDN would be very useful, as well. However I suspect that if a site is going so far as to have SSL on their pages then they're probably not pulling their source code from an external site.

    Other than that, though, I'm quite pleased with the release. The more that people pull from there the faster it'll be for everyone who uses JavaScript libraries (cutting away that initial download time).

    by John Resig at July 02, 2008 03:02 PM

    Linux Screw

    Quick copy/paste MySQL Replication Manual

    This quick manual tells how to set up database replication in MySQL. Basically it was written for 5.* MySQL versions but is also applicable for 3.23/4.0 ones (btw they are still in use, believe me).

    As you might already know, replication allows you to create a copy of certain MySQL database from a master server on another server (slave). What is the most important, all updates made to that database on master server will be replicated to the database on the slave server immediately, so that both databases are synchronized almost in real time mode (if you need completely real-time synchronization/mirroring, the only solution is to deploy MySQL cluster).

    One of the main issues is that replication features coming out-of-the-box with Open Source MySQL software don't provide full back/forward compatibility. This means that you can easily replicate data from master and slave of the same MySQL versions only e.g. 5.0. But if you like to replicate database from 5.0 master to 4.0 slave (or from 3.23 master to 5.0 slave), it is not possible in most cases.

    From the beginning we have two Linux boxes with MySQL installed (5.0.27 version in my example), server has database reptest we need to replicate to slave.

    A. Configure Master:

    Configure MySQL to accept incoming connections from another hosts in the network. In order to do it, comment the following lines in /etc/my.cnf (exact location depends on Linux distribution you use) as follows:

    #skip-networking
    #bind-address=127.0.0.1

    and restart MySQL by "/etc/init.d/mysql restart" or "mysqladmin reload" command. Make sure that slave can access master’s MySQL via network (e.g. execute on slave "telnet <server_ip> 3306").

    The next step is to configure master to log all database changes into binary log that will be used by slave for replicating, add the following lines to /etc/my.cnf in [mysqld] section:

    log_bin = mysql-bin
    binlog-do-db=reptest
    server-id=1

    Then restart MySQL and log on to its shell with root rights:

    /etc/init.d/mysql restart
    mysql -u root -p
    Enter password:

    Type in MySQL shell the following commands:

    GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'slave_password';
    FLUSH PRIVILEGES;

    Note: If you use 4.0 MySQL or older, you need to replace REPLICATION SLAVE in above line to FILE, so the lines will look like:

    GRANT FILE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'slave_password';
    FLUSH PRIVILEGES;

    The next commands are:

    USE reptest;
    FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;

    The last command should provide the following output we will use later on slave server:

    mysql> SHOW MASTER STATUS;
    +---------------+----------+-----------------+------------------+
    | File          | Position | Binlog_do_db    | Binlog_ignore_db |
    +---------------+----------+-----------------+------------------+
    | mysql-bin.001 |   73     | reptest         |                  |
    +---------------+----------+-----------------+------------------+
    1 row in set (0.00 sec)

    Now quit from MySQL shell as we need to prepare current dump of reptest database: quit.

    Now, run from shell "mysqldump -u root -p --opt reptest > reptest.sql" and transfer reptest.sql file to slave server.

    2. Configure Slave:

    Create reptest database:

    mysqladmin create reptest

    and apply previously created/transfered dump to it via command:

    mysql -u root -p reptest < /path/to/reptest.sql

    Now edit /etc/my.cnf on slave and add the following lines to [mysqld] section:

    server-id=2
    master-host=192.168.0.1
    master-user=slave_user
    master-password=slave_password
    master-connect-retry=60
    replicate-do-db=reptest

    where 192.168.0.1 is IP address of the server and server-id is unique ID assigned to slave Linux box.

    Now restart MySQL with /etc/init.d/mysql restart and log on MySQL shell:

    mysql -u root -p reptest
    Enter password:

    The next step is to apply changes saved in binary log on server:

    SLAVE STOP;
    CHANGE MASTER TO MASTER_HOST='192.168.0.1', MASTER_USER='slave_user', MASTER_PASSWORD='slave_password', MASTER_LOG_FILE='mysql-bin.001', MASTER_LOG_POS=73;
    SLAVE START;

    Now whenever reptest is updated on the master, all changes will be replicated to reptest on the slave.

    Here are useful links you can use to get more information about MySQL replication and how to configure it:

    http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html
    http://www.howtoforge.com/mysql_database_replication
    http://www.onlamp.com/pub/a/onlamp/2005/06/16/MySQLian.html


    Related Posts


    by artiomix at July 02, 2008 02:33 PM

    John Resig

    eval() Kerfuffle

    Last week it came out that, in Firefox (and other Gecko-based browsers) you could dip into the private scope of a function using eval, like so:

    // Getting "private" variables
    var obj = (function() {
      var a = 21;
      return {
        // public function must reference 'a'
        fn: function() {a;}
      };
    })();

    var foo;
    eval('foo=a', obj.fn);
    console.log(foo); // 21
     

    I think the common response to seeing the above was something like: WUH!?!?

    As can be seen in the ensuing discussions.

    Perhaps more interestingly is the dig in to try and figure out how on earth this feature made it in to the language to being with. Brendan Eich provides some insight:

    3.2 <fur> 1998-04-23 17:30: Initial checkin of JavaScript 1.3, migrated from JSFUN13_BRANCH in /m/ src repository

    This eval extension, if memory serves (I was in mozilla.org at the time, not in the JS group at Netscape) originated in conversations with Microsoft's rep during ECMA-262 standardization, trying to reach agreement on a way to eval in other scopes.

    At this point, however, it's pretty safe to say that since so few people know about it, and that (hopefully) there are no important sites relying upon its behavior, it can be stricken from the record.

    Which it has been.

    It's been a crazy ride but you can expect to see this feature gone in Firefox 3.1 (the next release of Firefox, set to debut this year).

    by John Resig at July 02, 2008 02:09 PM

    Linux and Open Source

    Xandros Acquires Linspire And Interview With CEO

    Xandros, Inc., the leading provider of custom OEM Linux solutions, next-generation Linux desktop and server products, and advanced cross-platform Windows-Linux management tools, today announced the acquisition of Linspire, developer of the CNR software distribution facility, and the Linspire and Freespire Linux desktop operating systems. The combination of the technologies, expertise, and market presence of the [...]

    by E@zyVG™ at July 02, 2008 01:49 PM

    Cheap hack

    Tip: Does Your Server Really Need a Recycle Bin?

    This is obvious when you think about it. What might you do, operating on the server itself, for which you need a recycle bin? In fact, for some, like Terminal Servers, you might need them, but not on others like a Web server. In the meantime, it turns out to be a potential liability there. Thanks to The Elder Geek, by way of the SBS Diva blog (read this one for better details), for pointing this out. Susan, the SBS Diva, recently had a server compromise, and it turns out that the attackers used her Web server's recycle bin as a video repository. Why? Because it's hidden. Removing the recycle bin won't stop someone from compromising your server, but it will take away one place they can hide once they get in there, so you might discover the breach sooner. And if you don't delete it, at least cut it down in size from the default 10 percent of space, which is far too big for a server, and probably for most client desktops.

    July 02, 2008 01:43 PM

    Google Blog

    Wrapup: Google Developer Days and Google I/O



    May and June were exciting months for our developer team. Not only is it the start of summer in the Bay Area, but also the start of Google I/O and Google Developer Days around the world. Many of the team dispersed to various parts of the globe to meet with developers. Here's a quick recap of where we've been, and where we're heading.

    San Francisco, May 28-29
    We started the summer with Google I/O. This two-day conference was our biggest developer gathering to date. While we'd love for every single software developer to come to these events, we realize that isn't possible. So we've recorded as many of the sessions as we could and made them available online. We've posted videos and presentations more than 70 sessions for you to view.

    Yokohama, June 10
    Shortly after Google I/O, we kicked off our 2008 Google Developer Days. The first stop was Yokohama, Japan. Andy Rubin and Takuya Oikawa started the day before 1100 developers, highlighting the Android user interface, the Earth API's 3D graphics, and announcing Japan's new Google Developer API Expert program. Videos and sessions are now available.

    Beijing, June 12
    Two days later, Marissa Mayer and Kai-Fu Lee opened Developer Day in Beijing for more than 2,000 developers, highlighting the effort between Google and local developer communities to collectively make the web better as a platform. Notably, we welcomed several new Chinese networks to the OpenSocial community, including 51.com, 51wan.com, Douban.com, Hainei.com, Tianji.com, Xiaonei.com, and YiQi.com. These networks join a few others that have already launched in China, including MySpace.cn and Tianya.cn, as well as CityIN.com, which has shipped a sandbox for developers. Beijing videos and sessions are here.

    Taipei, June 14
    Next on the schedule was Taipei's first Google Developer Day, with 900 developers. In the developer showcase, we invited three developers to demonstrate web applications they'd built using Google APIs: Wei-chih Chiang, a student of Yi Shou University and his Photo Note site, Jun-Chieh Huang, founder of ischool, a website that integrates Google services for elementary and high schools in Taiwan, and FunP, a social website integrating OpenSocial features. Here are the Taipei videos and sessions.

    Sydney, June 18
    Rounding out the Asia-Pacific Developer Days was an intimate group of 450 developers in Sydney right by scenic Darling Harbor. In addition to folks from Google, we were excited to have Daniel Reyes, Head of Engineering from MySpace AU, stop by to share his team's work with Gears. Also of note were six local developers who showcased their app at our speedgeeking contest: contest winners Casey and Dan Russell of CleanCruising, Nick Lothian of Scootle, Ken Hoetmer of Quikmaps, Tom Horn of the Patrick O'Brien Mapping Project, Tak Tran with the Collaborative Autobiography site, and Tim Savage with the SEQ Brisbane Water Levels gadget.

    Mexico City, June 23
    John Farrell and Alfonso Luna opened our first Developer Day in Mexico City. 500 enthusiastic developers joined us from all over Central and South America, with a crowd of them gathering as early as 6am, well ahead of the 9am start time. Check out sessions.

    Sao Paulo, June 27
    Alexandre Hohagen and Paulo Golgher welcomed 750 developers to Developer Day in Sao Paulo, the largest event in Google Brazil's history. The crowd was especially excited to hear Eduardo Thuler's announcement of orkut's upcoming support of OpenSocial in Brazil.

    Our Developer Days don't stop there, though. After a summer break, look for the team to hit the road again, including a new date in Bangalore.
    • September 16 - London, England
    • September 18 - Paris, France
    • September 23 - Munich, Germany
    • September 25 - Madrid, Spain
    • October 11 - Bangalore, India
    • October 21 - Milan, Italy
    • October 24 - Prague, Czech Republic
    • October 28 - Moscow, Russia
    Stay tuned for registration details for these Developer Days.

    by Karen (noreply@blogger.com) at July 02, 2008 02:36 PM

    Giri Mandalika

    Manual installation Steps for PHP on Windows Vista

    These are the steps for manual installation of PHP version 5.2.6 with Apache HTTP server version 2.2.9 on windows Vista.

    Download Apache HTTP Server from the following link.
    http://httpd.apache.org/

    Step 1:

    Download the latest zip package of Windows Binaries from the following link.
    http://www.php.net/downloads.php

    Step 2:

    Extract the zip binary package into C:\php folder.

    Step 3:

    Add the PHP directory to the PATH as follows.
    click start -> settings -> control panel -> System.
    click on Advanced system settings (appears on left side of the window)
    click on the 'Environment Variables' button
    scroll down to find 'Path' in the System variables pane.
    Double click on the 'Path' and add ;C:\php at the end and click on the ok button.
    Restart the system.

    Step 4:

    In the php folder look for the file 'php.ini-recommended' and rename the file as 'php.ini'.
    Copy the 'php.ini' file into 'C:\windows' folder.
    Rename the 'php.ini' file in 'C:\php' folder to 'php-activescript.ini'.

    Step 5:

    Download 'php5activescript.dll' from the following link.
    http://pecl4win.php.net/list.php

    place the DLL in 'C:\php' folder.
    Register the DLL as follows.
    Click on the Start -> Programs -> Accessories -> Command Prompt.
    In the Command Prompt window go to 'C:\php' and type regsvr32 php5activescript.dll

    Step 6:

    Changes to be made to httpd.conf file of Apache:

    Look for 'httpd.conf' file in the folder chosen for installation of Apache software.
    (By default the file may be located in C:\program Files folder.)

    Add the following line in the LoadModule segment of the conf file.

    LoadModule php5_module c:\php\php5apache2_2.dll

    Add the following line in the segment of the conf file

    AddType application/x-httpd-php .php

    save the changes and close the conf file.

    Step 7:

    Restart the Apache server.

    Reference : PHP Installation Guide.

    ___________
    Technorati Tags:


    by Harisha Nelapatla (noreply@blogger.com) at July 02, 2008 02:33 PM

    Simplehelp

    How to increase the number of tabs Firefox displays

    Firefox

    One of my (very few) frustrations with Firefox is that by default, you can only open a handful of tabs before you have to use the scroll button to access them. Using this quick about:config change you can alter the size (width) of your Firefox tabs, allowing for more to display before you have to start scrolling.

    1. Start by entering about:config in the address bar. If you’re using Firefox 3, click the I’ll be careful, I promise! button

    2. click to enlarge

    3. In the Filter: section, enter browser.tabs.tabMinWidth
    4. The browser.tabs.tabMinWidth entry should now appear. Double-click it.
    5. The default value is 100 (pixels). Change it to a lower number (60 works well for me) and then click OK.
    6. Confirm that the Value changed to 60 (or whatever number you entered).
    7. Restart Firefox. Now you can open more tabs before the scroll button appears and you have to scroll to access tabs. As you open more and more tabs their width will shrink, down to 60 pixels (again, assuming you used 60).

    ---
    Related Articles at Simple Help:


    by Ross McKillop at July 02, 2008 01:00 PM

    Blog o Matty

    /proc/cpuinfo CPU flags?

    Ever wonder what those CPU flags meant when looking at /proc/cpuinfo? Check out cpufeature.h under /usr/src/kernels/<kernel>/include/ It’ll give you a basic description of what you’re looking at. $ pwd /usr/src/kernels/2.6.18-92.el5-i686/include $ find . -name cpufeature.h ./asm-i386/cpufeature.h $ grep flags /proc/cpuinfo flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht [...]

    by mike at July 02, 2008 12:37 PM

    Debian Admin

    WebDAV Configuration With Apache2 On Debian Etch

    Web-based Distributed Authoring and Versioning, or WebDAV, is a set of extensions to the Hypertext Transfer Protocol (HTTP) which allows users to collaboratively edit and manage files on remote World Wide Web servers. The group of developers responsible for these extensions was also known by the same name and was a working group of the Internet Engineering Task Force (IETF).

    (...)
    Read the rest of WebDAV Configuration With Apache2 On Debian Etch (393 words)


    © Admin for Debian Admin, 2008. | Permalink |