Friday, December 28, 2012

Notable Events: NeXT and Perl


ARS Technica published:
The Legacy of NeXT Lives On in MacOSX
NeXTSTEP technologies still fuel Macs, iPhones, and iPads 16 years later.

The Register published:
The Perl Programming Language Marks 25th Anniversary
Munging data since 1987


Thursday, December 27, 2012

Storage News: December 2012 Update


Oracle: Discusses Tape Storage...

Nanotube Non-Volitile Storage: Nantero NRAM ...

Dell Storage...

Emulex: Storage Network Vendor Buys Network Management Endace...

Red Hat Unites OS to Gluster Clustered Storage...

Advise from The Register: Cisco, Don't Buy NetApp...

Wednesday, December 26, 2012

Networking: 2012 December Update


Cisco to sell off Linksys division; Barclays to Find Buyer

DARPA to Create 100Gb Wireless Skynet

Ethernet Switch Sales Decline, SDN (Software Defined Networks) to Explode...

IBM Integrates Optics onto Silicon...

Tuesday, December 25, 2012

New Technology: 2012 December Update


SSD prices are low—and they'll get lower. MeRAM posed to supplant NAND flash memory...

IBM Integrates Optics onto Silicon...

Sun/Oracle receives patent 8,316,366 on Transactional Threading on November 2012... this came on the heels of a 2011 paper on formally verifying transactional memory on September 2011.

Silence has been from Sun/Oracle VLSI group on Proximity Communications, research funding is due to expire in 2013, is there a product in the future?

Samsung Spends $3.9bn on iPhone Chip Factory in Texas.

Texas Instruments to cut 517 OPAM Smartphone/Tablet Chip Manufacturing jobs in France.

AWS (Amazon Web Services) Hosting Server Retirement Notifications Wanting...

Microsoft Outlook 2013 Willfully Broken: Will Not Recognize .doc or .xls Files

Microsoft Windows 8: Hidden Backup & Clone Feature

Monday, December 24, 2012

Security: 2012 December Update


Microsoft Windows Security Update Breaks Fonts... Update 2753842 Root Cause...
Breaking Windows Passwords in under 6 hours...

New "Dexter" Malware Infects Microsoft Point of Sale Systems to Steal Credit Cards...

Distributed Denial of Service Attacker Anonymous on the Run...

The Pakistan Cyber Army Attacks Chinese and Bangladeshi Web Sites...

ITU: Deep Packet Snooping Standard Leak...

Democrats and Republicans Unite Against ITU Internet Control...

Industrial HVAC systems targeted by hackers...

Microsoft Internet Explorer watching you, even when not open on your screen!

Android Malware Trojan Taints US Mobiles, Spews 500,000 Texts A Day!

 Baby got .BAT: Old-school malware terrifies Iran with del *.*; dubbed BatchWiper; found 7 months after Flame discovery

Apple Shifts iTunes to HTTPS, Sidesteps China’s Firewall

Christopher Chaney, Scarlett Johansson's e-mail hacker, sentenced to 10 years

Sunday, December 9, 2012

Made in the U.S.A.

Tim Cook 1979Apple CEO Tim Cook 2012

Made in the U.S.A.
Abstract:
In a recent interview with the Apple CEO Tim Cook, thanks to The Register for the pictures, there was a short discussion on asembling computer systems in the United States. There have also been short articles on which systems are being manufactured closer to the nation of purchase. Debunking of false 1st world manufacturing drivers as well as industry stated drivers for 1st world manufacturing will be reviewed. The United States is not the only nation which will benefit from distributing manufacturing capabilities outside of large 3rd world manufacturing facilities, so they are also worth the discussion.

North America, courtesy: The Lonely Planet
Home of Manufacturing:
When the United States was a mere "colony", most of the manufacturing was done in England. Much of this started to change during the Industrialization of America. The most significant sweeps in manufacturing, perhaps occurred during World War 1 and World War 2, when so much of the manufacturing capacities around the world were destroyed.

Honestly, I don't remember anything being manufactured in the United States in recent time, except building materials. Of course, wood based product are increasingly being produced in South America, and dry wall is being increasingly produced in China. A recent trip to Home Depo had made me realize this - and helped me to understand that the next building-boom will not necessarily drive U.S. industry.

Apple 2012 21" iMac, courtesy The Register
Manufacturing Consumer Electronics:
During the "tead down" of a 2012 21" iMac, it was noted that the consumer product was assembled in the United States. People have mentions that 2011 Apple iMac's have been assembled in the U.S.A., as well as Mac Pro in 2007, a Mac Mini in 2006, as well as a decade-old Apple Macintosh G3. Computer World mentioned the 1999 Power Mac, the first iMac in 1988, and even the two decade old Apple II.

One of the most interesting quotes from Apple CEO was in regard to manufacting of Apple consumer electronics:
"It's not as much about price," he said, "it's about the skills, etcetera. Over time there are skills that are associated with manufacturing that have left the US."
And in Apple's market, according to Cook, those skills weren't here to begin with. "The consumer electronics world was really never here," he said, "and so it's not a matter of bringing it back, it's a matter of starting it here."
Remembering former CEO of Apple, Steve Jobs, when he was "fired" from Apple, he started a new computer company called "Next", in the 1980's. During that time, they assembled computer systems in an office - but they could never keep up with the demand. Next turned into a "software company" and was later re-purchased by Apple. Computer World may have presented the argument for consumer electronics best:
Cook's announcement was both a recognition of real-world manufacturing and a bit of a departure from former CEO Steve Jobs' opinion. In a meeting with President Obama in 2011 just months before his death, Jobs reportedly said, "Those jobs aren't coming back," when the President asked what it would take to make iPhones in the U.S.
How will Apple bring more manufacturing to the United States? Well, apparently Apple does not have the know-how to do it themselves, at an economically feasible cost.
Cook said that Apple will invest more than $100 million in the project -- pocket change for a company that has over $120 billion in the bank -- but that it wouldn't do it themselves. "We'll be working with people, and we'll be investing our money," he said.
In essence, Tim Cook was right - manufacturing in the United States was, and still is, a difficult endeavour. Regulations are a huge issue, perhaps even a liability issue, that Apple does not feel comfortable dealing with on a larger scale.
Apple 2011 iMac, courtesy arstechnica

More than Apple?

It seems more computer manufacturering is happening outside of China. A recent article from the New York Times mentions:

Five years ago, he says, H.P. supplied most of Europe’s desktops from China, but today it manufactures in the Czech Republic, Turkey and Russia instead. H.P. sells those kinds of computers particularly to business customers.
While not the cost structure of "first world" manufacturing, it is still interesting.
Dumb Reporter for New York Times, courtesy calvinayre
Bogus 1-st World Manufacturing Drivers
What exactly drives manufacturing, some may ask?

The notorious New York Times suggests:
Today, rising energy prices and a global market for computers are changing the way companies make their machines.
Immediately after making this statement, they went on to use computer consumption in Europe as s supporting argument, which immediately destroys half of the original statement, since Europe is a First World nation and had always consumed computers, thus this "global market" had not changed, from a consumption perspective. This only leaves Energy.

Also in the same article, The Times mentions:
In 1998, President Bill Clinton visited a Gateway Computer factory outside Dublin to cheer the role of American manufacturers in the rise of a “Celtic Tiger” in technology. That plant was shut in 2001, when Gateway elected to save costs by manufacturing in China.
Energy was at its lowest point during the Clinton years, and started to rise during the G.W. Bush years, so cheap to rising cost of energy was part of the equation to outsource to China. Energy costs are higher in the 1st world than in the 3rd world, where reduced regulation means more plentiful energy at a lower cost.

If The New York Times can't present a cohesive argument, then what are the incentives?

The Main Drivers for 1st World Manufacturing:
The previous New York Times article mentioned some cohesive points on locality of components.   Manufacturers who have major components produced in the 1st world may find advantageous assembly in the 1st world. For apple, the following proves interesting:
Intel, which makes most of the processors, has plants in Oregon, Arizona, New Mexico, Israel, Ireland and China. ... The special glass used for the touch screens of Apple’s iPhone and iPad, however, is an exception. It comes primarily from the United States.
However, for cheaper [Android] phones, hand-held games, and laptops, the opposite seems to be the case, manufacturing may never come to the 1st world again:
Many other chip companies design their own products and have them made in giant factories, largely in Taiwan and China. Computer screens are made in Taiwan and South Korea, for the most part.

Time to Market is a huge benefit for one Chinese manufacturers. ComputerWorld also mentioned China's Lenovo manufacturing of laptops in North Carolina in October 2012:
The company, which is based in China, earlier this month announced it would open a factory to make computers in Whitsett, N.C. -- its first such facility in the U.S.
...
Manufacturing in the U.S. will help Lenovo get its products to customers more quickly, said Peter Hortensius, senior vice president of the product group at Lenovo...The company will manufacture ThinkPad laptops and tablets starting early next year, and with the new factory, Lenovo hopes computers could reach customers within a week, or in some cases, overnight. But initial supplies of products like the ThinkPad Tablet 2, which will become available in October, will not be made in the U.S. factory.
...
Many Lenovo computer shipments originate from China and are supposed to reach customers in 10 days, but in some cases take weeks. The company also has factories in Japan, Brazil, Germany and Mexico.

The same article in ComputerWorld also dicusses Lenovo's desire to appear to patriotism for market penetration:
The "Made in USA" tag on computers manufactured in North Carolina will resonate with some buyers
In some cases, it may be tax incentives, but The New York Times suggested that is not enough, by placing the failure in the same sentence as the reason.
A Dell factory in Winston-Salem, N.C., for which Dell received $280 million in incentives from the government, was shut in 2010 (Dell had to repay some of the incentives).
 
There are clearly drivers for 1st world manufacturing.

President Obama, courtesy Carnagie Mellon School of Computer Science
How Many Jobs?

This is always the question. Perhaps, this is best mentioned at the end of the New York Times article...
As cheap as a Chinese assembly worker may be, an emerging trend in manufacturing, specialized robots, promises to be even cheaper. The most valuable part of the computer, a motherboard loaded with microprocessors and memory, is already largely made with robots.
The ultimate answer is, there are not many good high-wage jobs in manufacturing any longer. This was painfully made clear during President Obama's campaign tour across the country - everywhere he went, he talked about manufacturing.
U.S. Manufacturing Jobs during Obama Presidency, courtesy The American Thinker
The American President tried to defend his stagnant economic growth for 4 years, now starting his second term, and the only thing which is clear: while manufacturing is now basically stable, Obama may have stopped the bleeding, but there are fewer manufacturing jobs in the United States than at any point during the previous President G.W. Bush's administration.

Computer manufacturing will not bring it back.

Tuesday, December 4, 2012

Solaris 10: Using Postgres (Part 2)

(Postgres Logo)
Abstract:
Solaris had long been the operating system for performing managed services in the telecommunication arena. During a time when Oracle priced Solaris out of the market by charging a higher fee for similarly performing hardware than other competitors, Sun Microsystems started bundling Postgres and later purchased MySQL for bundling. Postgres is a simple, easy to enable, royalty free database available for Solaris. This article will discuss using the Solaris 10 bundled Postgres database.

Setting Up Postgres
The first article in this series, Solaris 10: Using Postgres (Part 1), discusses how to enable a reasonable 64 bit Posrgres database bundled with Solaris 10, preparing the first user, as well as running the first command line access.

Creating a Table



References
[html] Creating a Table
[html] Populating a Database Notes
[html] SQL Copy Data Into or From Table
[html] SQL Insert Into Table Command
[html] DML Inserting Data Into a Table
[html] SQL Update Data in Table
[html] SQL Delete From Table Command
[html] SQL Truncate Data in Table
[html] Insert or Update PG-SQL Expand 38-1
[html] Database Maintenance Through Vacuum

Monday, December 3, 2012

Solaris 10: Using Postgres (Part 1)

(Postgres Logo)
Abstract:
Solaris had long been the operating system for performing managed services in the telecommunication arena. During a time when Oracle priced Solaris out of the market by charging a higher fee for similarly performing hardware than other competitors, Sun Microsystems started bundling Postgres and later purchased MySQL for bundling. Postgres is a simple, easy to enable, royalty free database available for Solaris. This article will discuss setting up the Solaris 10 bundled Postgres database.
(Sun Microsystems Logo)

History:
From the first pages of the PostgreSQL documentation:
The object-relational database management system now known as PostgreSQL is derived from the POSTGRES package written at the University of California at Berkeley. With over a decade of development behind it, PostgreSQL is now the most advanced open-source database available anywhere. The POSTGRES project, led by Professor Michael Stonebraker, was sponsored by the Defense Advanced Research Projects Agency (DARPA), the Army Research Office (ARO), the National Science Foundation (NSF), and ESL, Inc. The implementation of POSTGRES began in 1986.
Postgres has existed a long time, from the same roots as Berkeley UNIX, the original base operating system for Sun Microsystem's Solaris.
(Sun Solaris Logo)

Versions:
Under Solaris 10, Sun Microsystems bundled Postgres. Basic directory structures are as follows:
V240/root$ ls -la /*r/postgres
/usr/postgres:
total 12
drwxr-xr-x  6 root bin  512 Jan  2  2010 .
drwxr-xr-x 44 root sys 1024 Mar  6  2010 ..
drwxr-xr-x 10 root bin  512 Jan  2  2010 8.2
drwxr-xr-x  9 root bin  512 Jan  2  2010 8.3
drwxr-xr-x  2 root bin  512 Jan  2  2010 jdbc
drwxr-xr-x  6 root bin  512 Jan  2  2010 upgrade

/var/postgres:
total 8
drwxr-xr-x  4 postgres postgres  512 Jan  2 2010 .
drwxr-xr-x 51 root     sys      1024 Nov 10 2010 ..
drwxr-xr-x  4 postgres postgres  512 Jan  2 2010 8.2
drwxr-xr-x  5 postgres postgres  512 Jan  2 2010 8.3 
Under Solaris 10, Postgres 8.2 and 8.3 are shipped. With 8.3, both 32 and 64 bit versions.

(It should be noted that with Postgres 8.3, community support is projected to end in 2012.)

File System Locations:
Before using Postgres, it may be advisable to mount additional disks in a ZFS pool and mount them. This is not strictly the "correct" way to set up a set of database directories, but for a small system where root disks are mirrored and a second set of mirrored disks are used for applications, it will be adequate.

V240/root$ zfs create zpool1/pg_8_3_backups
V240/root$ zfs create zpool1/pg_8_3_data  
V240/root$ zfs create zpool1/pg_8_3_data_64

V240/root$ zfs set mountpoint=/var/postgres/8.3/backups zpool1/pg_8_3_backups
V240/root$ zfs set mountpoint=/var/postgres/8.3/data zpool1/pg_8_3_data     
V240/root$ zfs set mountpoint=/var/postgres/8.3/data_64 zpool1/pg_8_3_data_64
 

V240/root$ zfs list
NAME                   USED AVAIL REFER MOUNTPOINT
zpool1                1.92G 65.0G 1.92G /u001
zpool1/pg_8_3_backups   21K 65.0G   21K /var/postgres/8.3/backups
zpool1/pg_8_3_data      21K 65.0G   21K /var/postgres/8.3/data
zpool1/pg_8_3_data_64   21K 65.0G   21K /var/postgres/8.3/data_64

V240/root$ cd /var/postgres/8.3
V240/root$ chown -R postgres:postgres *

The final 2 steps are critical, if ZFS file systems will be mounted and used, the default ownership is "root" and the starting process will fail if those ZFS directories are not owned by the dba "postgres".

When starting 8.3 version of Postgres, the data should now be stored on zpool1 application pool.

Services:
Postgres is a first-class citizen under Solaris 10. There are no start/sop scripts needed to be written - they are pre-bundled as a variety of services within Solaris Service Management Facility (SMF).
V240/root$ svcs "*postgres*"  
STATE    STIME    FMRI
disabled 12:49:12 svc:/application/database/postgresql:version_82
disabled 12:49:12 svc:/application/database/postgresql:version_82_64bit
disabled 12:49:12 svc:/application/database/postgresql_83:default_32bit
disabled 12:49:12 svc:/application/database/postgresql:version_81
disabled 12:49:13 svc:/application/database/postgresql_83:default_64bit
 The database version of choice can be enabled through SMF.

Review Database Owner:
Solaris comes with role based access to Postgres pre-installed. They should look similar to the following:
V240/root$ grep postgres /etc/passwd /etc/user_attr /etc/security/exec_attr
 

/etc/passwd:postgres:x:90:90:PostgreSQL Reserved UID:/:/usr/bin/pfksh
 

/etc/user_attr:postgres::::type=role;profiles=Postgres Administration,All
 

/etc/security/exec_attr:Postgres Administration:solaris:cmd:::/usr/postgres/8.2/bin/initdb:uid=postgres
/etc/security/exec_attr:Postgres Administration:solaris:cmd:::/usr/postgres/8.2/bin/ipcclean:uid=postgres
/etc/security/exec_attr:Postgres Administration:solaris:cmd:::/usr/postgres/8.2/bin/pg_controldata:uid=postgres
/etc/security/exec_attr:Postgres Administration:solaris:cmd:::/usr/postgres/8.2/bin/pg_ctl:uid=postgres
/etc/security/exec_attr:Postgres Administration:solaris:cmd:::/usr/postgres/8.2/bin/pg_resetxlog:uid=postgres
/etc/security/exec_attr:Postgres Administration:solaris:cmd:::/usr/postgres/8.2/bin/postgres:uid=postgres
/etc/security/exec_attr:Postgres Administration:solaris:cmd:::/usr/postgres/8.2/bin/postmaster:uid=postgres
With the permissions and dba account set up correctly, it should be ready to start.

Starting Postgres:
The Postgres database can be started from the  dba user.
V240/user$ su - root
Password:
V240/root$ su - postgres
V240/postgres$ svcadm enable svc:/application/database/postgresql_83:default_64bit

V240/postgres$ svcs "*postgres_83:default_64bit"
STATE    STIME   FMRI

offline* 0:43:27 svc:/application/database/postgresql_83:default_64bitsvcs: Pattern
 
V240/postgres$ svcs "*postgresql_83:default_64bit"
STATE   STIME   FMRI
online  0:43:37 svc:/application/database/postgresql_83:default_64bit
It may take a couple of minutes to start up for the first time, since many files from a sample database will need to be copied into the new directory structure, and onto the ZFS file systems.

Setting Up Sample Role/User, Database, and Client Access:
By default, all authenticated users are allowed to leverage the Postgres database under Solaris, but only on the same host. The default version of Postgres may be older than the version you wish to use.
V240/ivadmin$ type createdb psql
createdb is /usr/bin/createdb
psql is /usr/bin/psql


V240/ivadmin$ psql --version
psql (PostgreSQL) 8.1.18
contains support for command-line editing


V240/ivadmin$ createdb --version
createdb (PostgreSQL) 8.1.18
Since Solaris supports multiple versions of Postgres, it is important to set paths before using commands. A command should be used in the top of any script which runs Postgres or any command prompt where the user is intending on performing a lot of Postgres work.
V240/user$ PATH=/usr/postgres/8.3/bin:$PATH
V240/user$ export PATH
A privileged "role" (or "user") can set up a database and client access from another "user" or "role". The "createuser" binary is a wrapper around the "CREATE ROLE" command in Postgres.
In the case below, a new non-superuser (-S) will be created, which can create databases ("-d"), be restricted from creating new "roles" or "users" (-R), and log into the database ("-l"). Also, the binary command will echo the postgres command used ("-e"), for clarity sake.
V240/user$ su - root
Password:
V240/root$ su - postgres

V240/postgres$ PATH=/usr/postgres/8.3/bin:$PATH 
V240/postgres$ export PATH
V240/postgres$ createuser -S -d -R -l -e user
CREATE ROLE user NOSUPERUSER CREATEDB NOCREATEROLE INHERIT LOGIN;

(The addition of the proper path was used, in case it is not set up globally on the platform.)

The creation of the database can now be done by the Solaris user "user", which is also Postgres "role". By default, the name of the database is the same name as the "user".
V240/user$ PATH=/usr/postgres/8.3/bin:$PATH
V240/user$ export PATH
V240/ivadmin$ createdb -e
CREATE DATABASE user;

After the database is created, the
V240/ivadmin$ psql
Welcome to psql 8.3.8, the PostgreSQL interactive terminal.
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit
user=>
The process of creating objects in the database can now take place.

Client Access Error:
If the user has never created a database, the first attempt access attempt will present an error such as:
V240/user$ psql
psql: FATAL:  database "user" does not exist

This indicates that a database must be created for that user.

Creating Database Error:
The "createdb" executable is a binary wrapper around the "create database" Postgres command. Databases are created by "cloning" a standard database template. If a database is created before the role is created, an error such as the following is presented:
V240/user$ createdb
createdb: could not connect to database postgres: FATAL:  role "user" does not exist
Before a database can be created, a user must be able to do this.

Creating Role Error:
A "role" is sometimes referred to as a "user". The Solaris user name is often tied directly as the "role". If the user is not privileged, the following error is presented:
V240/ivadmin$ createuser
Enter name of role to add: user
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
createuser: could not connect to database postgres: FATAL:  role "user" does not exist
A privileged user must create new "roles". Under Solaris, this is the "postgres" user.

Resources:
Other Postgres resources are noted below:
[html] PostgreSQL 8.3.21 Documentation
[html] Dynamic Tracing of PostgreSQL via DTrace (in 8.3)
[pdf] Availability of PostgreSQL in the Data Center
[html] 2010-05 Setting up PostgreSQL under Solaris 10
[pdf] 2008-?? - Best Practices with PostgreSQL on Solaris
[html] 2005-11 - Tuning PostgreSQL under Solaris x64
[html] 2005-05 - Tuning Write Performance of PostgreSQL on Solaris
[html] 2005-04 - Tuning Solaris for PostgreSQL Read and Write Performance (8.0.2)