Planet Sysadmin               

          blogs for sysadmins, chosen by sysadmins...
(Click here for multi-language)

September 03, 2010

Linux Poison

What does Ubuntu means?

Ubuntu is a South African ethical ideology focusing on people's allegiances and relations with each other. The word comes from the Zulu and Xhosa languages. Ubuntu is seen as a traditional African concept, is regarded as one of the founding principles of the new republic of South Africa and is connected to the idea of an African Renaissance. A rough translation of the principle of Ubuntu is "

by Nikesh Jauhari (njauhari@cybage.com) at September 03, 2010 04:27 PM

Year in the Life of a BSD Guru

Presentation for Ohio LinuxFest

My presentation "PC-BSD: An Easy to Use BSD Desktop" for next week's OLF is available on slideshare. If you're in the Columbus, OH area, drop by the BSD booth to pick up a free DVD of PC-BSD 8.1 and chat about all things BSD. Also, consider supporting BSD Certification by taking the BSDA exam at this event.

September 03, 2010 11:57 AM

BSD Professional Certification Requirements Published

If I've been quiet lately it's because I was burning the midnight oil participating in the final technical and grammatical review for the BSD Professional Certification Requirements document. The document was published late Tuesday night and is a thing of beauty. From the announcement:

September 03, 2010 10:55 AM

Google Webmasters

New ways to view Webmaster Tools messages

Webmaster Level: All

Now there’s a new way to see just the messages for a specific site. A new Messages feature will appear on all site pages. The feature is just like the Message Center on the home page, except it‘ll show only messages for the currently selected site. This gives you more freedom to choose how you want to view your messages: either for all your sites or for just one site at a time.


Alerts (formally known as SiteNotice messages) will now be more prominent in the Message Center. These messages tell you about significant changes we’ve noticed related to your site which may indicate serious problems. For instance, alerts may warn you about an increase in crawl errors, an increase in 404 errors, or about possible outages. With their newfound prominence comes a new name: what used to be “SiteNotice messages” will now simply be known as “alerts.”

Messages containing alerts will be marked with an icon to make them quickly distinguishable from other messages. Each site’s Dashboard will display a notification whenever the site has unread alerts. The Dashboard notification will lead to the new site Message Center with a filter enabled to show only alerts for the current site.


You can also enable the alerts filter yourself. On the home page, enabling the alerts filter across all your sites is a great way to see alerts you may have missed and may help you find problems common across multiple sites. Even with these changes we recommend you use the email forwarding feature to receive these important alerts without having to visit Webmaster Tools.

We hope these new features make it easier to manage your messages. If you have any questions, please post them in our Webmaster Help Forum or leave your comments below.

by Jonathan Simon (noreply@blogger.com) at September 03, 2010 11:17 AM

Google Blog

Trimming our privacy policies

Long, complicated and lawyerly—that's what most people think about privacy policies, and for good reason. Even taking into account that they’re legal documents, most privacy policies are still too hard to understand.

So we’re simplifying and updating Google’s privacy policies. To be clear, we aren’t changing any of our privacy practices; we want to make our policies more transparent and understandable. As a first step, we’re making two types of improvements:
  1. Most of our products and services are covered by our main Google Privacy Policy. Some, however, also have their own supplementary individual policies. Since there is a lot of repetition, we are deleting 12 of these product-specific policies. These changes are also in line with the way information is used between certain products—for example, since contacts are shared between services like Gmail, Talk, Calendar and Docs, it makes sense for those services to be governed by one privacy policy as well.
  2. We’re also simplifying our main Google Privacy Policy to make it more user-friendly by cutting down the parts that are redundant and rewriting the more legalistic bits so people can understand them more easily. For example, we’re deleting a sentence that reads, “The affiliated sites through which our services are offered may have different privacy practices and we encourage you to read their privacy policies,” since it seems obvious that sites not owned by Google might have their own privacy policies.
In addition, we’re adding:
  • More content to some of our product Help Centers so people will be able to find information about protecting their privacy more easily; and
  • A new privacy tools page to the Google Privacy Center. This will mean that our most popular privacy tools are now all in one place.
These privacy policy updates will take effect in a month, on October 3. You can see the new main Google Privacy Policy here, and if you have questions this FAQ should be helpful.

Our updated privacy policies still might not be your top choice for beach reading (I am, after all, still a lawyer), but hopefully you’ll find the improvements to be a step in the right direction.

by A Googler (noreply@blogger.com) at September 03, 2010 10:00 AM

Ubuntu Geek

The Daily ACK

Science Online London 2010

So this weekend I'm attending Science Online London at the British Library. A two day conference aimed at exploring how the web is changing the way we conduct, communicate, share, and evaluate research.


Tonight I managed to just miss out on the pre-conference pub crawl. My train pulled into London about the same time as the crawl was scheduled to roll out of the Cittie of York and onto the Ye Olde Mitre. Since the Mitre is notorious as being "London's most hidden pub" I decided that I'd probably shouldn't try and find even a relatively large crowd of drunk(en) science bloggers under my own steam at that point...

However as well as the first day of the conference proper, tomorrow night is the Frivolous Rooftop Debate hosted by Mendeley at their office in Clerkenwell. From the accounts of last year's event I'm really looking forward to it, and I'm hoping for a vaguely Foo-like experience from the un-conference programme...

...if you can't be there Science 3.0 is live-casting the event and of course you can follow along on Twitter, the hashtag for the event is #solo10.


by Al. (noreply@blogger.com) at September 03, 2010 07:54 AM

Chris Siebenmann

Finally understanding the attraction of AJAX

Finally understanding the attraction of AJAX

I'll admit it; I'm slow sometimes. For a very long time now I haven't really gotten why people keep sprinkling AJAX over their web pages (partly because I assiduously use NoScript and so mostly don't see it). Oh, I understood that you needed it to create actual applications on the web and that it could be convenient for making vaguely friendly things, but I didn't really understand it in the context of relatively ordinary web apps like DWiki.

But my recent thinking about my comment form design mistake has finally fixed that. Here is my recent insight in a nutshell:

AJAX lets you do things without page changes and refreshes, so you can preserve the user's context on the page and make them less confused.

In a conventional non-AJAX web interface, any significant action forces a (full) page reload. This creates a visible page refresh except in extremely ideal circumstances and in general means that the user has to find their place again and reorient themselves. This is sort of tolerable if what the user is working on fits entirely inside their browser window; it's fairly horrible if it doesn't and they have to actively scroll around to find where they were before. This is the core problem I have with a revision to my comment form design; I'm pretty sure that people would get lost among everything else going on.

(The ideal circumstances are that you're using fragment identifiers in the URL, the browser accurately repositions things back at the fragment identifier, and the entire system loads the new page so fast that there is no visible flicker.)

In an AJAX web interface the user can perform actions without this lurching jump. For example, when they click on 'add comments', they don't get yanked to a new page; instead, a comment form unfolds right then and there in front of them. This is less confusing in two ways. First, it is happening right in front of you, clearly visible. Second, it is the only thing that is happening; you don't have to pick out the significant change from all of the other flickering and movement and so on that's going on as the page reloads.

This creates a more fluid, less disorienting interface, one that is easier and faster to work with because you spend more time doing what you're interested in and less time finding your place again every so often. In a sense, the result is much closer to a direct manipulation interface than a standard, non-AJAX web page can manage.

I don't think that there's any way to pull this off without AJAX; you really need some way to do a partial page content update without anything else flickering or moving. That's just not something that browsers offer (you don't even get it on plain user-initiated page refresh).

(I suspect that this is old hat for people in the field, but all of it only clicked for me when I started really thinking over the problem of people getting lost in my comment form under various circumstances, cf TemplateLimitations.)

PS: looking backwards, this makes me slightly more sympathetic to old HTML frames. Although they were almost never used this way, you can argue that they were a crude first attempt at the sort of limited page update you'd need to pull this off.

by cks at September 03, 2010 05:12 AM

Ubuntu Geek

Ubuntu 10.10 Beta (Maverick Meerkat) Released and Download links included


The Ubuntu developers are moving quickly to bring you the absolute latest and greatest software the Open Source community has to offer. The Maverick Meerkat Beta is the beta release of Ubuntu 10.10, bringing with it new features for the next version of Ubuntu.

This is a beta release. Do not install it on production machines. The final stable version will be released on October 10, 2010.

(...)
Read the rest of Ubuntu 10.10 Beta (Maverick Meerkat) Released and Download links included (1,182 words)


© admin for Ubuntu Geek, 2010. | Permalink | No comment | Add to del.icio.us
Post tags: , , ,

Related Articles

by admin at September 03, 2010 04:49 AM

Ben Rockwood

Devops Days Silicon Valley: What You Missed

All the panels from the Silicon Valley DevOps Days are now online. A huge round of applause for InfoQ for putting this entire event online and making it available to the world.

If you want a glimpse into the next 10 years of system administration as a career path, you need to get up to speed now so it doesn't take you by surprise in the coming years.

by benr at September 03, 2010 04:06 AM

September 02, 2010

Ubuntu Geek

TaoSecurity

The Inside Scoop on DoD Thinking

I wanted to help put some of you in the mindset of a DoD person when reading recent news, namely Defense official discloses cyberattack and Pentagon considers preemptive strikes as part of cyber-defense strategy, both by Washington Post reporter Ellen Nakashima. I'll assume you read both articles and the references.

Deputy Defense Secretary Lynn's article (covered by the first Post story) is significant, perhaps for reasons that aren't obvious. First, when I wore the uniform, the fact that a classified system suffered a compromise was itself classified. To this day I cannot say if a classified system I used ever suffered a compromise of any kind. Readers might be kind enough to say if this policy is still in effect today. So, to publicly admit such a widespread event -- one that affected classified systems -- that is a big deal.

Second, Lynn said "this previously classified incident was the most significant breach of U.S. military computers ever." That is significant. It sets a bar against which other incidents can be measured. Why was it so bad?

Adversaries have acquired thousands of files from U.S. networks and from the networks of U.S. allies and industry partners, including weapons blueprints, operational plans, and surveillance data.

That's serious, and specific.

Third, after citing Google's January admission, Lynn says:

Although the threat to intellectual property is less dramatic than the threat to critical national infrastructure, it may be the most significant cyberthreat that the United States will face over the long term.

Every year, an amount of intellectual property many times larger than all the intellectual property contained in the Library of Congress is stolen from networks maintained by U.S. businesses, universities, and government agencies.

As military strength ultimately depends on economic vitality, sustained intellectual property losses could erode both the United States' military effectiveness and its competitiveness in the global economy.


I interpret this as saying cyberwar is hurting the US specifically because non-military targets are being hit, repeatedly and persistently.

Finally, I'd like to provide a counterpoint regarding the second Post article. Other pundits are calling DoD's potential offensive strategy "beyond stupid." I'd like to know what's stupid: more of the same failed vulnerability-centric policies and approaches of the last, what, 10, 15, 20 years, or taking a threat-centric approach to apply pressure on the adversary? I also wrote about this in 2007, like some other pundits. In the three years since, playing defense hasn't helped much. Expect more on offensive options in the coming years, in all sectors -- not just the military.

by Richard Bejtlich (noreply@blogger.com) at September 02, 2010 11:40 PM

Review of Hacking Exposed: Wireless, 2nd Ed Posted

Amazon.com just posted my five star review of Hacking Exposed: Wireless, 2nd Ed by Johnny Cache, Joshua Wright and Vincent Liu. From the review:

I reviewed the first edition of Hacking Exposed: Wireless (HEW) in May 2007, and offered four stars. Three years later I can confidently say that Hacking Exposed: Wireless, 2nd Ed (HEW2) is a solid five star book. After reading my 2007 review, I believe the authors took my suggestions seriously, and those of other reviewers, and produced HEW2, the best book on wireless security available. If you want to understand wireless -- and not just 802.11, but also Bluetooth, ZigBee, and DECT -- HEW2 is the book for you.

I forgot to mention in my review that this new edition appears to be a substantial rewrite, not a minor editing of old chapters! I didn't do a chapter-by-chapter comparison. I did read the whole book, which the publisher provided as a review copy.

by Richard Bejtlich (noreply@blogger.com) at September 02, 2010 06:28 PM

Google Webmasters

Rich snippets: testing tool improvements, breadcrumbs, and events

Webmaster Level: All

Since the initial roll-out of rich snippets in 2009, webmasters have shown a great deal of interest in adding markup to their web pages to improve their listings in search results. When webmasters add markup using microdata, microformats, or RDFa, Google is able to understand the content on web pages and show search result snippets that better convey the information on the page. Thanks to steady adoption by webmasters, we now see more than twice as many searches with rich snippets in the results in the US, and a four-fold increase globally, compared to one year ago. Here are three recent product updates.

Testing tool improvements

Despite the healthy adoption rate by webmasters so far, implementing the rich snippets markup correctly can still be a major challenge. To help address this, we’ve added new error messages to the rich snippets testing tool to help you better identify and fix any problems with the markup.


If you’ve added markup in the past but haven’t seen rich snippets appear for your site, we encourage you to take a few minutes to try testing the markup again on the updated testing tool.

Rich snippets markup for breadcrumbs

Last year, Google announced a modification to search results to begin showing site hierarchies (typically referred to as "breadcrumbs") rather than standard URLs in cases where it helped users to better understand a website:


We are now adding support for a Breadcrumbs markup format that allows webmasters to explicitly identify the breadcrumb hierarchy on their pages.

If the breadcrumbs UI is already showing for your site, we'll continue to show it even if you don't do the markup, so don't worry about any existing UI disappearing. Note that this new format is experimental. Based on feedback and on other available standards, this format may be modified or replaced in the future. As with other rich snippet types, while markup helps us to better understand the content on your site, it does not guarantee that the breadcrumbs UI will be shown for your web pages in search results.

Events

In January, we added support for rich snippets for events. If a web page containing events listings showed up in search results, up to three links to specific events could be shown in the search result snippet.

This works well for general queries like [concerts in seattle], but we also wanted to improve the search experience when searching for a specific event. We will now show rich snippets when pages containing a single event show up in search results. Single event rich snippets now contain the date and location of the event:


For instructions on adding events markup, refer to the events page in the rich snippets documentation.

by Maile Ohye (noreply@blogger.com) at September 02, 2010 05:58 PM

Standalone Sysadmin

Intermittent Problems Suck (your time)

For the past few days, our NYC office has had incredibly irritating problems with the internet connection. We’ve got service through a local Metro-E provider, but they’re a CLEC, which means they don’t own the lines, they just lease them from the ILEC, who is in this case, Verizon.

The root of the issue is that the wiring at the building we’re in is crap. It’s a small 5 story building that used to be apartments and has been converted to offices, and the wiring is just not up for the job. We went through several pairs of copper pairs looking for one that was good enough to carry the metro-E signal, and it was all we could do. Before metro-E, we had DSL, where we capped out at just over 1Mb/s…and this is in Manhattan.

Unfortunately, the circuit is currently in the middle of dying, so it’s working sometimes and failing others. I first opened this ticket on Monday, and have exchanged emails with our provider a dozen times or so. They’ll see the issue, but symptoms are vague as to whether it’s their equipment, our equipment, or the line running between our equipment, or (what I’m fairly sure the problem is), the lines entering the building from Verizon.

It wasn’t until last night when they finally saw enough errors on the bridge to have Verizon to commit to a service call tomorrow evening to add a loop. Every other time, everything on the line was hunky-dory. This is why intermittent problems take so long to solve…because all the stake holders have to be monitoring at exactly the right time for anything to get done.

Meanwhile, I’ve been having to apologize to my users, and give them instructions on how to forward their desk phones to their cells.

Even though the problem isn’t actually with my provider, I would love to get a secondary network connection, because the lines here are just too unreliable. No cable companies will give us service, no fiber companies will touch the building…it’s pretty much just Verizon and their CLECs at this point.

I think we’ve only got 2 more years on the lease?


by Matt Simmons at September 02, 2010 03:51 PM

SysAdmin1138

Times change, alas

Right now we're giving serious consideration to using folder mount-points in Windows in order to solve a specific storage problem. The one thing that make me go, "oh, please, no," is the fact that the disk-space monitoring script I've been using for years, the one that also monitors NetWare, Windows and ESX, can't handle folder-mounts. Why? Because the Windows SNMP agent doesn't give any information about folder-mounts, just drive-letter mounts.

SNMP was very nice since I didn't have to use Windows to get the information I needed. However, Microsoft hasn't been really paying attention to SNMP in recent versions so I am not at all surprised to learn that this hasn't been put in place. Or if it is, they're using a MIB I don't know about.

I suspect I'll have to carve my script up in twain, into Windows and non-Windows variants. That way I can continue to keep data in this particular database (with data that goes back to 2004!).

But still, the core engineering of this guy was done back in 2001, with efforts later on to shim in  Windows and ESX support. I looked into Linux a couple years ago and determined that I could add support for that pretty simply, but never did as we didn't have a call for it yet. 9 years is a long life for a script like this. I suppose it's time.

Or maybe we can not use folder-mounts.

by SysAdmin1138 at September 02, 2010 03:40 PM

Debian Admin

The PHP Anthology: 101 Essential Tips, Tricks & Hacks (Download Free PDF Guide)

A compilation of the best solutions provided to common PHP questions.

The PHP Anthology will save you time, and eliminate the frustration of completing PHP tasks, with a comprehensive collection of ready-to-use solutions. If you’re building web applications with PHP you’ll never let this book out of your site!

Share/Bookmark

Related posts

by Admin at September 02, 2010 01:39 PM

Jaime Frutos Morales

How to synchonize your Ubuntu 10.04 desktop with a NTP server

Description: On my previous post, I explained how to install and configure a NTP server on your local network. Now I’m going to explain how to synchronize an Ubuntu 10.04 computer with your local NTP server. Installation: apt-get install ntpdate Configuration: Create the file /etc/cron.d/ntpdate.cron with the following content (modifying “your-ntp-server” with the name or [...]

by acidborg at September 02, 2010 10:21 AM

Jordan Sissel

RAID is not Redundant.

My year at Rocket Fuel has seen many unique system failures. One specific kind of failure I want to highlight is those of full RAID failures. I've talked before about how RAID is not a backup technology.

Tonight, we rebooted a machine that hung (presumably due to OOM or other funkiness) and it came back in the bios saying:

Foreign configuration(s) found on adapter
Our managed hosting support weren't sure what to make of this, so we decided to make a new home (from backups) for the services on this now-dead machine. Dell won't helping debug on this until tomorrow.

This is one of many total data losses I've observed on RAID sets in recent months - all due to RAID failures. Thankfully, We have backups that get shipped to HDFS. We monitor those backups. We also have puppet and other automation to help move and rebuild services on a new host. We're equipped to handle this kind of failure.

This leads me to a new conclusion: The 'R' in RAID is a lie. It is not redundant. Treating it that way can lead you to the raid-is-backup fallacy.

Wikipedia has this to say about Redundancy (engineering): "In engineering, redundancy is the duplication of critical components of a system with the intention of increasing reliability of the system, usually in the case of a backup or fail-safe."

Adding more parts (complexity) to a system doesn't often increase its reliability. Even taking into account the disk redundancy you might get with mirror or parity, you're still hedging that the RAID card doesn't die, which it will. Everything's MTBF comes eventually, so weigh your risk.

Back to my conclusion that RAID is not redundant. RAID is not dead, I'm just done viewing RAID as a continuity-through-drive-failure technology. RAID has other benefits, though. It achieves more than just redundancy (when your card doesn't die).

RAID makes multiple drives present as a single drive device to the OS, right? Right. RAID allows you to aggregate disk IO performance to achive higher read/write rates than with a single disk alone. You can also aggregate disk space this way, too, if you didn't know.

It's almost 0100 now, I'd much rather be sleeping or playing TF2 than helping rebuild from backups.

September 02, 2010 07:50 AM

Ubuntu Geek

Google Blog

Back to the future: two years of Google Chrome

(Cross-posted from the Google Chrome Blog)

Watching the 1985 classic Back to the Future last night, I was struck by how much things can change with time. The main character Marty McFly travels 30 years back in time, only to find that his house hadn’t been built yet, skateboards hadn’t been invented and nobody had ever heard rock ‘n roll.

Looking back today on Chrome’s second anniversary, it’s amazing to see how much has changed in just a short time. In August 2008, JavaScript was 10 times slower, HTML5 support wasn’t yet an essential feature in modern browsers, and the idea of a sandboxed, multi-process browser was only a research project. All browsers have come a long way in the last two years and the web has become much more fun and useful.

Happy 2nd birthday, Google Chrome!
(Illustration:
Mike Lemanski, click image to expand)

Since Chrome’s first beta launch for Windows, we’ve brought our Mac and Linux versions up to speed, and continued to make the browser faster, simpler, and safer across all three platforms. We’ve also introduced a boatload of features, including a more customizable New Tab page, browser themes, side-by-side view, password manager, better privacy controls, built-in Adobe Flash Player, Autofill, automatic translation, HTML5 capabilities and synchronization of various settings such as bookmarks, themes, extensions and browser preferences—just to name a few. Finally, there are now more than 6,000 extensions in our gallery to enhance your browsing experience.

Behind the scenes, we continue to extend the security features that help you browse the web more safely. This includes Chrome’s Safe Browsing technology—which serves as a warning system if you’re about to visit a site suspected of phishing or hosting malware; Chrome’s auto-update mechanism—which helps ensure that the browser is always up-to-date with the latest security updates; and the browser’s “sandbox”—an added layer of protection which prevents malicious code on an exploited website from infecting your computer.

The old Chrome: our very first beta!


Chrome now: Our brand new release today

Today, we’re releasing a new stable version of Chrome that is even faster and more streamlined. Chrome is now three times faster than it was two years ago on JavaScript performance. We’ve also been working on simplifying the “chrome” of Chrome. As you can see, we took the already minimalist user interface and stripped it down a bit more to make it easier to use. We combined Chrome’s two menus into one, revisited the location of the buttons, cleaned up the treatment of the URL and the Omnibox, and adjusted the color scheme of the browser to be easier on the eyes.

Sliding back into Doc Brown’s DeLorean and setting the dial ahead by a few months, we have more in store for Chrome. As always, we’re hard at work on making Chrome even faster, and working on ways to improve graphics performance in the browser through hardware acceleration. With the Chrome Web Store, we hope to make it much easier to find and use great applications on the web. We also ratcheted up the pace of our releases so that we can get new features and improvements to everyone more quickly.

If you haven’t tried Chrome recently, we invite you to download our new stable version today at google.com/chrome. For those of you who have been using Chrome, thanks for a great second year! We hope that Chrome has made your life on the web even better, and look forward to the next year.

Life on the web, in the browser.
(Illustration:
Jack Hudson, click image to expand)

by A Googler (noreply@blogger.com) at September 02, 2010 08:24 AM

Evaggelos Balaskas

Windows Τiling Applications for Xfce

Today i’ve tried the four (4) tiling applications on Xfce, that wikipedia refers as “Third party tiling applications on Xorg”

The winner is: Stiler

Both Tile & QuickTile had a really bad tiling appearance and PyTyle doesnt work with Xfce

by ebalaskas@ebalaskas.gr (Evaggelos Balaskas) at September 02, 2010 07:22 AM

Linux Poison

Monitor bandwidth consumption per process - NetHogs

NetHogs is a small 'net top' tool. Instead of breaking the traffic down per protocol or per subnet, like most tools do, it groups bandwidth by process. NetHogs does not rely on a special kernel module to be loaded. If there's suddenly a lot of network traffic, you can fire up NetHogs and immediately see which PID is causing this. This makes it easy to indentify programs that have gone wild and

by Nikesh Jauhari (njauhari@cybage.com) at September 02, 2010 04:27 AM

Chris Siebenmann

Why Python's global is necessary

Why Python's global is necessary

When I started out programming in Python, I didn't really like global. For a long time I considered it unaesthetic, annoying, and on the whole an irritating wart of the bytecode implementation. As I mentioned recently, I have come around to a different view of global, and it goes like this.

If you want to have both global variables and lexically scoped local variables, you have to be able to tell whether a given name being assigned to in a function is a local or a global variable at the time that the function is being defined. Assuming that you want as much as possible of this to be implicit for various reasons, there are three relatively reasonable choices that I can think of:

  • you must declare globals explicitly; otherwise names are local.
  • you must declare locals explicitly; otherwise names are global.
  • the decision is made implicitly by what global names already exist when the function is being defined; a name that exists globally is taken as a global variable, and otherwise the name is taken as a local variable.

(If a name is never assigned to within a function but only read from, it's either a global variable or a 'use of an undefined value' error. Python opts to consider it a global variable.)

The third option is fragile (and un-Pythonic). This leaves you with a choice between the first and the second options, and either way you are going to need a keyword for it. Python makes the decision that writing to global variables will be rare and so it forces you to declare them explicitly; local variables, the common case, are handled implicitly. So it needs global, because having local instead would be worse (and having neither would be much worse).

(This decision might be either a pragmatic one, based on what was expected to be common, or a philosophical choice to make global variables more inconvenient in the hopes of making them less common. I don't know the Python history involved, so I have no idea which it was.)

Other languages make different choices here, sometimes for philosophical reasons that come down on the other side and sometimes just for historical ones (eg, if they started out without local variables or lexical scoping at all).

Sidebar: the many problems with the fully implicit option

The core problem with the fully implicit option, why it is fragile in many ways, is that it makes the meaning of a function dependent on its surrounding context. You can't just read a function and know what it does and what it manipulates; instead you have to know what global names exist when the function is defined.

One consequence of this is that anything that changes what global names are defined can change the meaning of the function. In a language like Python where function definition is an ordinary executable statement, one done immediately when encountered, merely moving a function definition forward or backwards inside a file could change the function's meaning even without any other code changes (as you move it before or after where global names are created or even deleted).

by cks at September 02, 2010 04:01 AM

September 01, 2010

/sys/admin/blog

Check Engine Light, OBDII driving cycles, and more than I cared to know about all of it

So, just as one of our cars was due for registration renewal and inspection, the check engine light on it came on. We took it into the shop and had some valve, the AC system, and a couple other things fixed and the mechanic told me that they could not do the inspection yet because the car has to pass a “drive cycle” before the engine light will turn off.

What the hell is a drive cycle?

Well, it turns out that the on board diagnostics (OBD) computer has to run some self tests on the emissions system. Those tests are set to “Incomplete” or INC whenever you reset a code in the computer, disconnect the battery, or replace one of those components. After certain conditions while driving are met, the tests run and mark each component as “OK”. When that’s all done, the engine light goes off and the car can pass inspection.

But the freaking light won’t go off!

And without an ODBII scanner, you have no idea why. So I bought such a scanner, and finally that damn check engine light means something. Why they can’t put the text of the code on one of the numerous text capable displays in the car without the need to plug in a serial cable connected to this gizmo to get the code is beyond me. Well, the scanner told me that a couple of the “drive cycle” tests were still “INC”. Hmmm. But we drove it for like a week! One mechanic told me “drive like 150 miles”. Another said “just run over to Greensboro and back, that ought to do it”. Really? You guys don’t know how it works either?

Again, What the hell is a drive cycle?

Oh, drive cycle, right! Well, depending on the car, you have to do a few things like idle from a cold start with the AC and rear defrost ON for 2.5 minutes. And run at 55 MPH for 3 minutes after a half throttle acceleration. Oh, and coast from 55 mph to 20 mph WITHOUT TOUCHING THE BRAKE! Really? That’s pretty specific stuff and I don’t think I was ever going to trigger the accelerate with NO AC AND NO ELECTRICAL LOAD in the middle of August in North Carolina. That AC is ALWAYS on!

Well, some Google searching and I found out the exact conditions that the OBD drive cycle tests need. Armed with that knowledge, I can get the car to run all it’s tests in about 20 minutes.

But the light’s still on!

Sigh. Well, it turns out that the gear shift computer just started throwing an error. U0404. Yeah, I got your 404 right here, buddy. @#$%^&! The car is all ready to go for the emissions inspection but can’t pass until that freaking light is off. So, it goes back to the shop next week to fix that code, probably will need my expert gyrations through another drive cycle, and a quick verification on my trusty new OBD Scanner and THEN maybe it’ll pass the inspection and I can do my guest spot on Car Talk…

by first.last@gmail.com (Joe O'Brien) at September 01, 2010 11:46 PM

Ubuntu Geek

Trouble with tribbles

Simple Java strip charts

I've been looking for a very simple Java strip chart for a while, and haven't found one. So in the end I decided to put together something myself, the end result being JStripChart.

(There's already something else out there called jstripchart. Just to confuse you, it's a python implementation.)

Using JKstat to knock something together I came up with this:

Of course, you partly miss the point which is that this thing is merrily scrolling away.

I expect to be able to use this fairly extensively in both JKstat and SolView, but it's certainly not tied to those in any way - it's designed to be trivially simple to use in any context.

The API really is very simple. Just create a chart:

JStripChart jsc = new JStripChart();

which you can add to your application in the normal way as it's just a JPanel, and then

jsc.add(some_data);

will add the value some_data to the right of the chart and move everything else along. That's it. (To get it to continuously update, create a Timer loop.)

by Peter Tribble (noreply@blogger.com) at September 01, 2010 07:29 PM

Everything Sysadmin

xed 2.0.2 released!

xed is a perl script that locks a file, runs $EDITOR on the file, then unlocks it.

It also checks to see if the file is kept under RCS control. If not, it offers to make it so. RCS is a system that retains a history of a file. It is the predecessor to GIT, SubVersion, CVS and such. It doesn't store the changes in a central repository; it comes from a long-gone era before servers and networks. It simply stores the changes in a subdirectory called "RCS" in the same directory as the file. (and if it can't find that directory, it puts the information in the same directory as the file: named the same as the file with ",v" at the end.)

[More about this little-known tool after the jump.]

September 01, 2010 04:00 PM

Standalone Sysadmin

SysAdmin Spirit Animal?

There’s an amusing thread on the LOPSA Discuss list going on right now. It’s called “What Animal is a System Administrator“.

I was leaning toward the beaver until I saw the post by Paul Graydon, who recommends the Pooka, aka the Púca:

The púca has the power of human speech, and has been known to give
advice and lead people away from harm. Though the púca enjoys
confusing and often terrifying humans, it is considered to be
benevolent.

It’s like I’m looking in a mirror.


by Matt Simmons at September 01, 2010 03:30 PM

Everything Sysadmin

Verizon FIOS: No outage so far!`

Well it is the first of the month and it seems like I have internet access still. That's good news.

Lets see what happens my DHCP lease expires. That's the real test.

I don't want to push my luck, but it looks like good news so far!

September 01, 2010 02:27 PM

Standalone Sysadmin

Linux machines with no rebooting…? Is this what we want?

The other day, I caught a message that KSplice was available for Fedora. I thought I’d be a wiseguy and I replied “Yeah, great. Call me in 20 years when it’s available for for RHEL”. Well, as several people pointed out, it turns out the joke is on me.

As you can see, it’s actually available for many Linux-based OSes at various prices. I suppose my confusion stemmed from the fact that I misunderstood what ksplice was.

My impression from a long time ago, when it first came out on Ubuntu, was that it was essentially a kernel patch that dynamically loaded patches and provided the ability to rebootstrap a kernel that was already loaded. As it turns out, it’s a commercial product that offers the ability to not have to reboot your machine to update the kernel. Let me be frank: I’m all about that.

The part that I kind of object to is in the press release, of all things. It’s the opening line of the company profile:

Ksplice is an enterprise software company making reboots a thing of the past.

Please, lets be honest. Reboots are inevitable. Using this product as a stop-gap for untimely reboots may be handy (at the low low price of $50 per year per server), but it can’t (and shouldn’t!) replace regular reboots.

The reasons for scheduled rebooting of machines are numerous. The primary one is that regular reboots assure that the machine is configured to boot correctly. If you’ve got a machine that’s got over 100 days of uptime, how do you know it will start correctly? You last booted it last quarter…what has happened to that machine since then? Changes in installed services, mountpoints, etc…it’s hard to tell if it’s going to be in a known-good state when it comes back up after a power failure.

Another reason to reboot occasionally is to clean up the running state of the machine. What’s that you say? Your machine is running fine? Well, sure, it may be, but how much cruft is left hanging that isn’t obvious? Have you ever used kill -9? Do you know for sure that there aren’t any memory leaks in your running services? Any processes hang while reading I/O and is now stuck in uninterruptible sleep?

Yes, there are lots of things that happen to servers over the course of doing their jobs. A reboot fixes many of them. The only argument against it is uptime.

I’ve written about uptime before, and I still feel the same way. Modern system administration has advanced beyond a single server providing a service. Uptime needs to be measured from the outside in, and according to the availability of the service, not the individual servers comprising that pool.

Feel free to disagree. Let me know if you’ve got an uptime of a year plus and you’re proud of it, or if you would be ashamed to be in that position.

Edit
This entry is causing quite a stir on Reddit. Cxunix from twitter also weighed in on his blog, servermanaged.it (link is in Italian, English translation here).


by Matt Simmons at September 01, 2010 12:14 PM

Google Blog

Model the world with Google SketchUp 8

It’s been 10 years since the first version of Google SketchUp was released, and there are more people modeling in SketchUp now that we ever could have imagined—over a million of you a week, in fact. That’s a pretty humbling number of 3D model makers.

People around the world are modeling everything—from a new design for their kitchen to entire cities in Google Earth. For our small part in this global phenomenon, I’m proud to announce that SketchUp 8, the next major version of our 3D modeling tool, is available for download today. We’ve added significant new geo-modeling capabilities that leverage Google’s vast collection of geo-spatial data to make it quicker, easier and more fun than ever to build models of the world around us.

Head on over to our website for the whole story, or just grab yourself a new build and get back to modeling.



by A Googler (noreply@blogger.com) at September 01, 2010 12:00 PM

RootPrompt

Introduction to PowerHA (1 Sep 2010)

PowerHA for AIX is the new name for HACMP (High Availability Cluster Multiprocessing). HACMP is an application that makes system fault resilient and reduces downtime of applications. This article introduces PowerHA and provides a detailed explanation of how to configure a two node cluster. This document is very useful for understanding PowerHA and setting up a two node cluster."Get Power high availability by Configuring a PowerHA cluster" Introduction to PowerHA

September 01, 2010 07:31 AM

Blog o thnet

Apropos OpenSolaris

As a follow-up to the About Solaris part, and as everybody know by now the OpenSolaris project has evolved recently, sort of. I really didn't have time to write about this, but because others have done a really good job at express themselves on this subject, I will aggregate some of them here since the whole opinion of them all summarize mine pretty well.

About the leaked (?) information itself:

About the position on the end of the OpenSolaris per-se:

About the succession:

Overall thoughts, which tend to describe very well my mood after thinking about this subject as a whole:

by Julien Gabel at September 01, 2010 07:14 AM

Ubuntu Geek

Linux Poison

Graphical tool to Download and Convert YouTube Videos - CaC

CaC (Catch and Converter) is a simple graphical program that converts videos from Videosites like Youtube, Google Videos, etc .. It's pretty simple to use, just copy the link of the video to download, choose the place for download and the output format. For most profiles to work, it is necessary to have the unstripped version of the libavcodec in the multiverse repository, which can be obtained

by Nikesh Jauhari (njauhari@cybage.com) at September 01, 2010 04:27 AM

Debian Admin

How to relocate device logs on juniper NSM server to a different directory

This tutorial will details the relocation of the device logs directory on the NSM server. This procedure is normally used in cases where the NSM Server has limited disk space and a network file system is available and mounted on the NSM server just for writing device logs.
Note:The device server uses /usr/netscreen/DevSvr/var/logs for writing all the device logs.

The assumption is that the /data directory on the NSM server is mounted to a NAS file system.

1. Login to the NSM Server via SSH as root user.

2. Stop all the NSM service processes (and in case of HA, stop it on both the NSM servers).

3. Rename the current logs directory as follows:

mv /usr/netscreen/DevSvr/var/logs /usr/netscreen/DevSvr/var/logs_bak

4. Become nsm user and create a soft link for the logs directory to point to /data directory as follows:

su nsm -
cd /usr/netscreen/DevSvr/var
ln -s /data logs

5. Make sure  the user nsm can write files under /data directory.

6. When the “ls -l” command is performed under /usr/netscreen/DevSvr/var, it should look as below for the soft link :

lrwxrwxrwx   1 nsm  nsm     14June  7 11:07 logs -> /data

7. Now copy all the old device logs to /data or /usr/netscreen/DevSvr/var/logs:

cd /usr/netscreen/DevSvr/var/logs_bak
cp -rpf * /usr/netscreen/DevSvr/var/logs/.

8. Once the copy is complete, verify that all files have nsm ownership.

9. Now start all the NSM processes. Login to the GUI client to make sure logs are visible and new logs are showing up.

10. Perform the same procedure on the secondary NSM server as well.

11. Once it is confirmed that servers are showing new and old logs,  then delete the old logs directory “/usr/netscreen/DevSvr/var/logs_bak” on both NSM Servers.

12. Start processes on the secondary server in case of HA.

Share/Bookmark

Related posts

by Admin at September 01, 2010 12:30 AM

MDLog:/sysadmin

NodeJS chef cookbook released

I’ve just released a simple chef cookbook that will install nodejs from source. You can check it out directly from github or download it from the opscode cookbook site. Let me know what you think if you find it useful.

by - Marius - at September 01, 2010 12:21 AM

Google Webmasters

Google now indexes SVG

Webmaster Level: All

You can now use Google search to find SVG documents. SVG is an open, XML-based format for vector graphics with support for interactive elements. We’re big fans of open standards, and our mission is to organize the world’s information, so indexing SVG is a natural step.

We index SVG content whether it is in a standalone file or embedded directly in HTML. The web is big, so it may take some time before we crawl and index most SVG files, but as of today you may start seeing them in your search results. If you want to see it yourself, try searching for [sitemap site:fastsvg.com] or [HideShow site:svg-whiz.com]

If you host SVG files and you wish to exclude them from Google’s search results, you can use the “X-Robots-Tag: noindex” directive in the HTTP header.

Check out Webmaster Central for a full list of file types we support.

by Maile Ohye (noreply@blogger.com) at September 01, 2010 12:30 AM

August 31, 2010

The Daily ACK

O'Reilly iPhone Sensors Masterclass

While I was in the States last month, in-between attending OSCON in Portland, SciFoo in Mountain View and my flying visit to New York, I headed up to Spreckles Theatre in Rohnert Park, CA, to film an O'Reilly Masterclass in "Making use of iPhone and iPad Location Sensors."

Demo'ing the AR toolkit we built during my O'Reilly Masterclass

The class guides you through developing applications for the iPhone and iPad platforms that make use of the onboard sensors: the three-axis accelerometer, the magnetometer (digital compass), the gyroscope, the camera and the global positioning system. During the four and a half hour class, amongst various other topics, I talked about face detection on the iPhone and walked through building an Augmented Reality toolkit.


The class is now available for US$99.99 from the O'Reilly Media website.

Included in the price is the full four and half hours of video, a copy of the slides I used on the day with added commentary, fully working Xcode projects allowing you to build and follow along with all the code we built during the class, and two preview chapters from my upcoming book "Programming iPhone Sensors" covering some of the material I talked about during the class.

If you want to see the sort of content you'll get you can view a free preview of the section of the course where I introduce the iPhone accelerometer, and if you're still wavering O'Reilly is running a "Buy 1 video, get 1 free. Buy 2 videos, get 2 free..." promotion all through September. Just enter code "BVGVF" in the O'Reilly shopping cart.


by Al. (noreply@blogger.com) at August 31, 2010 11:36 PM

Blog o Matty

My take on Android vs. iPhone

After months and months of research, I finally broke down a few weeks ago and purchased a smart phone. When I first decided to replace my aging Motorola RAZR, I wanted something that didn’t cost a fortune and provided a basic ‘net experience when i was away from my Mac. After playing around with a [...]

by matty at August 31, 2010 08:28 PM

Forcing your Linux users to wait after they input an incorrect password

When I run through my security checklist after building a host, one of the first things I change is the login fail delay. This option allows you to force a user to wait a given number of microseconds after a login failure before being able to try another password. For applications that perform brute force [...]

by matty at August 31, 2010 08:21 PM

Ubuntu Geek

Chris Siebenmann

I don't understand how net.ipv4.conf.*.rp_filter can work

I don't understand how net.ipv4.conf.*.rp_filter can work

First, the background. net.ipv4.conf.*.rp_filter controls some IP address source validation filtering done on incoming IPv4 packets. It has three values:

0 No filtering is done.
1 Packets are discarded if they come in on any interface except the one that a reply to the source IP would go out on.
2 Packets are discarded if a reply to the source IP could not be sent out any interface.

(A more formal description is in ip-sysctl.txt in the kernel documentation. Like all interface sysctls, it can be set separately for each interface, as a default, and for all interfaces.)

I don't understand how this can possibly work. Well, I understand how it works, I just don't understand how it can possibly do any good in most configurations. And I don't understand how a setting of '1' can possibly work at all in multihomed configurations where the multihomed machine is not the sole router for every network it's connected to that is not where its default route points.

First, as far as I can tell a setting of '2' is equivalent to '0' if you have a default route set (the usual case). With a default route set, all source IPs are reachable and so '2' will never discard packets, which is exactly the same as '0'.

For a machine with a single network interface and a default route, all settings are equivalent (for the same reason as above; all source IPs are reachable through your single interface). If you do not have a default route, either '1' or '2' will discard packets that come from networks you do not have routes for.

It is the multihomed case where things explode. Suppose that you have a multihomed host with two network interfaces, net-1 and net-2, with IP-1 on net-1 and IP-2 on net-2. With an rp_filter value of 1, a machine on net-2 cannot talk to this machine's IP-1 address unless the packets pass through the multihomed machine on the way to net-1, ie the multihomed machine is the router for the net-2 machine. If the packets go through another router, they will arrive on the multihomed machine's net-1 interface but the replies would go out the net-2 interface, so they fail the check.

Effectively this creates a bad version of an isolated interface, with the packet reachability restrictions but without the multiple split routing tables that make multihomed hosts actually work. As a bonus it hides the restriction deep in the networking sysctls, where you have to be an expert to find it.

(I suppose that there are some advantages to this half-hearted approach, in that it avoids some limits in the policy based routing version of it.)

By the way, I stumbled over this courtesy of Ubuntu 10.04 setting rp_filter to 1 by default. We have multihomed non-routing machines, and when we set up an Ubuntu 10.04 test version things promptly exploded. If I was not already suspicious of network sysctls, we could have spent quite a lot of time trying to find out just why the machine was ignoring certain sorts of network traffic.

(As it was I did 'sysctl -a | fgrep net. | sort' on both a 10.04 and an 8.04 machine and then looked for settings that were different. Ubuntu 10.04 may not be the first version that sets this, but 8.04 definitely didn't.)

PS: a much more useful version of this sysctl would be a 'private' flag on interfaces. If an interface had the private flag set, packets with a source IP address that was routed through that interface would only be accepted on that interface; all other interfaces would discard such packets.

by cks at August 31, 2010 06:24 PM

SysAdmin1138

The budget crisis gets deeper

We were told last week that Olympia is requiring WWU to find another 4% to cut from this fiscal year, and another 10% for next fiscal. Fortunately (?) this is within our own internal budget forecasting so we at least have a plan for dealing with it, mostly. The hard part will be the 4% right now.

This is leading to creative thinking. We've done a lot of that over the last two years but now we're scraping the bottom of the barrel. We got told late last week that Technical Services will no longer be able to use the ADMCS supply closet for office supplies and we have to make our own. There are all of 7 of us in this department, we don't go through a lot of Post-Its, pens, and DVD blanks. What we do go through is paper and toner, because one or two of us still prints off 200-600 page manuals once in a while (the rest of us just keep the PDFs around).

And yet, I just turned in a pair of hardware quotes that came to low six figures. A lot of us are confused as to why we're even bothering if money is that tight, but apparently The Powers That Be are confident that there really is money. I do know that there are different flavors of money out there; Capital Funds can't be swept to fix operational budget holes, for instance. Apparently the money for these quotes is coming out of a similarly protected fund, but I don't know what it is or how it works. It'll be nice to get that hardware as it'll keep me busy for the better part of a month.

And of course, the 10% for next fiscal is causing everyone sweat. Technical Services hasn't had to take a layoff yet in the two rounds we've had so far, and it just might be our turn. A 10% cut to our budget is either a person, or a handful of Furlough Days.

by SysAdmin1138 at August 31, 2010 03:43 PM

canspice

The hottest video you’ll see today

This was filmed on the Big Island of Hawaii, in the saddle between Mauna Kea and Mauna Loa.

Hat tip to Andrew Cooper.


by Brad at August 31, 2010 03:00 PM

Managing Product Development

The Value of a Demo

Some teams don’t do demos at the end of their iterations. Many of the teams who don’t do demos also have trouble finishing all the stories they committed to at the beginning of the iteration. They continue, iteration to iteration, not always finishing, not getting to releaseable at the end of the iteration. And, sometimes, these teams don’t do retrospectives because they are not done.

There’s significant value in a demo at the end of the iteration.

  1. The demo shows the team what they have done and not done in the iteration.
  2. The demo shows the product owner/customer what they have done and not done.
  3. The demo acts a a milestone–the team has to stop what they are doing to show the demo. They can’t keep going without doing a demo.

If you’re not demoing at the end of an iteration, reconsider. Use the demo to get feedback, record your velocity, and see if you are done enough with this project for now, or if you really need to continue working off this backlog.

Post to Twitter Tweet This Post

by johanna at August 31, 2010 02:34 PM

mypapit gnu/linux blog

Ubuntu 10.04 fix for USB Drive not mounting on pc with Floppy Drive

Here’s a quick fix for an Ubuntu 10.04 bug that prevents USB Drive from mounting on a PC with Floppy drive (wow, these things still exist?)

The solution is to remove the floppy drive module from linux kernel and you will be able to mount usb drive.
sudo modprobe -r floppy

Should you ever need the module again, you can issue
sudo modprobe floppy
to load the module back (alongside with the annoying bug).

Hope this will help!

p/s: To be fair, my office Dell Optiplex machine (with Pentium 4 HT 2.80GHz, 2005 issue) still has those floppy drives, although I haven’t use them ever since they assigned it to me (back in 2008).


by mypapit at August 31, 2010 01:46 PM

Debian Admin

Juniper NSM Tip: starting and stopping NSM services in Proper order

This tutorial will explain how to start and stop NSM services in proper order
In a stand-alone NSM configuration:

The proper startup order is:

1. Start Gui Server

/etc/init.d/guiSvr start

2. Start Device Server

/etc/init.d/devSvr start

3. Start HA Server

/etc/init.d/haSvr start

The proper stop order is:

1. Stop HA Server

/etc/init.d/haSvr stop

2. Stop Device Server

/etc/init.d/devSvr stop

3. Stop Gui Server

/etc/init.d/guiSvr stop

For NSM HA configuration users

If you are using in a high-availability NSM configuration use the following commands

The proper startup order is

Start HA Server

/etc/init.d/haSvr start

The proper stop order is:

Stop HA Server

/etc/init.d/haSvr stop

Share/Bookmark

Related posts

by Admin at August 31, 2010 12:26 PM

Google Blog

Online publishers: growing the display advertising pie

This is the latest post in our series on the future of display advertising. Today, director of product management Jonathan Bellack looks at our efforts to help online publishers generate more advertising revenue - Ed.

For millions of online publishers—from the smallest blogger to the largest entertainment, news, e-commerce and information sites—online advertising revenue is vital. When publishers can maximize their returns, everyone benefits from more vibrant online content and websites. But the pace of change in the industry can be intimidating—how can a publisher keep up with what’s new, let alone grow their business?

We believe that the new technology we’re developing to make display advertising work better will help to grow the display advertising pie for all publishers, by orders of magnitude. We shouldn’t be asking how publishers can eke another 5 or 10 percent out of display advertising in the next few years. We should be looking at how the industry can double or triple in size.

We’ve previously described our three core display ad products for publishers:
  • AdSense, which places the most valuable, relevant ads on our partners’ websites, without the publishers having to sell the ad space themselves;
  • DoubleClick for Publishers, our ad serving platform, which maximizes the value of ad space that publishers have directly sold themselves;
  • DoubleClick Ad Exchange, a real-time auction marketplace, which maximizes large publishers’ overall returns, by "dynamically allocating" the highest value ad, whether directly sold, or indirectly sold through an ad network.
I wanted to highlight the key principles guiding our future product innovations in this area, as we work to help all publishers maximize their online ad revenues.

1. Making life more efficient
For most large publishers, directly sold ads (ads sold by their own sales force) comprise the vast majority of their ad revenues. But today, selling and managing these ads is frustrating, expensive and often involves tedious manual processes.

Imagine a TV network that receives TV commercials in 100 different formats, languages, lengths and video dimensions, and then has to manually convert, translate and edit them all, then manually count the number of TV sets on which the ad appeared before sending a bill. Sounds crazy, right? Well, that scenario is far less challenging than what most large online publishers face today with display advertising. Today, across the industry, for every dollar spent on display advertising, 28 cents is eaten up in administrative costs. If we can reduce that proportion, it would mean a lot more money going to publishers.

Things like new standards for video ad serving and systems that connect buyers and sellers are helping publishers support the most engaging and creative ads across their sites. But there are quantum leaps to come in this area, for small and large publishers. Think of a political candidate who is seeking donations on his or her website—the candidate can receive money in seconds. Imagine if publishers—even the smallest website—had tools that enabled advertisers to click a button on their site to upload an ad, let them pay for it with a credit card, and then deliver this ad—through the publisher’s ad server—within minutes. This sort of “immediate ad” will become possible as ad serving technology continues to simplify the process of buying and selling ad space.

2. Total revenue management
AdSense selects the most valuable ad for publishers from a large number of ad networks, to maximize ad revenues every time a page loads.

New ad serving and “dynamic allocation” technology, like the DoubleClick Ad Exchange, is emerging that enables ad revenues to be maximized across both directly and indirectly sold ad space, ad impression by ad impression, using real-time prices. Second by second, across millions of ad impressions, this can meaningfully boost major publishers’ revenues. Using this technology, the average price that a publisher receives for ad space sold through the Ad Exchange is more than 130 percent higher than the average price of ad space sold directly to ad networks. In fact, without this type of dynamic allocation across sales channels, a publisher’s revenues can never truly be maximized.

In years to come, this true revenue maximization can get even smarter. There’s no question that delivering the right ad to the right user at the right time delivers better results. We have years of experience in doing this with search and text ads; we’re now bringing that experience to the world of display. This means investing in a smarter ad server that can automatically learn where and when a given ad will get the best response, as well as manage delivery to deliver those improved results for publishers. This new ad server can even anticipate a publisher’s future events and adjust delivery accordingly—for example, if traffic drops off every weekend, the ad server can automatically speed up during the week to keep everything moving smoothly.

3. More insight and control
Our vision is to provide all publishers the smartest possible advertising system that can give them knowledge and control of everything going on with their ad business. The vision is already becoming a reality: the upgraded DoubleClick for Publishers platform offers publishers 4,000 times more data than its predecessor. And in recent years, we’ve been constantly adding new reporting options for our AdSense partners.

By putting publishers in firm control and empowering them with more data, reports and controls (for example, over what advertisers and ad networks they allow), they’ll be able to make fully informed decisions about ad space forecasting, segmentation, targeting, allocation and pricing. This helps them to extract the maximum value from their sites and uncover new advertising opportunities—the gold that’s buried under their own sites.

4. Betting on openness
An open ecosystem drives meaningful results for publishers. When a wide range of buyers can bid for a publisher’s ad space, through an advertising exchange or network, this creates more competition for that ad space, while giving publishers choice over whose ads they want to appear. On the DoubleClick Ad Exchange, an enormous number of advertisers, belonging to over 50 ad networks, compete for publishers’ ad space. Of course, at the same time, we’re also providing publishers robust technologies and controls that can block any unwanted ads or networks.

Similarly, we believe that one of the best ways to encourage innovation is to open code to the web developer community. Look at the incredible mashups that have been created through the Google Maps API, or the range of mobile devices that have been created from our open source Android code.

This same approach can generate significant advantages for publishers. When we rolled out the upgraded DoubleClick for Publishers, we launched a new public API. This gives publishers and developers the tools to drive innovation and deliver value-adding “advertising apps” for publishers—like inventory analysis, sales workflow tools and more—without having to build an ad server from scratch. This will help drive the next generation of better, more valuable ad innovations.

5. Everything is going to be “display”
Display advertising is about much more than ads in web browsers. People are watching video, reading newspapers, magazines, books and listening to digital music at an ever-increasing rate. They’re turning to a plethora of new devices—smartphones, tablets, e-readers and even video game consoles. We’ve designed our platform, and are continuing to invest in it, to give publishers a single base that can deliver ads into this expanding world—including streaming video, mobile ad delivery and more.

Looking forward, what we call “display” today will just be “advertising”—a single platform that can coordinate an advertiser’s campaign across streaming audio ads in car stereos, interactive mobile experiences on smartphones, and HD video ads on set-top boxes. Imagine if that single platform could optimize the campaign, automatically delivering the best-performing ads, best returns and best mix, across all those platforms. That’s the future we envisage.

An exciting time ahead
We’re unapologetically optimistic about the future of display advertising for online publishers. There’s great innovation taking place in this area that will make the current landscape look primitive within a few years. We’ll keep working hard to help all publishers take advantage of these opportunities.

by A Googler (noreply@blogger.com) at August 31, 2010 11:00 AM

Ubuntu Geek

Chris Siebenmann

My avoidance of Python global variables

My avoidance of Python global variables

I spent part of today writing a quick one-off data conversion program. The core of it was a function that filtered items from a list through a number of things in order to sort them into the right category. Once the dust settled on all of the sorting needed, the function had quite a lot of stock arguments, things that didn't vary from call to call in my program. In fact, an unwieldy number of them.

There are at least three vaguely Pythonic options for how to deal with this (plus how I actually did), but what interests me in retrospect is the one answer that I didn't even think about. Namely, global variables.

There are all sorts of reasons to avoid global variables in general, but this was a one-off program and if I'm being honest, that's what all of those stock parameters really were. I was making them local variables in the calling function and then passing them in to the classifying function not so much because it was a good idea but because that's what I do in Python. I just don't use global variables very much even when they'd arguably make sense, and when I do use them I feel irritated.

As best I can tell, what does it is the pesky global keyword. Having to declare variables global any time I want to rebind them adds just enough extra friction to using global variables in practice that I would rather not bother and instead pass lots of things around as parameters. I generally resort to global variables only when passing the same information as parameters would add arguments to too many layers of function calls.

(This is the situation where you have four or five layers of function calls and some of the stuff down at the leaves wants to gather some expensive piece of information only once. The nominally logical thing to do is to call the 'gather information' function once at the start of your program and then pass the parameter all the way down to the leaves, but that means you have to pass the information object through all of the intermediate layers, where all it does is clutter up parameter lists. Really, you want to put it in a global variable, especially if you have several different clusters of these functions that want different chunks of information; passing the information they need down as parameters doesn't scale.)

Part of the friction is the annoyance of the extra line in any function that will rebind the global variable. But another part is just having to think about it at all, partly because I sort of consider global to be a wart (especially because I know what the bytecode is doing behind the scenes).

(Global's not really a wart, but that's another entry.)

Sidebar: the three options that I am thinking of

The three Python options that immediately come to mind are:

  • embed the classifying function into its caller as a closure, giving it direct access to all of what used to be the stock parameters. This feels like a hack to me, and I don't like the extra level of indentation.

  • make the classifying function a method on a class which otherwise had all of the stock parameters as instance variables. It's probably the classical solution but it feels completely artificial to me.

  • make a structure to hold all of the stock parameters, then just pass the structure instead of all of the parameters separately.

Since this was a quick hack, I was lazy and did the poor man's structure: I made a tuple with all of the stock parameters and just passed in the tuple (and then unpacked it in the classifying function). This is less aesthetically pleasing than a structure, but also less code, and it is the obvious next step when one's parameter list spirals out of control and most of it is the same from call to call.

(My eventual code had two arguments that varied from call to call and six that were the same, packed into a tuple. I'm sure that this is a code smell, but it was a quick hack.)

by cks at August 31, 2010 02:47 AM

Daniel E. Markle

Rockhill Trolley Museum First Visit

On the 15th of August Joyce and I traveled to the Rockhill Trolley Museum. We had been planning on visiting for a long time after much positive raving about it from Ed. It certainly lived up to expectations, this video provides a taste:



No video can convey the actual experience of riding one of these, for that you will need to visit the museum.

by dmarkle@ashtech.net (Daniel E. Markle) at August 31, 2010 02:05 AM

Sam Ruby

Be Liberal in What You Accept

Yehuda Katz: you basically never, ever want to use a >= dependency in your gems.

Jeremy Kemper: Loosen activesupport dep to float on 3-0-stable or master

My guess is that Yehuda has had a bit of much bad experience with depending on somebody to honor their interfaces.  The problem with such an approach is that you essentially stop all forward progress.  In this case, 3.1’s Active Record depends on arel and Active Support, and arel also depends on Active Support.  Result:

Bundler could not find compatible versions for gem "activesupport":
  In Gemfile:
    rails depends on
      activesupport (~> 3.0.0)

    rails depends on
      activesupport (3.1.0.beta)

My take: gems should honor their interfaces, and Yehuda’s advice should only be taken when there is evidence that the maintainers do not take this obligation seriously.  People should be able to trust that new releases of Active Support will maintain backwards compatibility.

As this change to arel is unreleased, in order to test the scenarios in Agile Web Development with Rails Edition 4 against the upcoming release of Rails, I need to pull in an unreleased version of arel in my testing.  I shouldn’t have to do this, and furthermore the fact that I have to means that the comment that is placed by default in generated Gemfiles is currently broken (incomplete).

August 31, 2010 12:45 AM

Everything Sysadmin

Verizon FIOS Update

I know y'all can't live without another update so here it is.

The VerizonSupport twitter account sent me a secret URL to give them my account info and problem description. After filling it twice (separated by 2 days), I got no phone call, no email, no results.

Today I called and was told that the IVR system transfered my phone call to billing because I was entering my phone number (as asked) but since I don't have Verizion phone service it was confused. That is the phone number on my account, and it certainly is able to look up my account after I've entered it, but the person assured me that this was the problem. I should select the option where I enter my account number instead of my phone number and it should work.. promise.

When I got home (where I have the account number) I did as requested and of course the system said it is transferring my account to billing.

So what to do?

Well, I've tried billing and tech support with no luck. I decided to call sales. Stephanie and I had an ok conversation. She said that last month my account was "in treatment" and now it definitely isn't so there should be no outage on Wednesday. I pointed out that the IVR system disagrees, but she said I should "let it go". She also said that if I do have an outage on the first of the month, they can cancel the account and recreate it. I'd have a 20 minute outage. She wrote all of this up in my account notes.

Wednesday I'll be "oncall" for work from 4pm to midnight. If there is an outage in the morning, I'll be spending all day getting it fixed so that I can have connectivity for my oncall shift.

I've spent more than 10 hours on the phone with Verizon at this point.

August 31, 2010 12:28 AM

August 30, 2010

Google Blog

Email overload? Try Priority Inbox

(Cross-posted from the Gmail Blog)

People tell us all the time that they’re getting more and more mail and often feel overwhelmed by it all. We know what you mean—here at Google we run on email. Our inboxes are slammed with hundreds, sometimes thousands of messages a day—mail from colleagues, from lists, about appointments and automated mail that’s often not important. It’s time-consuming to figure out what needs to be read and what needs a reply. Today, we’re happy to introduce Priority Inbox (in beta)—an experimental new way of taking on information overload in Gmail.

Gmail has always been pretty good at filtering junk mail into the “spam” folder. But today, in addition to spam, people get a lot of mail that isn't outright junk but isn't very important—bologna, or “bacn.” So we've evolved Gmail's filter to address this problem and extended it to not only classify outright spam, but also to help users separate this "bologna" from the important stuff. In a way, Priority Inbox is like your personal assistant, helping you focus on the messages that matter without requiring you to set up complex rules.



Priority Inbox splits your inbox into three sections: “Important and unread,” “Starred” and “Everything else”:



As messages come in, Gmail automatically flags some of them as important. Gmail uses a variety of signals to predict which messages are important, including the people you email most (if you email Bob a lot, a message from Bob is probably important) and which messages you open and reply to (these are likely more important than the ones you skip over). And as you use Gmail, it will get better at categorizing messages for you. You can help it get better by clicking the or buttons at the top of the inbox to correctly mark a conversation as important or not important. (You can even set up filters to always mark certain things important or unimportant, or rearrange and customize the three inbox sections.)

After lots of internal testing here at Google, as well as with Gmail and Google Apps users at home and at work, we’re ready for more people to try it out. Priority Inbox will be rolling out to all Gmail users, including those of you who use Google Apps, over the next week or so. Once you see the "New! Priority Inbox" link in the top right corner of your Gmail account (or the new Priority Inbox tab in Gmail Settings), take a look.

by A Googler (noreply@blogger.com) at August 30, 2010 09:55 PM

Blog o Matty

Implementing a home security alarm on the cheap

I currently live in an apartment, and was looking for a cheap and easy solution to sound off an alert if a door or window was opened. Most home security systems are really tailored for houses, and I wasn’t real found of paying $30 – $40 per month to monitor a relatively secure apartment. After [...]

by matty at August 30, 2010 08:22 PM

Using pam_time.so to control when people can log into your servers

Most admins have to support system logins in one form or another. These logins include everything from application service accounts, operations accounts, SysAdmin accounts and pretty much everything else you can think of. Some of these accounts may not need to access your servers 24/7, and you may want to limit the timeframes when users [...]

by matty at August 30, 2010 08:12 PM

SysAdmin's Diary

Song Of The Day: Cinta by Flop Poppy

Flop Poppy – Cinta; one of my favorite song, Kan ku nyanyikan kau lagu cinta Seindahnya sinar mentari Seanggunnya sinar rembulan Kan ku nyanyikan kau lagu rindu Kerna sesungguhnya hati ini masih lagi Lemas dalam kerinduan Cintaku, hampir setiap kalinya tak jemu-jemu Cintaku, nyanyikan lagu ini Cintaku, hampir setiap kalinya tak jemu-jemu Cintaku, nyanyikan lagu [...]

by irwan at August 30, 2010 07:43 PM

Ilia

Beware of the default Apache 2 config for PHP

About a week ago, I was doing some upgrades on my development machine and came across a rather nasty issue when it comes to how .php(s) files are associated with PHP in Apache. It seems that a number of distros including Gentoo (which is what I was using) are using the following configuration directive to make the PHP module parse PHP files:

<IfModule mod_mime.c>
AddHandler application/x-httpd-php .php
AddHandler application/x-httpd-php-source .phps
</IfModule>


The non-obvious problem with the above is that it will allow not only "file.php" to be treated as PHP scripts, but also "file.php.txt", which means that any file containing ".php" in its name, no matter where in the filename, would be treated as a PHP script. This of course creates a rather nasty security hole, since many upload file validation tools, only check the final extension. Consequently allowing the user to by-pass the validation, by simply prefixing another "harmless" extension like .txt, .pdf, etc... to the filename, but still get the code to execute.

To mitigate this problem you should instead use the following configuration, that would only pick-up of files ending with a .php extension.


<IfModule mod_mime.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>


The difference between the two configurations being that the original uses AddHandler (bad) and the latter uses AddType (good).

by ilia@ilia.ws (Ilia Alshanetsky) at August 30, 2010 06:52 PM

Evaggelos Balaskas

What would happen if you didnt setup sudo properly

You should all know this comic strip:

but have you ever wondered, what would happen if you hadnt setup sudo properly ?

Click on images !

by ebalaskas@ebalaskas.gr (Evaggelos Balaskas) at August 30, 2010 06:49 PM

canspice

Google Blog

Share your story with the new Google Translate

(Cross-posted from the Google Translate blog)

Today, you may have noticed a brighter looking Google Translate. We’re currently rolling out several changes globally to our look and feel that should make translating text, webpages and documents on Google Translate even easier. These changes will be available globally within a couple of days.

Google Translate’s shiny new coat of paint

With today’s functional and visual changes we wanted to make it simpler for you to discover and make the most of Google Translate’s many features and integrations. For example, did you know that you can search across languages on Google using Google Translate? Or that you can translate incoming email in Gmail or take Google Translate with you on your phone? We’ve added all these tips on the new Do more with Google Translate page. You can also see some of these tips rotating on the new homepage.

We’ve also created an Inside Google Translate page, where you can learn how we create our translations. Is it the work of magic elves or learned linguists? Here Anton Andryeyev, an engineer on our team, gives you the inside scoop:



It’s always inspiring for us to learn how Google Translate enables people to break down communication barriers around the world. Lisa J. recently shared with us how she uses Google Translate to stay in touch with her grandparents. “I moved to the U.S. from China when I was six,” Lisa told us, “so I speak both English and Chinese fluently but I’m not very good at reading the complex Chinese alphabet.” When she gets an email from her grandparents in China, Google Translate helps her understand the sentences she can’t quite read. She also uses Google Translate when she’s writing her response. “I use Google Translate to make sure I’m using the right character in the right place,” she explained.

Do you use Google Translate to stay in touch with distant relatives? Read foreign news? Or make the most of your vacation? We’d love to hear from you, and invite you to share your story with us. Who knows, we might feature your story on the Google Translate blog!

by A Googler (noreply@blogger.com) at August 30, 2010 04:21 PM

Standalone Sysadmin

Conference News (LISA and PICC and more!)

This is apparently the “time to schedule your conference trips” part of the year, because there is news on the SysAdmin conference front.


First, and most pressing, the LISA10 conference schedule has been released! I’ve got to say, I’m digging the theme of the website, too. More important, though, is the content. Interestingly, all sessions and tutorials are available in half-day increments this year. This means that you can attend the first half of one session then migrate to another session after lunch. I’ve got mixed feelings about this, but I’m interested in how it will pan out. More flexibility is nice, though, and sometimes the first half of a session is really review (though there are a lot of arguments against that, too).

As always, there are discounts available for certain groups, and you do get a lower admission price if you’re a member of LOPSA, USENIX, or SAGE.

Check out the registration page for the fees. There’s an early-bird special going on until October 18th, so make sure you register soon. The return on investment for this conference is amazing.

I’m going to be there as a conference blogger, along with Matthew Sacks, Ben Cotton, and Marius Ducea. We’ll be publishing entries on the USENIX blog (which I’ll be linking to from here as well, of course).

Come to LISA and have a great time. And if you do decide to come, find me and say hello. I always love meeting readers.


Shifting gears a little bit, I’m sure you remember the PICC conference that LOPSA-NJ hosted. Well, we had a blast, and last year’s conference chair, William Bilancio, did an amazing job. It’s a bit much to do that twice in a row, though, so he was looking for someone to take the responsibility for this year’s conference, and after running it through my head a while, I decided that I’d take the job if he thought I’d do alright. Here’s his email announcing it:

It is with a great sigh of relief that Matt Simmons has decided to be
the Program Chair for PICC ‘11.

Last year Matt was the head of the marketing team and did a great job
at getting the word out about the conference and was a key person in
making last years conference a success.

Tom and I feel that he will do a great job as the Program Chair and
will make PICC ‘11 a great conference.

In other news I will be getting in contact with the hotel and get the
date locked in, in the next few weeks and then we can start really
working on the conference.

Please start thinking about sponsor ideas as well as any new people
you think will be able to help make PICC ‘11 another great conference.

Again thank you Matt for taking PICC ‘11 Program Chair job and good luck.

William

I want to thank William and everyone who was involved with last year’s conference. Everyone I’ve talked to had a great time and has been looking forward to this coming year. I’m going to work hard to try to improve on William’s example, and really grow the community of system administrators in New Jersey and the rest of the northeast. I’m going to need help, though, so if you helped out last year, I’ll be calling on you now. If you weren’t involved last year, now is a great time. Drop me an email or comment on this story to let me know that you’re interested in volunteering. We can definitely use the help.


In addition, I was talking to Lee Damon, who let me know about a SysAdmin conference called “Cascadia IT Conference” (aka “CasITConf”), and it’s happening in the Pacific Northwest. It’s being put on by SASAG, the Seattle-Area System Administrators’ Guild.


So there you go. Three sysadmin conferences in one post. It’s going to be a busy year for everyone, so get involved and lend a hand to someone in your area!


by Matt Simmons at August 30, 2010 03:10 PM

Everything Sysadmin

Ohio Linux Fest: you don't have to be from Ohio!

What surprised me when I attended Ohio Linux Fest was that it is a national conference; it draws people from all over.

One of the little-known gems at OLF is their training sessions called "OLF University." It is excellent training that is at a very nice price. Considering the high-caliber trainers that they've recruited, I think (and I've told OLFU coordinators) that training like this should be priced 2x or 3x higher. The productivity boost from just one class will pay for itself in a month or two. I recommend people sign up before the organizers start listening to me.

Beth Lynn Eicher wrote a great article about OLF and the training. Check it out.

If you aren't going to OLF University, but are going to OLF, be sure to stop by the LOPSA table!

August 30, 2010 03:00 PM

Google Blog

23 walls of Googley

A couple months ago while visiting our London office, I noticed a really cool Google logo on the wall. It was a mosaic of photos of London that had been created by a product manager named Clay Bavor and a team of Googlers (in fact, Clay wrote about it). As a few of us admired the wall, we thought there must be other Googlers who could create something equally cool and fun. So we cooked up a little contest for the product management team: create your own version of a “Googley Art Wall” and the team with the best entry wins a nice dinner out and a donation to the charity of its choice.

When we announced the contest, we weren’t sure if we’d get enough entries to make it interesting. Within minutes of seeing the announcement, however, Lorraine Twohill (head of marketing) and Claire Hughes Johnson (head of online sales) both asked if it was OK for their teams to enter too. Soon Googlers from offices and teams around the world were doing their best to create beautiful, creative and Googley “art walls,” on small budgets and their own time.

Seven weeks later, 23 teams from 12 offices across eight countries submitted videos and photographs of their work. The entries were so universally good that the judges couldn’t limit themselves to picking just one winner. The grand prize went to “Rubik’s Cubes Galore!”, a giant Google doodle meticulously composed of 850 Rubik’s Cubes, created by practically the entire Taipei office. We also named four runners-up: from Mountain View, a “Periodic Table of Google Elements,” a colorful collection of facts and stats about Google and the Internet arranged as a giant periodic table; the “Google Paris Metro Station,” a Metro stop built right inside the Paris office; the “Shanghai Interactive Wall,” a magnetic wall with 63 moveable tiles; and in Dublin, the “Google FoosWall,” a super-sized foosball table with handmade players that spell Google. Watch the video to see the making of these winning walls, along with the finished products.



People sometimes ask me to define “Googley.” Now I can just tell them to walk by any of the newly decorated walls (you should too, if you happen to visit a Google office). This is what happens when you give Googlers a little space—and paint guns, a wood shop, litter scraps from micro-kitchens, stained glass, LEDs, dried beans, colorful plastic balls, antique furniture—or just about anything else they can get their hands on, apparently. They create incredible things.



by A Googler (noreply@blogger.com) at August 30, 2010 01:40 PM

Trouble with tribbles

New SolView

I've just released a new version of SolView. This version cleans up the code used to display SVR4 packaging, and makes a couple of improvements to the Jumpstart profile builder.

Nothing earth-shattering, but I made the list of packages and clusters sorted, which makes it a lot easier to find things. And, to make that less necessary, I implemented recursive removal of packages: if you remove a package, it removes anything that depends on that package as well, keeping the package dependency graph self-consistent.

There are various ways to make sorting work, and I had put together a couple of Comparator classes before doing it properly. The proper way is just to implement Comparable in the classes that need sorting. And in most cases the actual comparison is trivial - we're just comparing the name, which is just a String. (For patches it's a 2-stage numerical comparison of the patch id and revision, but still simple.)

Once Comparable is implemented, then all I need to do is replace Set with TreeSet and everything sorts. Simple, obvious, and something I should have done much earlier.

Of course, there's no point in learning something like this and then only using it the once. So there's a new version of JKstat in which the Kstat class implements Comparable, which immediately gets the output from some of the JKstat demos sorted. (And sorted correctly - there is a specific Comparator in use here, to sort names like sd0 which contain numbers correctly: the numerical part is sorted separately and as a number, so that sd2 comes before sd10.)

by Peter Tribble (noreply@blogger.com) at August 30, 2010 11:30 AM

Geeking with Greg

What is the benefit of freaking customers out?

Miguel Helft and Tanzina Vega at the New York Times have a front page article today, "Retargeting Ads Follow Surfers to Other Sites", on a form of personalized web advertising now being called retargeting.

An excerpt:
People have grown accustomed to being tracked online and shown ads for categories of products they have shown interest in, be it tennis or bank loans.

Increasingly, however, the ads tailored to them are for specific products that they have perused online. While the technique, which the ad industry calls personalized retargeting or remarketing, is not new, it is becoming more pervasive as companies like Google and Microsoft have entered the field. And retargeting has reached a level of precision that is leaving consumers with the palpable feeling that they are being watched as they roam the virtual aisles of online stores.

In remarketing, when a person visits an e-commerce site and looks at say, an Etienne Aigner Athena satchel on eBags.com, a cookie is placed into that person’s browser, linking it with the handbag. When that person, or someone using the same computer, visits another site, the advertising system creates an ad for that very purse.
The article later goes on to contrast this technique of following you around with products you looked at before with behavioral targeting like Google is doing, which learns your broader category interests and shows ads from those categories.

If the goal of the advertising is to be useful and relevant, though, I think both of these are missing the mark. What you want to do is help people discover something they want to buy. Since the item they looked at before obviously wasn't quite right -- they didn't buy it after all -- showing that again doesn't help. Showing closely related alternatives, items that people might buy after rejecting the first item, could be quite useful though.

As marketing exec Alan Pearlstein says at the end of the NYT article, "What is the benefit of freaking customers out?" Remarketing freaks people out. If we are going to do personalized advertising, the goal should be to have the advertising be useful, either by sharing value with consumers using coupons as Pearlstein suggests, or by helping consumers find something interesting that they wouldn't have discovered on their own.

But, publishers should be careful when working with these new ad startups. A startup has a huge incentive to maximize short-term revenue and little incentive to maximize relevance. For the startup, as long as it brings in more immediate revenue, it is perfectly fine to show annoying ads that freak customers out and drive many away. Publishers need to force the focus to be on the value of the ads to the consumer so their customers are happy, satisfied, and keep coming back.

by Greg Linden (glinden@gmail.com) at August 30, 2010 09:28 AM

Google Blog

Arcade Fire meets HTML5

What would a music experience designed specifically for the modern web look like? This is a question we've been playing around with for the last few months. Browsers and web technologies have advanced so rapidly in the last few years that powerful experiences tailored to each unique person in real-time are now a reality.

Today we’re excited to launch a musical experience made specifically for the browser. Called “The Wilderness Downtown”, the project was created by writer/director Chris Milk with the band Arcade Fire and Google. Building this project on the web and for the browser allowed us to craft an experience that is not only personalized, but also deeply personal for each viewer. “The Wilderness Downtown” takes you down memory lane through the streets you grew up in. It’s set to Arcade Fire’s new song “We Used to Wait” off their newly released album The Suburbs (which you may be familiar with, especially if you were one of 3.7 million viewers who live-streamed Arcade Fire's concert on YouTube earlier this month). The project was built with the latest web technologies and includes HTML5, Google Maps, an integrated drawing tool, as well as multiple browser windows that move around the screen.


“The Wilderness Downtown” was inspired by recent developments in modern browsers and was built with Google Chrome in mind. As such, it’s best experienced in Chrome or an up-to-date HTML5-compliant browser. You can launch the project and learn more about it on our Chrome Experiments site at www.chromeexperiments.com/arcadefire.

We hope you enjoy it.

by A Googler (noreply@blogger.com) at August 30, 2010 09:09 AM

RootPrompt

Yeah - Learn Linux: Maintain the integrity of file (30 Aug 2010)

Learn how to check the integrity of your Linux filesystems, monitor free space, and fix simple problems. Use the material in this article to study for the Linux Professional Institute (LPI) 11 exam for Linux system administrator certification or just to check your filesystems and keep them in good working order, especially after a system crash or power loss. "Here's an easy way to keeping track of your Linux disk space" Yeah - Learn Linux: Maintain the integrity of filesystems

August 30, 2010 06:30 AM

Evaggelos Balaskas

What the hackers are looking for ? #3

For the past year i am looking for http 404 (not found) on my blog. I have only two sites, a blog & a wiki, so without any other web application, i can monitor for web vulnerabilities (that hackers are looking for) by just looking for 404 (Not Found) http errors.

I am using mod_rewrite for URL manipulation. My custom .htaccess redirects every Not Found (404) page to my index.php.
You can use it too, but you must be extremely careful.

You MUST NOT have any valid URLs with one the files below.
If you have, just remove the specific line from the .htaccess file.

An example:

Url: http://ebalaskas.gr/README doesnt exist,
so if you click on it, you should redirect to my home page.

RewriteEngine on

RewriteRule xmlrpc.php$ index.php
RewriteRule login_page.php$ index.php
RewriteRule setup.php$ index.php
RewriteRule config.inc.php$ index.php
RewriteRule multithumb.php$ index.php
RewriteRule orderSuccess.inc.php$ index.php
RewriteRule send_reminders.php$ index.php
RewriteRule config.php$ index.php
RewriteRule ask_password.php$ index.php
RewriteRule msgimport$ index.php
RewriteRule README$ index.php
RewriteRule fastenv$ index.php
RewriteRule main.php$ index.php
RewriteRule sql.php$ index.php
RewriteRule error.php$ index.php
RewriteRule errors.php$ index.php
RewriteRule sitemap.xml$ index.php
RewriteRule show_image_in_imgtag.php$ index.php
RewriteRule phpmyadmin$ index.php
RewriteRule blackhat.dll$ index.php
RewriteRule general.js$ index.php
RewriteRule get_reminders.php$ index.php
RewriteRule install.txt$ index.php
RewriteRule get_events.php$ index.php
RewriteRule auth.inc.php$ index.php
RewriteRule delete.php$ index.php
RewriteRule adxmlrpc$ index.php
RewriteRule class.dashboard_lms.php$ index.php
RewriteRule home$ index.php
RewriteRule default.php$ index.php
RewriteRule index.inc.php$ index.php
RewriteRule logging.php$ index.php
RewriteRule public.php$ index.php
RewriteRule index.inc.php$ index.php
RewriteRule add-cats.php$ index.php
RewriteRule nosuichfile.php$ index.php
RewriteRule judge.php$ index.php
RewriteRule apple-touch-icon.png$ index.php
RewriteRule apple-touch-icon-precomposed.png$ index.php
RewriteRule host-meta$ index.php

by ebalaskas@ebalaskas.gr (Evaggelos Balaskas) at August 30, 2010 05:22 AM

Linux Poison

How to block flash videos using Squid proxy Server

A popular request is to block certain content types from being served to clients. Squid currently can not do "content inspection" to decide on the file type based on the contents, but it is able to block HTTP replies based on the servers' content MIME Type reply. The MIME Type reply is generally set correctly so browsers are able to pass the reply to the correct module (image, text, html, flash,

by Nikesh Jauhari (njauhari@cybage.com) at August 30, 2010 04:27 AM

Chris Siebenmann

A Bourne shell irritation: no wildcard matching operator

A Bourne shell irritation: no wildcard matching operator

Here is an irritation that gets me every so often: the Bourne shell has no wildcard match operator that you can use in if checks and the like. You can do wildcard matches, but only in case statements.

(Bash has the [[ =~ ]] operator, but it uses regular expressions instead of shell wildcards. I know, I pick nits, but shell wildcards are often simpler and they match what you use in other sh contexts.)

This comes up surprisingly often, at least in the sort of shell scripts that I write. It's not insurmountable but it is inconvenient and it can make my shell scripts read less clearly. Later shells, such as Plan 9's rc, get this right and have built in wildcard matching and non-matching operators, and I have wound up using them relatively frequently.

(Yes, there is a workaround if you are doing this often enough.)

Of course, like a lot of things about the Bourne shell there are historical and philosophical reasons for this. The biggest one is a programming language design issue: you really want your wildcard matching operator to have shell support so that you do not have to keep quoting the wildcards themselves. Philosophically, the only good place to put this in the Bourne shell is as part of explicit shell syntax (ie, in a case statement); inventing a magic operator that didn't do shell wildcard expansion when used as if it was a command would be at least inconsistent.

(Tom Duff was willing to be this magical when creating rc, fortunately. It may be inconsistent but it's very convenient.)

The difficulty is compounded because the natural place to put such an operator is in test, and test started out as an external program, not something built in to the shell. If not expanding wildcards in something that looks like a command is odd in the Bourne shell, doing so for some arguments to an external program is outright serious magic.

PS: expr is not an adequate substitute for various reasons.

Sidebar: the workaround

case conditions will do variable expansion and then, if the variable expands to a wildcard, do wildcard matching on the result. So the simple way around this is to define a function:

match() {
  case "$1" in
    $2) return 0;;
  esac
  return 1
}

Then you can say 'if match $var ".c"' and the like. If you have to you can even write vaguely crazy things like 'if match $var "*.c" && [ -f $var ];'.

by cks at August 30, 2010 03:20 AM

Canllaith.org

The Puppetmaster

I’ve been asking to have ‘The Puppetmaster’ as my job title for quite a while now – ever since I first discovered the joys of configuration management with Puppet some 18 months ago. We do a reasonable number of solutions that involve Puppet, with more coming up soon. I’m not exactly a Puppet guru – not yet, at any rate – but I am the person who has the most familiarity with it and the most experience with it here.

Business cards

My new business cards arrived today and about half of them look like this. I’m going to have to dedicate myself to becoming a true master of Puppet to be worthy of these!

That and buy my manager a beer or five.

by Jes at August 30, 2010 03:12 AM

August 29, 2010

Ubuntu Geek

Step By Step Ubuntu 10.04 (Lucid Lynx) LAMP Server Setup


In around 15 minutes, the time it takes to install Ubuntu Server Edition, you can have a LAMP (Linux, Apache, MySQL and PHP) server up and ready to go. This feature, exclusive to Ubuntu Server Edition, is available at the time of installation.The LAMP option means you don’t have to install and integrate each of the four separate LAMP components, a process which can take hours and requires someone who is skilled in the installation and configuration of the individual applications. Instead, you get increased security, reduced time-to-install, and reduced risk of misconfiguration, all of which results in a lower cost of ownership.New pre-configured installation options have been added to the postgreSQL Database options join existing Mail Server, Open SSH Server,Samba File Server, Print Server, Tomcat Java Server,Virtual Machine Host,Manual Package selection,LAMP and DNS options for pre-configured installations, easing the deployment of common server configurations.
(...)
Read the rest of Step By Step Ubuntu 10.04 (Lucid Lynx) LAMP Server Setup (684 words)


© admin for Ubuntu Geek, 2010. | Permalink | 5 comments | Add to del.icio.us
Post tags: , , ,

Related Articles

by admin at August 29, 2010 11:07 PM

canspice

Twitter Weekly Updates for 2010-08-29

  • The Destiny drama just keeps on entertaining! #
  • Hello Monday! #
  • Cloud: bus late. Silver lining: get to listen to the CBC Radio 3 R3-30. #
  • Maybe I should have put that container of cantaloupe in a plastic bag before putting it in my backpack… #
  • I love it when programmers put functionality in the documentation but not in the code. #
  • Yay for getting on a train that goes out of service at Edmonds! #
  • RT @10thToTheFraser Huzzah! The Royal City Farmers Market 2010/2011 Winter Market is officially on in #NewWest -http://fb.me/HXSimKcF #
  • RT @sirhc People who refuse to be vaccinated should be quarantined. Don't endanger the rest of society for your idiotic beliefs. #
  • I have to wonder if this code was ever tested. Past experiences with said code (e.g. not closing I/O streams) suggests not. #
  • Set a 'missing2' attribute and test a 'missing' attribute — brilliant! No wonder the code thought every sample was missing. #
  • Anybody in #NewWest know what happened at Agnes & 1st today at 5pm? Fire trucks, police, road closed off until about 6… #
  • Add a few explosions and you've got a blockbuster movie: RT @ctvbc Pot seized at bear-guarded grow-op stolen from cops http://bit.ly/9Xs09P #
  • What do you mean the Cold War is over? http://www.cbc.ca/politics/story/2010/08/25/cf-18s-russians-airspace.html #
  • What's the difference between selling a used video game & a used car? Why do game publishers get their knickers in a twist about used games? #
  • RT @BadAstronomer Bad Universe giveaway: book, TV show swag, a real meteorite! Retweet to enter. Rules: http://is.gd/eDbwy #BadUniverse #
  • (sorry for the retweeted contest spam, but he's got an asteroid up for grabs. An asteroid!) #
  • (I meant meteorite, of course. Dr. Tatum would be so disappointed…) #
  • Didn't I see this on NCIS? http://www.nytimes.com/2010/08/26/us/26drone.html #
  • High standards in higher education in the US: http://bit.ly/9hYTfr #
  • It would be really nice if my wrist stopped hurting. #
  • RT @CKNW Have you seen this boy?: Surrey RCMP is seeking the public’s assistance in locating a 4 year old boy… http://bit.ly/dbukHu #
  • Why a I not surprised? http://arstechnica.com/science/news/2010/08/bottled-tea-more-sugar-less-health-then-home-brewing.ars #
  • First and last time I spam this: if you play Office Heroes, add me as a friend. My friend ID thingie is, amazingly, 'canspice'. #
  • It would be awesome if WordPress's maintenance mode a) didn't lock me out of the dashboard, and b) could be cleared from the dashboard. #
  • RT @denisleary Anti-Muslim Florida pastor plans Koran bonfire on Sept 11. Might as well go whole hog & use the Bill Of Rights as kindling. #
  • Picking up porter for Welsh Rarebit. Woo! (@ BC Liquor Store) http://4sq.com/bDMhUk #
  • When we're outside and you're ten feet away and I can smell your cologne, you're wearing too much. #
  • RT @gnat It's much easier on your readers if you take the time to abbreviate and compress your tweets than if you simply (contd.) #
  • Elizabeth is going to make an awesome Perl programmer: RT @AliceCavanagh Hbbbbjlm. .?)&$?$ z.,x(),,,?,?!!'ln cxfgfh #
  • The best part of visiting Chilliwack is saying Luckacuck all the time. Luckacuck! #

Powered by Twitter Tools


by Brad at August 29, 2010 01:59 PM

mypapit gnu/linux blog

Test Password Strength at HowSecureIsMyPassword.net

So how secure is your password? You can test it from this website : http://howsecureismypassword.net/

Warning: Do not use your real password for testing on this website, it is not secured!

how secure is my website


by mypapit at August 29, 2010 12:42 PM

Ubuntu Geek

TaoSecurity

GE Looking for Business Response Team Leader

GE continues to hire security professionals to help reduce IT risk at our company. I should be posting additional jobs for my team (GE-CIRT) next month, but right now my boss (our CISO) asked me to help find a Business Response Team (BRT) Leader for our Corporate entity. Visit www.ge.com/careers and search for job 1251700 to find the role. From the summary:

The Business Response Team (BRT) Leader is responsible for working with business peers and the GE Computer Incident Response Team (GE-CIRT) to better protect GE Corporate from digital intruders. The BRT Leader limits and assesses the damage caused by digital intruders, evaluates the posture and configuration of business computers, provides direct security support to business initiatives, and works to improve the security of the business.

This role is in Connecticut in order to be close to our HQ.

by Richard Bejtlich (noreply@blogger.com) at August 29, 2010 10:48 AM

Blog o thnet

Apropos Solaris

John Fowler (Oracle Executive Vice President for Server and Storage Systems) held an on-line webcast on August 10 on the strategy for hardware servers based on SPARC and x86, and the formalization of the upcoming release of Solaris 11 in 2011.

This post is only aimed at summarize the main points, the complete slides of the presentation are available at the Oracle web site.

  1. Message #1: SPARC is alive and will continue. Solaris is alive and will continue. Both actively.
  2. Message #2: What is interesting here is that this is not only intentions, it is a real roadmap up to five years, on the ex-Sun well-known products. Oracle clearly has some strong plans about Solaris, SPARC ad x86 platforms, and just began to speak publicly about them. We will see probably more about them all at the Oracle OpenWorld in few weeks now.

The points are:

  • A roadmap for SPARC and Solaris up to 2015.
  • SPARC will double performance improvement every two years:
    • Cores: 128 (32 in 2010).
    • Threads: 16384 (512 in 2010).
    • Memory capacity: 64TB (4TB in 2010).
    • Logical Domains: 256 (128 in 2010).
    • Java Ops per second: 50000 (5000 in 2010).
  • Very SPARC oriented: it seems that there will only be one SPARC brand at the end of 2015.
  • Two big families of SPARC servers: lots of threads known as the T-Series, lots of sockets known as M-Series.
  • A least one Update to Solaris 10 around 2010Q3, a beta program of Solaris 11 known as Solaris 11 Express due to last 2010, then Solaris 11 due in 2011 and up to 2015.

Solaris 11 will be based on the now close OpenSolaris distribution, which will include:

  • Image Packaging System (IPS): totally new packaging system fully integrated with ZFS and Boot Environment Administration (aimed at replacing Live Upgrade).
  • Crossbow network virtualization stack.
  • ZFS de-duplication, and lots of recent optimizations and functionalities.
  • CIFS file services : in-kernel implementation of CIFS.
  • Enhanced Gnome user environment.
  • Updated installer and auto network installer ("AI", aimed at replacing JumpStart)
  • Network Automagic configuration.
  • And many more (I heard Solaris 10 BrandZ...).

by Julien Gabel at August 29, 2010 09:19 AM

Chris Siebenmann

How many uberblock copies ZFS writes on transaction group commits

How many uberblock copies ZFS writes on transaction group commits

The ZFS uberblock is the root of the tree of ZFS objects in a pool (technically it is more a pointer to the root, but it's how ZFS finds everything). Because it is the root, it has to be updated on every ZFS update. Also, because it is so important ZFS keeps quite a lot of copies of it (and has a clever 'copy on write' scheme for it, so that it is not quite updated in place).

Given the impact of writes on mirrors, it becomes interesting to ask how many copies of the uberblock ZFS actually writes out. First off, the raw numbers: there are four copies of the uberblock on every physical disk in the pool, stored as part of the four ZFS label areas (two at the start of the disk and two at the end).

At the top level, there are two cases for uberblock updates. If the vdev or pool configuration is considered 'dirty', the uberblock is synced on all vdevs. If the pool configuration is unchanged, the uberblock is synced to at most three vdevs, chosen by picking a random start point in the list of top level vdevs. If your pool only has three (or less) top level vdevs, the two cases are equivalent.

(My powers of reading the OpenSolaris source code are not quite up to determining exactly what makes the pool configuration dirty. Certainly adding or removing devices does it, and I think that devices changing their state does as well. There are likely to be other things as well.)

When ZFS syncs the uberblock to a top level vdev, it writes copies of the new uberblock to all physical devices in the vdev (well, all currently live devices); to all mirrors in a mirrored vdev, and to all disks in a raidzN vdev. Syncing the uberblock to a physical device involves four separate writes. But wait, we're not done. To actually activate the new uberblock, the ZFS labels themselves must be updated, which is done separately from writing the uberblocks. This takes another four writes for each physical disk that is having its uberblock(s) updated.

So the simple answer is that if your pool has three or less top level vdevs, you will do eight writes per physical device every time a transaction group commits in order to write the uberblocks out. Fortunately transaction groups don't commit very often.

Sidebar: the uberblock update sequence

The best documentation for the logic of the uberblock update sequence is in vdev_config_sync() in uts/common/fs/zfs/vdev_label.c. The short version is that it goes:

  • update the first two labels. They now do not match any uberblock and are thus invalid, but the last two labels are still good.
  • write out all of the new uberblocks. If this works, the first two labels are valid; if it doesn't work, the last two labels are still pointing to valid older uberblocks.
  • update the last two labels.

(ZFS labels include what transaction group (aka 'txg') that they are valid for. They do not explicitly point to an uberblock. Uberblocks contain a transaction group number and a pointer to that txg's metaobject set (MOS), which is the real root of the ZFS pool.)

by cks at August 29, 2010 05:55 AM

August 28, 2010

Ubuntu Geek

How to install VLC 1.1.4 in ubuntu 10.04


VLC media player is a media player, streamer, and encoder for Unix, Windows, Mac OS X, BeOS, QNX, and PocketPC. It can play from many inputs like files, network streams, capture device, desktops, or DVD, SVCD, VCD, and audio CD. It can play most audio and video codecs (MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC, etc.), but can also convert to different formats and/or send streams through the network.
(...)
Read the rest of How to install VLC 1.1.4 in ubuntu 10.04 (107 words)


© admin for Ubuntu Geek, 2010. | Permalink | No comment | Add to del.icio.us
Post tags: , ,

Related Articles

by admin at August 28, 2010 02:38 PM

mypapit gnu/linux blog

Debian Day 2010 aka Debian 17th Birthday!

Debian has already turns 17 ! For those who wants to celebrate it (especially LoCo), you can follow the methodology as outlined in the DebianDay2010 Wiki page.

Debian Day 2010

I still didn’t see Malaysia among the LoCos that organized Debian Day 2010, perhaps we can hold a meeting on that?


by mypapit at August 28, 2010 10:41 AM

Ben Rockwood

Time Management Tips from Randy Pausch

Randy Pausch, you may recall, became infamous because of his dying "Last Lecture". Just tonight I happened to come across a talk he did on Time Management, "because time is all we have." As he particularly pointed out, "you may have less of it than you think." Time management tips from a dying man, who better to speak on the subject?

Whats shocking to me is that the talk is not philosophical, rather its 1 hour 16 minutes of non-stop practical pointers, ideas and applications.

Randy Pausch Lecture: Time Management

I think my chief takeaway was that time is, and should be treated as, a precious commodity. If you are spending time, it should be on something worthy of that sacrifice. What this also implies is that if someone wants my time, I should ensure they are using my time wisely. Time is not an infinite resource.

This point is particularly key to me because I am a wanna-be perfectionist. I will drag on and on and on for days, weeks, months trying to think something through before truly devoting myself to it. For code this means that I want to be able to visualize all the logic before I start writting. Now, this is an entirely flawed concept, because any reasonably complex program is going to have more lines of code in it that you can keep in your head. Therefore, when I try to visualize everything I'm actually just moving from visualizing one small part to another, and loosing something during the mental context switch. I should instead just start writing the program and then deciding ahead of time to improve it later. This is essentially my version of "a working program today is better than a perfect program in a year".

I'm reminded of a phrase I cooked up with Tamarah (my wife, the lovely women above) several years ago. When discussing something emotional and complex, you can spend a lot of time thinking over and re-thinking the right way in which to phrase it to provide clarity. But this is exceptionally hard to do and very time consuming. Therefore, when we see eachother in this "I'm not sure how to put it..." pause, we will say: "Badly... and work from there." So we work in drafts, making it clear that the first draft is probably horrifically inaccurate and wrong, but we'll work towards clarity together and in doing so get a clearer picture of the topic than we'd ever get from the perfect one line explanation.

For sysadmins I find this really hard. It seems all we sysadmins are both perfections and ADHD at the same time. I wish I were exaggerating, but most of us really actually are clinically hyperactive... its a job qualification. The problem is that while we can keep a lot of plates spinning, we're very bad (on the whole) of providing timely delivery with high quality, unless an external force demands it. This is why sysadmins have to have managers. Geeks without overlords will do amazing things and deliver very few of them. (The description of a good overlord is an excessive left for the reader.)

I digress. I personally recommend watching this video repeatedly, say every 3 months. I re-watch David Allen's GTD talk at Google every couple months already. I always find something new in it and it's a great reminder to get back on the wagon. More importantly, personal management is dry and tedious, so hearing enthusiastic guys like David Allen or even Tony Robbins (say what you will, his TED talk was fantastic) can be a real pick-me-up.

by benr at August 28, 2010 09:10 AM

Chris Siebenmann

The different between an SMTP proxy and a SMTP relay

The different between an SMTP proxy and a SMTP relay

This is one of those distinctions that is both obvious and obscure.

SMTP proxies and SMTP relays both sit between two machines; call them the outside client and the inside mail server, as in the case of our external mail gateway.

A SMTP proxy is synchronous. When it gets a SMTP connection from the outside client, it establishes an SMTP conversation with the inside mail server. When it receives a SMTP command from the outside client, it applies its own processing (if any), sends the command on to the inside mail server, and only gives a positive reply to the outside client if the inside mail server also accepts it. Of course a filtering SMTP proxy can reject a SMTP command without even bothering the inside mail server if it wants, and it can filter and modify the commands it sends onward (and the replies it gets back).

('Command' here is broadly construed; for example, all of the message body might be seen as a single command.)

A SMTP relay is asynchronous. Even if it immediately starts a SMTP conversation with the inside mail server, it won't delay replies to the outside client's SMTP commands until it has answers from the inside mail server. Most SMTP relays don't even start talking to the inside mail server until they've had a full conversation with the outside client.

SMTP proxies are in many ways simpler than SMTP relays, because they never becomes responsible for messages themselves; responsibility passes directly from the outside client to the inside mail server, because the SMTP proxy never tells the outside client that the mail has been accepted until the inside mail server has also accepted it. A SMTP proxy does not have to reliably save messages to disk in case they can't be immediately delivered or the system crashes, it does not have to maintain and retry queues of pending messages, and it has the important property (from an antispam perspective) that it never has to generate and send a bounce message and thus it never has to worry about the accept-then-bounce issue.

Because a SMTP relay actively takes responsibility for messages, it does have to deal with all of those issues. (It may chose to break the rules, in which case mail can silently vanish.)

Essentially all MTAs are SMTP relays, because that's their purpose; they accept and transport and store email for people. Very few are capable of acting as SMTP proxies, because this is a rare case for them.

Conversely, anti-spam filters that you talk to using SMTP are generally SMTP proxies, because they don't want to deal with all of the extra complexity of being an SMTP relay (especially the the accept-then-bounce issue).

by cks at August 28, 2010 05:20 AM

Simplehelp

How to move items in the OS X Trash back to their original location


Mac

Here’s a quick OS X tip – but only works if you’re using OS X 10.6 (Snow Leopard). You’ve always been able to drag items from the Trash to your Desktop (or any other folder) if you decide not to delete them. Now you can move some (or all) files from your Trash back to their original location on your Mac.

To do so, select the items you want to move back to their original locations from the Trash, then right-click (or ctrl-click if you have a single-button mouse) and select Put Back.

moving items from the trash back to their initial locations

Now all the files you selected will be relocated back to their previous locations. No need to manually move files around one by one anymore :)

---
Related Articles at Simple Help:


by Ross McKillop at August 28, 2010 04:49 AM

Ubuntu Geek

August 27, 2010

Milek

The Future of Solaris

Below is a collection of blog entries on what's going on recently in regards to Open Solaris and Solaris 11.

by milek (noreply@blogger.com) at August 27, 2010 11:28 PM


Administered by Joe. Content copyright by their respective authors.