gpupdate: Refreshes Group Policies Settings

October 1st, 2008
Posted in Windows | No Comments

Microsoft TechNet elaborates on the description of the program, stating that gpupdate “refreshes local and Active Directory-based Group Policy settings, including security settings.” This command line utility is useful when updating group policies in an Active Directory environment and immediately checking that modification’s effects.

A Sampling of the x86 Bootstrap Process

August 20th, 2008
Posted in - blah - | No Comments

Looking forward to a three day weekend, I thought about what I could do to pretty much relax from work. I have always been curious about the bootstrap process on a PC, but I never had the time or skill to understand the assembly language and process involved in writing one. After having exposure to proprietary assembly languages at work, I decided to revisit the x86 assembly language, which is the first low-level language that I’ve encountered and should know as a software developer who started computing on an “IBM-compatible” machine, and study example bootstrap code.

My first “Hello, World” program toward a functional bootstrap code is VnutZ’s minimalist bootstrap code:

     [BITS 16]
     ORG 0
     int 0x18
     
     TIMES 510-($-$$) DB 0
     DW 0xAA55


The above code is input to the assembler, and the resulting binary file is written out to the first sector of a disk. The BITS directive sets the target processor mode. According to VnutZ, the processor is in 16-bit real mode when processing is handed off to the bootloader. The ORG directive specifies “the origin address which NASM will assume the program begins at when it is loaded into memory.” The x86 assembly instruction, int 0x18, is a BIOS interrupt call to have the BIOS interpret BASIC code in the ROM. The TIMES directive is used to write zeros after the sole assembly instruction up to and including the 510th byte. The value, 0x55, is written for the 511th byte, and 0xAA is written for the 512th byte. This marker value indicates to the BIOS that a valid bootloader application resides in the sector when the BIOS inspects it.

A personal copy of the PC Bootsector Programming Tutorial in ASM for future reference is found here.

Phone Upgrade Acquired!

August 17th, 2008

Nokia 3588i and Blackberry Curve 8330The Nokia 3588i, activated on January 24, 2004, was my first mobile phone. At the time, I was working at THQ, Inc. as a game tester with the hope of working for one of their subsidiary game development houses and making it big at the Electronic Entertainment Expo (E3). Unfortunately, being a game tester who once worked 76 hours in a single week did not allow time for me to maintain the development skills that I learned in school. I was hammered during an interview at Heavy Iron Studios, because of my neglected software development skills, and was pretty much signaled not to pursue a professional career in video game development. Nowadays, E3’s attendance is 3,000 to 5,000 people as opposed to 50,000 in 2005.

I have worked for five different companies while having the Nokia 3588i in my pocket. I have gained a lot of experience through the diverse work environments with different business models, products, and services. There have been many memories collected while I had this phone, and many of those memories resurfaced as I manually transferred phone book entries to my new Blackberry Curve 8330, which was activated August 12, 2008. Maybe, I should give some of these guys a call, text message, or email.

Questioning the Dependence on Third-Party Service Providers

July 26th, 2008

According to this Amazon.com S3 Team write up on the loss of their S3 service’s availability, “very few requests were completing successfully” during an availability event. The service’s problems seem to have started at 08:40, and the service’s error rates did not fall back to normal, acceptable levels in the United States until 16:02pm. The level of precision offered by the write up, which provides times with minute precision, suggests that the duration of the event was 7 hours and 22 minutes. Allowing a year to be 8760 hours (365 days* 24 hours), the maximum uptime that they can achieve assuming that no other events will occur within the year is 98.318%.

Certainly this event is significant for services that depend on S3 and are contractually obligated to have even just “three nines” or 99.9% availability. I have seen software implementations as well as whole companies that rely on the performance of an uncontrollable third-party. This S3 event is merely another example of what can occur even at a gigantic corporate entity such as Amazon, and it should dissuade people from building their critical systems around uncontrollable third-party services like S3.

A Definition of “All Rights Reserved”

June 11th, 2008
Posted in Legal | 4 Comments

Many people place a notice of copyright on artifacts such as web pages and include the text, “All Rights Reserved,” without actually knowing what those rights are.

The text of United States Code Title 17 (“Copyrights”), Chapter 1 (“Subject Matter and Scope of Copyright”), Section 106 (“Exclusive rights in copyrighted works”) is presented below:

Subject to sections 107 through 122, the owner of copyright under this title has the exclusive rights to do and to authorize any of the following:

(1) to reproduce the copyrighted work in copies or phonorecords;
(2) to prepare derivative works based upon the copyrighted work;
(3) to distribute copies or phonorecords of the copyrighted work to the public by sale or other transfer of ownership, or by rental, lease, or lending;
(4) in the case of literary, musical, dramatic, and choreographic works, pantomines, and motion pictures and other audiovisual works, to perform the copyrighted work publicly;
(5) in the case of literary, musical, dramatic, and choreographic works, pantomines, and pictorial, graphic, or sculptural works, including the individual images of a motion picture or other audiovisual work, to display the copyrighted work publicly; and
(6) in the case of sound recordings, to perform the copyrighted work publicly by means of a digital audio transmission.

As indicated above, the rights are subject to sections 107 through 122 of United States Code Title 17, Chapter 1.