This is non-standard (process returns a random number upon completion). It should rather be int main() instead - with a correct, standard behavior (process returns 0, even if final return 0; is omitted). Using void main() implies the dreaded "undefined behavior"...

As Kroc Camen mentions in his article, Ruby came to the point where the mainline codebase became somewhat bloated. One interesting thing is that he mentions a need to redesign Ruby's syntax, to incorporate multithreading capabilities better. Exactly what C++09 intends to do with regard to multithreading quite soon. Nice, nice, nice! One more reason to learn new C++ :)

And he then says:

Clearly then, even after 50 years of general-purpose computing we still haven't come up with the answer to the final language to describe it all.

I am breathless! Fortunately, my fingers are still (freely) working. Obviously K does not realize that major universities and corporations are switching to free software for day-to-day needs encountered in such large organizations, like communication, writing letters and memos, public presentation of data, etc. You already know this, but I would like to bring it back to your memory. Major police forces in Europe are (Oh my gosh!) switching to free software (see: http://news.softpedia.com/news/Parlez-Vous-Ubuntu-Says-The-French-National-Police-77605.shtml). How can the world be safe anymore?

This episode brink back to memory a historical event: that of Galileo's.In the beginning there was the earth (read Microsoft), safely placed at the centre of the universe. Now this place has been shown to be occupied by the sun, and many planets are circling around it. One of those is microsoft, and another one is linux. And there is life on linux...

2008-09-30

As we follow the zig-zaggy quest of me trying to learn to program, I discover the next significant step, “Interest”. I started with a goal: to learn to program. Next I came up with a plan: Learn Python by writing a program called PT (period tracker) but I lacked the last bit, interest.

You see, there was very little that period tracker did that a calendar didn’t. Spending hours to make a program to do work that I could do in five minutes with a calendar and a pencil seemed like a waste of effort.

Now don’t take this the wrong way. [...] I’m pretty accomplished at wasting time, but I can’t abide doing work “for fun” that bores me.

This gets to the heart of free software programming. People don’t program just because they want to learn. They don’t even program because they have a need. People program because they are interested in getting something done, and they are willing to do it themselves. Learning to program is time consuming and requires effort, but the effort means nothing if you’re having fun, just ask anyone playing racquetball.Programming is best when it is play.

Tim Sweeney, co-founder of Epic Games and the brains behind every iteration of the widely licensed Unreal series of 3D game engines, [...] predicted that rendering would eventually return to the CPU. Take a 1999 interview with Gamespy, for instance, in which he lays out the future timeline for the development of 3D game rendering that has turned out to be remarkably prescient in hindsight:

2006-7: CPU's become so fast and powerful that 3D hardware will be only marginally beneficial for rendering, relative to the limits of the human visual system, therefore 3D chips will likely be deemed a waste of silicon (and more expensive bus plumbing), so the world will transition back to software-driven rendering. And, at this point, there will be a new renaissance in non-traditional architectures such as voxel rendering and REYES-style microfacets, enabled by the generality of CPU's driving the rendering process. If this is a case, then the 3D hardware revolution sparked by 3dfx in 1997 will prove to only be a 10-year hiatus from the natural evolution of CPU-driven rendering.

Sweeney was off by at least two years, but otherwise it appears more and more likely that he'll turn out to be correct about the eventual return of software rendering and the death of the GPU as a fixed-function coprocessor.

2008-09-26

[In reply to Mark Shuttleworth]I acknowledge your amazing skill and energy at mobilizing and spreading acceptance of GNU/Linux on the desktop. And part of that skill is your ability to figure out what makes it accessible to grannie too.[...]The only caution I feel is this: the first goal is to provide a free and open source system. After that comes usability, ease of use, convenience, protection of users, etc.

Yes, I agree. It's that feeling of being part of something profoundlydifferent, and liberating, that makes us tick. And the "make users lifeeasier" theme is a very slippery slope, that can be used to justify thewhole shebang - Skype, Flash, you name it. Walking the fine line betweenselling out and actively furthering the cause of free software throughsome pragmatism is possibly the toughest thing we do [...]

Now that's something, really really something. PJ just summed it up so very nicely. For all the whiners that are uncomfortable with Linux there is an answer: "the first goal is to provide a free and open source system". Even if some Linux distro is not as polished as one might want it to be, it is a free system, dammit! It it wasn't you wouldn't have a thing to complain about!!! And if there's something to complain, then it's most probably the famous "itch to scratch". Then better yet, instead of complaining just scratch it, *DO* something to improve the situation. Submit a bug report, a translation, a patch if you're skilled enough... Act, don't complain. Do as others do: cooperate.

Then again, if you still only want to complain, mind this: "talk is cheap". And if you insist on complaining, you're most probably a green, ugly, internet troll - move on somewhere else.

2008-09-04

The reason that skilled employees quit, however, is a bit more complicated. In virtually every job, there is a peak in the overall value (the ratio of productivity to cost) that an employee brings to his company. I call this the Value Apex.

On the first minute of the first day, an employee’s value is effectively zero. As that employee becomes acquainted with his new environment and begins to apply his skills and past experiences, his value quickly grows. This growth continues exponentially while the employee masters the business domain and shares his ideas with coworkers and management.

However, once an employee shares all of his external knowledge, learns all that there is to know about the business, and applies all of his past experiences, the growth stops. That employee, in that particular job, has become all that he can be. He has reached the value apex.

2008-06-29

1) You wrote:In creating nearly all packages, there is always some amount of shell scripting that needs to be done.

Yes, this is historically what is being done. However the more I think about it, the more problematic I see it. Why are there during installation things that has to be done by shell scripting??? What are these things?

Installing a package means to copy its files in the right places (binaries, docs, images, launchers, etc.), create/update config files, restart services. All these things could be done by the installer, and the pre-inst and post-inst scripts IMO hide the deficiencies of the package manager and/or package format.

For Java there is the "ant" tool, and this way for compilation the tested, proven and versatile (but old) makefiles are not needed. And the ant's build.xml file is, well, XML. Even more, ant is extendable by providing it with new "actions" so it it not limited to a single set of XML tags. This lets me have a confidence it would be doable to use XML for package management, so please don't spread misinformation and prejudices here.

Even more:Many packages require some form of post-install and pre-uninstall scripting to be done. The most universal method for doing this on any distribution is a script.

Yes, you're right. However, if the package managers would run such a script providing it with the settings like paths to config files, description of package dependencies, and other things that differ between distributions today - this would be an even more powerful mechanism. And at this point I would agree that there is a place for shell scripting (which I like and use quite often in my everyday work).

2) You mentioned a myth:The user should be able to get a package from just about anywhere, and it should run automatically on their Linux system.

I fail to consider this a myth. Either we want uniformization of Linux environment or we don't. Either it is a good thing to expand Linux penetration of the market or it's bad. If these goals are to be met, this is one of the means to achieve these goals.

Why do distributors and distributions exist? Because people have different views on how to do things. Different gcc and toolchain versions, different compiler settings, different locations of config files (think: apache2), different package formats. If there was some common ground in a form of installer API, no need for pre-inst and post-inst scripts and to some extent uniformity of the OS environment, all the above differences would become less important.

Maybe it's time to really think about more cross-distributions standardization?

3) However:Trying to funnel everything down through some common layer at the bottom really reduces the chances for big innovation to happen.

And here I agree with you 100%. So in fact I'm not completely sure what to do w.r.t. software packaging in Linux. But uniform approach to this problem and uniform solution would surely bring commercial world to Linux. So they would be able to package their software once and it would run in almost every distro. One thing remains to be answered, whether this is really a goal that we would like to reach?

2008-06-05

It's not so easy to create a unified, centralized repository for all Linux distros as you might think.

The distros exist because all these people have different opinions on how a Linux system should work. I'd say this is a real-time experiment, a Darwinian effort to see which approach works best. This is the price of innovation. At the other end is stagnation, and I don't think any of Linux users would like it to stagnate.

Reasons for why it's hard to create universal packages:1) Improvements/differences in GCC compiler and so called "toolchain".2) Different init systems and services management.3) Different config files locations and syntax.4) Different package formats and package management systems.

Explanations:

1) All binary programs that constitute a working system have to be compiled (translated from human-readable form into a form suitable for CPU to execute). In case of Linux the kernel, basic GNU tools and other useful programs (be it X Window System, GNOME/KDE/XFCE/etc, Firefox, K3B, and so on), this is done by a suite of GCC compilers and a set of tools like: automake, linkers, loaders, binutils and so on.

These tools are not set in stone, they are improved, changed, restructured over time, not to mention the occasional bugfixing. Sometimes these changes are INCOMPATIBLE, like changing the GCC from version 2.95 to 3.x line and then to 4.x series. The same is for accompanying tools. They all change as their requirements change (according to the user's demand).

So when a particular distro or a package developer decide to use a specific set of tools and libraries, with their specific versions and behaviour, these decisions can be a source of incompatibility across distros and package maintainers. So for example, an mplayer package from distro A may *NOT* work at all in distro B, because of so called ABI differences (Application Binary Interface). The compatibility is maintained at the source level instead. So it's the distro maintainers that worry about this, so they just recompile a problematic package and put a new version for use.

2) Even when the package is compatible at the binary level (which is true for most packages and distros), distro creators may have different views on how their systems work internally and how they handle system services. I mean the locations of service scripts (/etc/rc.d versus /etc/rc0.d versus /etc/init.d), their configuration files' locations (/etc/default versus /etc/conf.d) and structure, where they place working directories of services, and so on.

This may not apply to the end-user applications like web browser, multimedia player or CD/DVD burning application. But for things like cups (printing service) or apache (web server) it is a serious concern. Each distro may offer a unique approach here, because of people disagreeing on the details. So it may happen that a specific package from distro A would not work in distro B or may even break its installation. That's why users are advised *NOT* to install foreign packages on their own without thinking about consequences.

Compiling a package manually under a given distro typically yields in a working package that's tailored to this distro (and honestly it's not so hard as one can imagine). But since then it is the user that's responsible for maintaining such package and upgrading it when some bugs are found.

3) Sometimes even a basic structure of config files may be radically different. From my experience the network configuration varies wildly between distros (e.g. Debian, Mandriva, RedHat and Gentoo have it completely different). Apache configuration files are also well known to be differently separated and placed in different directories and under different names in distros. Just because people have different opinions and vision on how it should be done.

[Note: this section has been added here] Also, KDE installations may vary between distros: there can be different directory names, different number of config files, application launchers and so on. These are the parameters that can be set at the compilation time. So when people pick different values here, incompatibilities arise. For instance, Debian/(K)Ubuntu and PCLinuxOS have it completely different.

4) Package formats of DEB, RPM, TGZ, .recipe, .ebuild are different enough to be incompatible. In some packages there are little programs (maintainer scripts) that are run at the beginning of the installation or after a package is installed.

Each package format has a different way of describing dependencies (which other packages need to be installed first before a given package would run correctly). Even RPM or DEB packages from different distros may describe dependencies incompatibly. Even packages from different releases of the same distro may be incompatible!

Package formats also evolve, for example recently Ubuntu and Debian introduced the concept of package triggers, independently of pre-inst or post-inst scripts. Yes, this mechanism is backward compatible, but you get the idea.

Concluding, there are incentives to minimize the differences, like the noble FHS (Linux Filesystem Hierarchy Standard) or LSB (Linux Standard Base). So the problems are worked on, but for now it's really hard to create a package that would run unchanged in a number of distros. I don't say this would not change in the future, but I hope you now understand the problems here.

2008-05-31

There are two main ways to fail at the standards game: You can create software that handles documents in formats for which no true standards exist, or you can create a standard that exists only on paper and in committee, with no reference software implementation. Amazingly, for all its hype and bluster, with OOXML Microsoft has managed to do both.

I couldn't describe it better. OXML seems to be a dead standard at this point! Even if it it's no longer "MS OOXML" and is managed by ISO. In short: OOXML is defective by design

2008-05-17

So, Microsoft puts out its hand and offers help with porting open-source software, to make it run best on the Windows platform. How mean. Understandable from marketing and business point of view, but mean anyway (and hey, that's my opinion!).

I have a proposal then, a simple one. Since Windows users are already used to trial versions, time-limited, feature-limited, shareware and other pieces of software which they constantly have to "unlock" by using codes found on the net (or keygens), so let it be!

Let's give Windows users what they already know:

1. Limited editions of Free and Open-Source Software for Windows.2. Full-featured versions, including source code, for all other Operating Systems.

So if someone from Microsoft (or other third-party company) wants to keep working on a port for Windows, let it be. Let them even capitalize on the effort! This way THEY will have to keep up with the upstream. Or if they create substantial improvements, they will HAVE TO release their modified source code (that's the beauty of the GPL license!)

Your offer was insincere, so you won't get what you asked for.Have it your way, Microsoft!

"Linux is a serious competitor," said Ballmer. "We have to compete with free software, on value, but in a smart way. We cannot price at zero, so we need to justify our posture and pricing. Linux isn't going to go away--our job is to provide a better product in the marketplace."

And Thomas Lee said about "most valued professionals" on Microsoft platform:

The [MVP] title is highly regarded. "You are recognized by your peers, not by an exam that you can cheat in." Linux and its community have a symbiotic relationship, he said: "You don't have that same thing at Microsoft, but there are people who are passionate and technical who are committed to doing a great job."

A note of observation. After I switched back to Windows XP I found thatWindows indeed didn't let my drive to spin down or park heads, howeverall this came at the same price I had in Linux, i.e. frequent superclicksand Load_Retry_Count increasing. So the problem is not with Linux orUbuntu at all, the problem is solely with the hard drive.

It is also worth noting that with Ubuntu I was able to reach any comfortableincrease rates by carefully tweaking /etc/laptop-mode/laptop-mode.conf.The most important are ENABLE_LAPTOP_MODE_ON_AC=1,LOST_WORK_SECONDS (the default value of 360 ensures only 10Load_Cycle_Count per hour), READAHEAD (which in my opinion shouldn'tdefault to 3072, since huge delays every half or one minute betweenreads effectively prevent playing videos, setting it to LM_READAHEAD=128was the best in my case), IDLE_TIMEOUT (if you want your drive to reallycool down when idle, in my observation 60 seconds on AC was the best),and WRITECACHE set to one (this adds another good layer of caching bythe hard drive).

Now don't forget to set ENABLE_LAPTOP_MODE=true in your/etc/default/acpi-support.

BUT ALL THIS WON'T WORK unless you edit your /etc/acpi/power.sh and dothe following modifications:

Comment out all $HDPARM nonsense, since laptop-mode controls this foryou (provided you set your settings in laptop-mode.conf, of course).Next, where you see "$LAPTOP_MODE stop" it should be "$LAPTOP_MODE",WITHOUT STOP. The latter is very important, because when"/usr/sbin/laptop_mode stop" is called it effectively TURNS OFF LAPTOPMODE, even if you have ENABLE_LAPTOP_MODE=true in your/etc/default/acpi-support. While calling "/usr/sbin/laptop_mode" withoutarguments does autodetection, and depending on your settings will eitherWithout laptop mode "lost work seconds" do not work and this means thatmount option is not applied and pdflush will drop caches half a secondafter some program (i.e. firefox) writes something to disk. The constantwriting to disk by many applications is what actually causes heads tounpark, and when manufacturer sets some very ridiculous timeout for headparking (i.e. 3 seconds in my case) heads keep unparking all the time.

I'm not sure if acpid is at fault here for calling laptop_mode with stopargument, or laptop_mode not honoring your settings when stop is passed,but current settings make laptop mode effectively useless. When I didthe above modifications and tweaked config files for my tastes I wasable to get rid of all problems. When my computer is idle heads park anddisk spins down, staying untouched for 6 minutes. When I'm doingsomething active, like watching a movie, my drive is constantly accessedand heads don't park needlessly. When I'm having a mix of the two (likeactive browsing, or doing something else) my heads unpark only 20-30times per hour, which I consider very good. And best of all, my drivewas not thermally abused and super clicks didn't happen.

As a comparison, average temperature of my drive under Windows was41 degrees Celsius (and never below), under Linux it was 34-36 degreesCelsius.

I consider that the main issue with this bug is that laptop mode (as it is)DOES NOT WORK AT ALL. Please either fix acpid or fix laptop-mode.

Thank you.

I only wonder if this procedure really would work for me, but since I have a copy of his post here, I'll be able to test it eventually.

2008-05-06

This matrix lists common tasks and the command arguments to perform the task with dpkg, rpm, apt, and yum. Note that apt and yum are really front-end tools for managing packages with dpkg and rpm. The RPM-oriented commands are known to work on Red Hat/Fedora; Mandrake, SUSE, etc are unknown, as some ship slightly older versions. urpmi is not included because I don't have a Mandrake installation to test it on. SysV packages are included because I'm using Solaris again frequently.

> > And they're going to update the default shell to understand> > the backspace key> Thank god. Having the backspace key spew out useless junk> instead of deleting characters is a personal irritant.> It doesn't take too much time to type "stty erase <backspace>"into your shell's .rc file...

If it would fail gracefully and not do anything that would be one thing, but it doesn't. It spits out characters.

It's certainly a different day and age today. :-) I've seen so much:

\E[23~\[7m\E[!p\E[?3;4l\E[4l\E>

in my time. Fixed so many broken terminfo and termcap definitions. Diagnosed so many flow control glitches and mismatched terminal settings on AT&T 4410s and 605s and Wyse50s and Wyse60s. Done so much blind typing into terinals whose screen contents were completely unrecognizable, that when I see a few strange characters, it takes my brain a moment to recognize that there is actually something wrong.

There are only really two important terminal types that I work with today, and those are "linux" and "xterm". And those work so consistently well these days that I can fully understand the surprise that the non-graybeards must experience when a key isn't mapped right. It's a sign that some of the more stupid crap I used to have to deal with is now truly history. Or at least a rarity. Praise the Lord! (And I'm an atheist!)

The backspace thing was, indeed, an embarrassing issue for the year 2008. Especially since, if I understand correctly, it was not a matter of the erase character not being set, but of the shell not handling the defined erase character properly. But it *does* seem to be history. I'm not sure what the old config was, but when I bring up gnome-terminal in 2008.05 I get bash, and the backspace works just fine. I was expecting to be able to ctrl-alt-F1 to check out a text console, but that doesn't seem to be the right key sequence. Unix is Unix is Unix[1]... except for all those little things we take for granted about our usual flavor. :0

[1] That would be "POSIX-like OS is POSIX-like OS is POSIX-like OS" for you anal retentives regarding Linux not being Unix. But even you have to admit it loses something in the translation. ;-)

Not even ordinary people and experts in the field find the OOXML standardization procedure scandalous. Even members of the country standardization committees have concerns. Just read the letter to the president of the Polish Standardization Committee:http://polishlinux.org/poland/ooxml-iso-aftermath-in-poland/

2008-04-28

The notebook I use came with Vista Business and it's dog slow sometimes (note I haven't installed SP1 on it yet). I thought the guide below is the perfect thing to quote in its entirety just in case it ever vanished from the forum. Maybe I will use it someday to reinstall Vista (or maybe rather not), but it's funny thing to quote anyway.

This guide is relatively VENDOR NEUTRAL. It should work on all Vista installations that were preinstalled at the factory, for both laptops and desktops.

NOTE: This procedure may look long, but I'm just really wordy at writing these things. You should get through each step pretty quickly.

Here's the deal, you're a computer guy, and you got a new laptop, but you hate that it came with all that crapware preloaded. If you only had a way to install Vista clean, you'd love to do it. But that brings up another issue: Vista activation. Why should you need to activate Vista again when you already have it activated?

The point of this guide is to be able to install a clean version of Vista, without calling Microsoft (or going online) to activate. No more, no less. I just don't like the "big brother" aspect of activation every time I re-install.

BEFORE YOU POST ANY COMMENTS: This guide is ONLY about reinstalling Vista on a system that you purchased, WITH A VISTA LICENSE. If you have questions about installing on another computer where you have no license, GO AWAY. That is PIRACY and will not be tolerated here.

Some notes:

* You can only install the SAME VERSION of Vista you already bought. If you're laptop came with Home Premium, you can NOT install Ultimate. * This guide uses information that's ALREADY ON YOUR LAPTOP. The only thing you will need to download is a small utility to backup and restore the activation. * I have developed this on an HP laptop (dv9000t and dv9500t), but I don't see why it won't work on other systems. (Let me know if it does!) * This has been adapted and expanded from the original notes given for Lenovo systems by Wh1t3w0lf (see this thread) * I am not a lawyer, but this is not a crack or break in any way. I fully believe that this is completely legal. All you are doing is backing up information already on the computer, and restoring it after you install.

A Note for Beginners:

This is not an especially difficult task, but it is a bit more technical than you may be used to or comfortable with. If you follow the guide, you should be OK. HOWEVER, this guide does not cover installing drivers and possibly other things that you will need after Vista has been installed. Also, you may need to deal with situations that are not covered in this guide. If you don't feel comfortable doing that, then you should not do it. BUT, if you get stuck or something doesn't work right, you can always use the recovery discs to restore your system to the way it was when you opened the box.

Things you need:

* Skills and knowledge enough that you are comfortable installing an OS from scratch, and maybe partitioning a disk. * USB Flash Drive (or other external disk) Must be writable media! You cannot use a DVD or CD * Vista Anytime Upgrade CD (Or the WAU folder that is on your hard disk, see F-A-Q) * 2 DVD+Rs to make your recovery discs * Activation Backup & Recovery tool, downloadable below

Disc DefinitionsThere is no such thing as a "Home Premium Vista" disc, or an "Ultimate Vista" disc!!!! ALL VISTA DISCS CONTAIN ALL VERSIONS OF VISTA. The thing that determines what version of Vista you have is the License Key that you have. You may have a sticker on it that says "Vista Business" or "Vista Home Premium", but IT IS A LIE. Your disc *may* be forced to install a certain version, (see "CUSTOM OEM Vista Disc" below) but it still contains all versions. It is possible to modify this disc so you can use it to install any version (that you have a license for).

There are many types of Vista discs out there, here is the "official" terminology of what they mean (each of these discs come in 2 versions, 32bit and 64bit):

* Anytime Upgrade Disc This disc contains all versions of Vista, unmodified as Microsoft is shipping it. It is sometimes included for free with your system, or can be purchased online for under $10. This purchase price does NOT include a license or serial number, it is only the installation media. It is intended so you can upgrade from one version of Vista to another by purchasing a license online. This is the type of disc you need to do a clean install.

* Recovery Disc These disc(s) contain an image of your computer as of when you got it. They can be used to restore your system to the EXACT state as when you first opened the box and turned it on for the first time. Vista is on these discs, but so is all the bloatware. The images are encrypted, and cannot be modified to be used for a clean install. It's best to burn these for yourself using the included recovery disc creation tools, but you can also usually buy them.

* Vista Retail Disc These discs are the ones you buy at the store in a shiny Vista box. They include a license and serial number for a particular version of Vista. The contents of the disc are IDENTICAL to the contents of the Anytime Upgrade Discs. These discs are expensive because you are buying a license along with them. You already have a license for Vista on your laptop, so there's no need to buy another one to do a clean install.

* OEM Vista Disc These discs sometimes get shipped with your system, and are IDENTICAL to the Vista Retail and Anytime Upgrade discs. The main difference here is in the licensing from the OEM (HP, Dell, etc...).

* CUSTOM OEM Vista Disc These seems to be showing up more recently, especially with Dell systems. Some OEMs ship Vista discs that have been modified to include changes such as forcing the disc to only install a certain Vista version, and also include integrated drivers. You can probably do a clean install with them, but you might need to modify the disc before you do it. See the next section for details.

Obtaining The Vista Installation DiscsThe most important thing you need for this procedure is the Vista installation disc itself. Like many previous versions of Windows, the disc is often not shipped along with your computer in an obvious form. Sometimes it is hidden in plain sight, and other times it is hidden on the hard disk. It's also very possible it was not given to you at all. You need to obtain the disc using one of the following options:

* Purchase from Windows Marketplace: Windows Marketplace sells the discs at a reasonable price (~$15). It doesn't look like they are verifying your registration key on this site (there's really no reason they would need to), but I have not personally gone through the entire process myself. These discs are the same as a retail or OEM install disc, but, like all the other discs in the guide, they do not come with a license. You already have a license, so you don't need to buy another one anyway. Here is the link: Windows Marketplace.

* Anytime Upgrade Disc: The Anytime Upgrade disc was being shipped with new computers, and is exactly the same as an installation disc. It may have come in the box with your laptop. It's in a dvd case inside the box with all the manuals. Unfortunately many companies have stopped shipping this disc with new systems. You have a few options to obtain it: o The disc can be ordered online (legally) from various places for less than $10. CompUSA used to have them, but now they are going out of business. It is very cheap because it is just a disc, and does not include a license. You can try to search for "Vista Anytime Upgrade" at online stores. o Unfortunately, Microsoft has discontinued the Anytime Upgrade program, so you can no longer order the disc from them. You may be able to find the discs elsewhere online, but those will also probably stop being sold as Microsoft shuts down the program. o Some people have reported they are being sold on eBay, but they are a little more expensive.

* MAYBE it's already on your hard drive: Your manufacturer MIGHT have copied the contents of the Anytime Upgrade DVD directly onto the hard disk of the computer (sometimes in a hidden folder called "WAU"). The problem is that you cannot directly burn this to a DVD and then boot from it to do a clean install -- you first need to burn the files as a bootable DVD in order to use them. To create a bootable DVD from these files: 1. Download, install, and run vLite 2. Select the location with the WAU folder 3. Select your vista version 4. Select the ISO button and make the ISO - you can create an image or directly burn to DVD.

Now you should have a bootable Anytime Upgrade DVD you can use for a clean install. Thanks to seven11 for the steps. (Note: You can do a lot of other things with vLite too, but avoid messing with other things in there until you know what you are doing with it). Here are some places you might find the folder on your system: o C:\Windows\sonysys\wau (hidden folder) o Please let me know where you found it on your system!

You can see if it might be on your system by doing the following: o Click Start > Windows Anytime Upgrade > Choose your edition o Under the upgrade option a message will display whether your laptop is pre-configured for Anytime Upgrade

You will not have the "Anytime Upgrade" option if you have Vista Ultimate, but you might still have the folder on your hard drive. Take a look around for it. (Thank to coolguy for these steps)

seven11 has created a PDF with screen-shots that can walk you through the process: PDF Walkthrough

* Borrow a Disc: If you know someone else who has an Anytime Upgrade disc, a retail Vista disc, or an OEM disc, you can use any one of those as well. Make sure that you USE YOUR OWN LICENSE. The license is not tied into a DVD, it's tied to the computer and the product key you use.

NOTE: If you want to use these files to go from 32-bit to 64-bit, you may get an error when extracting the "X13-49121.exe" file. If you do, you will need to open the file with a zip program like "7zip" or "winzip", extract all of the files, then move the "install.wim" and "boot.wim" files into the "sources" folder.

To burn the resulting ISO file to a DVD, use the image burning function in your DVD burning software. Alternatively, you can use ISO Recorder, which is free. Once you install it, right-click on the ISO file and select "Copy image to CD" (You'll need a DVD for this, not a CD).

* OEM Re-Installation Disc: (This one requires a bit more fiddling than the others, so consider it for more advanced users) Some OEMs ship their systems with a "re-installation disc". This disc may be be customized by the OEM to install only one version of Vista, but those customizations can usually be "undone" using vLite, and then will allow you to install any version (that you have a license for) from that disc. This modification removes some of the custom scripts that an OEM uses to automate the Vista installation. Sometimes they also customize the windows install files, but I think they just add drivers to them. Using this method does not give you a "pristine" install disc, but it should be enough to work. An example where you could do this is if you have a Dell Vista Business disc at work that only allows you to install Vista Business. You can modify this disc to allow you to install Home Premium on your home laptop. o For Dell discs: 1. Copy the entire Dell DVD to a folder on your hard drive 2. In the "sources" folder, there is a folder called "$oem$". Delete it 3. In the "sources" folder, there is a file called "pid.txt". Delete it. 4. Open vLite and burn a new disc using those files 5. Install vista. It should now allow you to choose a version of Vista to install, and also will not install the dell product key and activation files (Thanks to Silas Awaketh for the info that helped me figure this out) o Dell is currently the only OEM I have info for. If you have a disc from another OEM, please let me know and we can figure out how to add it.

Procedure:

1. BURN RECOVERY DISCS. If you don't do this you aren't nearly as clever as you think you are, and probably much less so. Do not use the recovery discs you bought from HP!!! Use the recovery manager tool to burn them yourself!!! Burning them yourself is the preferred method to obtain the recovery discs, and many people have found that there are bugs in the HP discs that cause the recovery to fail. DO NOT USE THEM! 2. BURN RECOVERY DISCS!!!

3. BACK UP YOUR DATA!!! This procedure will cause EVERYTHING ON THE DISK TO BE DELETED!!! 4. BACK UP YOUR DATA!!!

2. Double-click on "activation_backup" to run it. You will see some output, and hopefully everything was successful. Running this will create 2 files on your flash drive: * backup-cert.xrm-ms: Backed-up activation * backup-key.txt: Backed-up product key. This product key is different from the one on the bottom of your laptop. We will NOT be using the one on the bottom of your laptop in this procedure. I recommend you write down the Product Key somewhere else as well. Vista may decide that it wants you to re-enter the key at some point, and it's useless if you only have it locked up on your flash drive. (You won't be needing the written down version for this procedure though) Your activation has now been backed-up.

3. Save all the software in C:\SWSetup. This is a big folder, so you might need a DVD for this. This folder contains drivers, useful tools, and the crapware that we're trying to get rid of. You will need the drivers again, and you might decide that you want some of the other stuff later on. Specifically, QuickPlay is in there (and not available for download from HP), so you'll need that. QuickPlay stuff is under QLB\ and QPW\ folders. If you burn this to a DVD, it would be a good idea to "verify" the burn process before assuming it was completed. Most DVD burning software has an option to do this.

6. Turn off the Wireless Network switch and unplug any network cables. (I always like to make sure nothing is calling home until I'm ready for it.)

7. Insert the Anytime Upgrade DVD and reboot the computer. "Press any key to boot from DVD" when you see that message. If you don't see that message and Vista just boots up again, reboot again and hold down the "Esc" key. Choose to boot from the DVD drive.

8. Choose your language, time/currency, keyboard. [Next]

9. Choose [Install Now]

10. Product Key window: 1. Now you will be asked for your product key. DO NOT ENTER ANYTHING HERE. We'll take care of this later.

2. UNCHECK "Automatically activate Windows when I'm online"

3. [Next]

4. You will be asked again to enter your product key. Press [No]

11. You'll be presented with choice of which Windows version you have purchased. YOU MUST CHOOSE THE SAME ONE YOU PURCHASED!!! For me it is HOMEPREMIUM. Also check: "I have selected the edition of Windows that I purchased" [Next]

12. Accept license terms, [Next]

13. Choose [Custom Install]

14. Partition the disk how you like. You can delete the recovery partition here to gain space, BUT ONLY DO THIS IF YOU HAVE ALREADY MADE YOUR RECOVERY DISCS! * On the partitioning window you will see 2 partitions, Disk 0 Partition 1, and Disk 0 Partition 2 HP_RECOVERY. If you have a machine with 2 hard drives, you'll probably see those also. The "Disk 0 Partition 1" is where your current Vista install is located.

* Under the box with the disks in it, there is a link on the right called "Drive options (advanced)". Click on that link and you will have some more options, Delete, Format, Extend, and New. Now you have a few options (pick ONE): o Press [Next] and Vista will install on top of your current install, leaving pretty much everything on the disk. Your old Vista install will still be on the disk, in the folder C:\Windows.old. This probably isn't what you want if you want a clean install.

o Format Disk 0 Partition 1: This will erase everything currently in the Vista install, allowing you to start from scratch.

o Delete Disk 0 Partition 1, then delete Disk 0 Partition 2. Then make a New partition using all the space on the disk.

* You should be able to figure out if you want a different partition setup. I can't possibly walk through all the options.

* Whatever you do, make sure you have backed up. Doing anything with partitions is not undo-able, and will cause everything to be lost.

* If you get lost here, you can always restore with your Recovery Discs.

* I cannot speak to what you'll have on a 2 drive version of the laptop.

15. Windows will do the first part of the install, formatting, copying, etc... Eventually it will reboot.

17. Once Windows finishes starting, you'll notice that the video resolution is very low (everything is big). You'll need to install video drivers, but wait until later. On my system, I was able to increase the resolution enough to be usable without installing any drivers.

18. Check the activation status. Control Panel / System and Maintenance / System. At the bottom you'll see the activation status (30 days trial right now)

19. Plugin your USB flash drive from before. Double-click on "activation_restore to run it. Follow the prompts, and hopefully everything was successful.

20. Re-check your activation status, as above. You will need to close and re-open the System window to see the change. Vista should now be activated!

22. Run the "Windows Experience" tool. This will re-enable Aero Glass and all that other nice stuff.

Common ProblemsHere are some common problems (and solutions) some people have run into (on HP laptops) after doing a clean install:

* If you run into really big problems and nothing is working right: Restore your system using the recovery discs.

* Mute/Volume buttons don't work: These buttons are controlled by the Conexant /Realtek Audio drivers. You may have working sound with the default Vista drivers, but to get the full functionality, you need to install those drivers.

* QuickPlay button on the laptop and the Windows Media button on the remote control don't work: Make sure you installed both the QuickPlay software (in the QPW folder under SWsetup) and the QuickPlay Button Drivers (in the QLB folder). Install and probably reboot, and they should work.

* Volume buttons don't beep: These settings are controlled in the BIOS. Sometimes this gets reset by the system, so reboot and check the BIOS. If the button beeps are enabled in there and still not working, post a message so we can figure it out.

* How do I get the fingerprint reader working? There are 2 things to install for the fingerprint reader, the driver and the software. Make your you install both of them. The software is in the folders inside SWsetup.

F-A-Q

* Why do a clean install? Because a lot of the software on your new computer is stuff you probably won't use, but it's installed and using up resources (hard disk, memory, CPU). Also, some of the software is "trialware", and will keep bugging you to spend more money.

* Why not just uninstall things you don't want? o Uninstalling software does not always work properly, and almost always leaves behind stuff that should have been removed. Once you have installed a program, it is virtually impossible to remove it and have your system identical to before you installed it. THE ONLY WAY to get rid of it completely is to do a clean install. This is because there are items left in the registry and on the disk that simply do not get removed during an uninstall.

o Also, the amount of time it takes to manually remove software by hand is comparable to, if not longer than, the time it takes to do a clean install. You could easily spend the same amount of time (or more) removing everything by hand, and still not be sure you got everything.

o Finally, manually uninstalling is just that, a manual process. You have to actively sit there and uninstall each thing, waiting and clicking through uninstallers. Most of the time spent on a new install is an automatic process, so you can go off and do something else while it runs

* Can I use this method to install Vista on another computer? NO! This only works on the same computer/laptop you already have a license for.

* Is the product ID number the same as the one on the bottom of my laptop?. No, these numbers are different. The number from activation_backup is the one HP used in the factory to install your version of Windows. The Windows activation is bound to the factory product ID, not the one on the bottom of the laptop.

* Why not use the key on the bottom of the laptop? That key is not "pre-activated" and you will have to call Microsoft to activate it. (some people have mentioned that you cannot activate online with this key) And you will have to call them again if you decide to do a reinstall... and again if you reinstall... and every time hope that you have an explanation that they will agree to, even though you already have a license for it and shouldn't be treated like a criminal suspect.

* ...BUT if you have no problem calling Microsoft to get your system activated, you can use the key that's on your laptop. But that method isn't what makes this guide special :).

* I'm doing this on a Desktop computer, and I changed my hardware. Can I use this method to reactivate Vista? If you are being asked to reactivate because of hardware changes you made, this method will probably NOT work, but I don't know.

* Can I install a 32bit or 64bit architecture if I have the other one? There is no technical difference between the 32bit and 64bit architectures with regards to activation. That means that if you backup your activation on a 32bit system, then clean install a 64bit version, it will technically work. However, there may be licensing issues with this, so you must determine if you are licensed to do this by looking at the license you have.

* Will I still be able to get support from my OEM me after I do this? Probably not. They are not obligated to help you out with SOFTWARE problems that might come up as a result of this. In reality, if you have a driver problem or something, they will probably never ask you if you had done a clean installation. However, having done the clean installation, it is assumed that you are able to resolve these types of issues without calling support.

* Does a clean install void my warranty? No. I am not a lawyer, but a warranty generally only applies to hardware on a computer. In fact, almost all software license agreements explicitly state they don't have a warranty. However, your OEM might complain that you cannot access some of their diagnostic tools or something because you have reinstalled, and will probably blame the problem on you... until you can prove them wrong. That's the fact of how these things work, and why making the recovery discs are so important. Restore from the recovery disc, then call them up again and they can't complain about it. If they still complain that something you did caused the failure, you can refer them to the Magnuson - Moss Act which puts the burden on them to prove that any third-party changes caused the failure.

* How can I make another set of Recovery Discs? For whatever reason, you were not able to successfully create recovery discs for the first time, or you lost the ones you made. Now the software won't let you burn another set. To fix this, open an explorer window (my computer, etc..) and go into folder options. Make sure "Hide protected operating system files" is not checked, and also make sure "Show hidden files and folders" is enabled. Then do a search for the file "hpcd.sys" on all local disk drives. Delete all of the ones that you find.

* How can I make sure my Anytime Upgrade DVD has not been modified? If you are concerned that the Anytime Upgrade disc you have might be hacked or corrupted, you can verify the "md5sum" of the disc. The md5sum numbers and volume names for the two official Microsoft Vista discs are (these were generated from ISO images of each disc): o 1008f323d5170c8e614e52ccb85c0491 ..... LRMCFRE_EN_DVD o 11e2010d857fffc47813295e6be6d58d ..... LRMCxFRE_EN_DVD

* Will systems activated using ABR still work with SP1? Yes! SP1 contains a few fixes from Microsoft that allow Vista to detect a pirated version of Vista. ABR DOES NOT CREATE A PIRATED VERSION OF VISTA!!! In fact, ABR is not "getting around" activation AT ALL. It activates the system the same way many OEMs activate the system when using their Recovery Discs and factory installation process. ABR is NOT bypassing activation, it is backing-up and restoring it.

* How can I do a clean install with SP1 already integrated? The procedure for installing is the same, but you will need to obtain a Vista disc that already has SP1 integrated. These discs are currently available from Microsoft if you are an MSDN subscriber, but otherwise they are not available to the public. Hopefully you will be able to get one in the future, but for now I'm not aware of any place to (legally) get them.

Activation Backup & Restore (ABR)This is a utility that allows you to backup and restore your Windows Vista activation for systems that are pre-installed from the factory, allowing you to reinstall the system without having to call Microsoft. It saves the activation to a file and allows you to restore it once you have done a clean install.

Here is the MD5 and download link:25902936601827731bac73dbebe51c7e ........ ABRbeta3.zipMirror Please do not link directly to this file. If you like this utility and want to tell people about it, please link to this web site, and not directly to the zip file.

And now the best part:Quoted guide is long and complicated. However, it seems like people from the Windows world are able to understand and follow it anyway.

NOW IF THE ABOVE IS TRUE, THEN DON'T YOU EVER TELL ME THAT THE WINDOWS FOLKS ARE UNABLE TO FOLLOW GUIDES FOR LINUX OR *BSD (OR SIMILAR), BECAUSE IF THEY CAN MANAGE WITH THE QUOTED ONE, THEY DEFINITELY CAN DEAL WITH THE OTHERS AS WELL!

Yet of course Linux, *BSD, OpenSolaris and rest of the pack doesn't cost a dime, but Vista obviously does. So Vista is definitely much more worthwhile target for those guys? And then they are willing to go great lengths just to reinstall Vista using such clean-and-straightforward procedures, while simple (re-)installation of really clean Ubuntu for example is oh-so-much-complicated?

2008-04-14

Josh Breckman worked for a company that landed a contract to develop a content management system for a fairly large government website. Much of the project involved developing a content management system so that employees would be able to build and maintain the ever-changing content for their site.

Because they already had an existing website with a lot of content, the customer wanted to take the opportunity to reorganize and upload all the content into the new site before it went live. As you might imagine, this was a fairly time consuming process. But after a few months, they had finally put all the content into the system and opened it up to the Internet.

Things went pretty well for a few days after going live. But, on day six, things went not-so-well: all of the content on the website had completely vanished and all pages led to the default "please enter content" page. Whoops.

Josh was called in to investigate and noticed that one particularly troublesome external IP had gone in and deleted *all* of the content on the system. The IP didn't belong to some overseas hacker bent on destroying helpful government information. It resolved to googlebot.com, Google's very own web crawling spider. Whoops.

After quite a bit of research (and scrambling around to find a non-corrupt backup), Josh found the problem. A user copied and pasted some content from one page to another, including an "edit" hyperlink to edit the content on the page. Normally, this wouldn't be an issue, since an outside user would need to enter a name and password. But, the CMS authentication subsystem didn't take into account the sophisticated hacking techniques of Google's spider. Whoops.

As it turns out, Google's spider doesn't use cookies, which means that it can easily bypass a check for the "isLoggedOn" cookie to be "false". It also doesn't pay attention to Javascript, which would normally prompt and redirect users who are not logged on. It does, however, follow every hyperlink on every page it finds, including those with "Delete Page" in the title. Whoops.

After all was said and done, Josh was able to restore a fairly older version of the site from backups. He brought up the root cause -- that security could be beaten by disabiling cookies and javascript -- but management didn't quite see what was wrong with that. Instead, they told the client to NEVER copy paste content from other pages.

And there's a great moral in it:

Try not to pass parameters in the URL the can make changes to your application, the URL should be "idempotent", that is, the same URL should display the same results each time (to certain extent). E.g. passing a parameter to delete something is a really bad idea most of the times.

2008-04-01

“Never tried Linux, but I have friends that swear by it, however my software won’t run on it.”

Linux users are like American soccer fans–they smugly predict that their fetish will take America by storm “any day now!”, and every year when nobody has bothered to give a crap about their obsession, they revel in being one of the select few who “gets it” instead of the rest of the troglodytes in society. Makes them feel better about enjoying something so relentlessly unpopular.

Oh, and if I want to upgrade the memory in a Sony I don’t have to buy a whole new computer because they don’t solder the memory to the motherboard like Mac does.

Oh I’m jealous because I don’t have one. Is that like the Prius owner saying I’m poor because I don’t have one. Yeah, I have five laptops and refuse to pay twice the amount of money for a PC with a Mac case that runs an OS designed so that any idiot can use it without f-ing it up because, well, I actually know what I’m doing.

It’s actually very simple: there are a few iconic products in the market. Products that give the owner some of their image. For us mere mortals, that would be a BMW, a Boss suit, a few others and.. . an iPod / iPhone / iMac (with the iPod and iPhone being more valuable as you carry it around for poeple to see).

Now think about it. If those people define some of their ego through those products, how will they feel if you you are looking for weaknesses in the product? They will feel attacked. Very simple. Personally attacked, for it’s their ego choice that you’re scratching at. So they shoot back. Try it with someone who owns a 3 series BMW. It works exactly the same way.

2008-03-31

I have been a happy user of Creative Sound Blaster Live! Value card for a long while. I bought it in the Windows Me era, and it worked great there. In Windows 2000 the Creative software did not provide the full experience I had on Windows 98/Me. In Windows XP the card just goes with the drivers and no additional software is fully installed. So, I really experienced the gradual removal of features for an older product. And now for Vista, the current Creative drivers are really bad. So bashing a person for taking incentive in his own hands is even more bad from the PR point of view. Looks like the Creative will never learn how to live in the open source world... Since in that case the code would be already accessible, modifiable and redistributable. And the overall word for the Creative products would be even better. But they don't really want to do that.

In short: no more Creative sound cards for me for a good while. That's sure :(