Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: WTF happened to you, Apple? 3

As a long time Apple customer (I still even own an original Apple II), I've come to rely on the firm to design high quality equipment and provide top tier support to sustain consistent workflow. I don't expect the firm to work miracles, but I do expect honest communication when problems arise.

I have a 2010 27" iMac. Recently, the firm has recalled 1TB drives shipped with units from this era. I had purchased Applecare, so the machine was still even under warranty. It had never been opened, it was - other than some minor cosmetic blemishes on the screen - as original as it had been sold. So, I contacted the nearest Apple Store and arranged to have the unit serviced.

On the 23rd I spoke with a Genius Bar (tm) representative who assured me it would almost certainly be same-day service. Though, it might - if there were problems - take up to three days. Regardless, he assured me, a representative from the firm would call me and give an update regarding the status of the repair. Since I've moved from the United States to Australia, he also offered a power cable with the new connector. Great! On the 24th at 9:45am, I brought the unit in for servicing in its original box and coating with its original foam cover.

I asked the representative to also check the superdrive, as I thought that it wasn't reading discs properly any longer. And, no that isn't because of region coding differences. It really did seem to be a head alignment problem in the drive.

'No worries, we'll fix it up for you! Expect a call late this afternoon.' Came the reply.

They conducted an analysis of the machine, we did some paperwork, and then I left with an empty box at a bit after 10am.

No call that afternoon was forthcoming. But, OK. Maybe they had a backlog. Whatever. Then no call came the next day. Fine. And then no call came the next day - three days in. However, it was the weekend and I thought, 'hey, I'll give them a break. Maybe they don't service machines on Saturday or Sunday, even though the store is open.'

Then no call came on Monday. By Tuesday morning I was angry. Not only were they five days into a repair that was - at most - supposed to take three (with a verbal promise of same day), but they hadn't even bothered to call or email me to give a status update on the repair. And I have a work backlog to deal with.

So I called and spoke with the manager. I told him that the issue wasn't that they were taking longer than expected to resolve the repair. The issue was a lack of communication with their customer. The firm wrote on my sheet that a staffer would call with an update within 48hrs and nobody did. Further, they made me wait thirty minutes on hold calling for a status update only to lose track of me and hang up.

A staffer called back and told me the machine was ready for pick up.

I get to the store and immediately I feel like I am not wanted by these staffers. They segregate me off to the side. Then they bring me to the back genius bar desk and bring out the machine and paperwork, but - unlike when they inventoried the machine during the initial sign in - they didn't turn the machine on to prove its functionality during check-out. The staffer clearly wanted me to sign the paper and leave as quickly as possible.

I asked about the power cord. She refused and suggested I speak with a staffer who would sell me one.

'OK, fine.' I thought, 'I don't need a power cord and I definitely don't want to be here any longer. These people are rude.'

I picked up the computer and left as fast as I could.

Only two years ago you offered best in service. While I don't expect freebies, I certainly do expect follow through on promises. Your store failed in every respect, from meeting policy obligations your company set for staffers in dealing with the customer to fulfilling verbal promises your staffers provided on the side.

Bad bad bad bad bad. Frankly, worse than Dell.

Apple, what the hell has happened to you? This professional customer who buys top of the line equipment to support his business workflow now wants to find an alternative. For Adobe is where I butter my bread, not Apple any longer. And its clear to me, Apple has determined that I'm not how they butter their bread either.

User Journal

Journal Journal: Widenius on "selfless" quest to destroy GPL MySQL "in order to save it" 3

It's not "his baby" any more!

And the "selfless" argument accepts as a given that Oracle will let MySQL die on the vine. There are many rational reasons why they would not.

If Oracle's intentions are opaque, Widenius' motives are no less opaque. He risks serious embarrassment himself by advocating that the EU, as Deus ex machina, strip the GPL, the last layer of protection for the MySQL community and platform. To that extent this issue is *very much* "about Open Source"!

It's time to let go and build "what comes after MySQL". Even a casual observer can see conventional RDBMS architectures straining to keep up with today's data environments, hence the growth of the NoSQL movement. If a fraction of the talent already shed by MySQL AB, combined with the brains at Primebase, and all the other community contributors can rise to that challenge, Oracle may easily find itself on the defensive once more - to the market's gain!

Mr Widenius, you've created one technology so incredibly disruptive that Oracle (the market leader) finally had to buy it - why not move on and create the next one? You already have the support and respect of geeks and suits alike. But you won't keep it by insisting on this contrarian, easily misconstrued campaign.

Databases

Journal Journal: SQL: random member of each of many groups

Question asked on comp.databases.mysql, which I solved as follows:

mysql> select T.n, T.rnd, L.id, L.street, L.town, count(R.id) as idx
from (
select count(*) as n, rand() as rnd, town
from addr
group by town
) T
join addr L on L.town = T.town
join addr R on R.town = L.town and R.id <= L.id
group by L.id
having ceil(T.n*T.rnd) = idx;
+----+---------------------+-----+---------------------------------
+-------------+-----+
| n | rnd | id | street |
town | idx |
+----+---------------------+-----+---------------------------------
+-------------+-----+
| 12 | 0.00842807908396058 | 1 | 601 West 5th Avenue |
Anchorage | 1 |
| 10 | 0.650273804227145 | 37 | 9190 Parkway East |
Birmingham | 7 |
| 11 | 0.226084814617489 | 55 | 3494 BEL AIR MALL |
Mobile | 3 |
| 16 | 0.179602691139656 | 117 | 4940 S Gilbert Rd |
Chandler | 3 |
| 10 | 0.219759042579456 | 154 | 7123 N. 138th Ave. |
Glendale | 3 |
| 18 | 0.559987170211959 | 187 | 2832 North Power Road |
Mesa | 11 |
| 63 | 0.14065875405507 | 213 | 340 East McDowell Rd |
Phoenix | 9 |
| 26 | 0.0233322903731207 | 275 | 15660 N Frank Lloyd Wright Blvd |
Scottsdale | 1 |
| 16 | 0.694685220434037 | 325 | 5000 Arizona Mills Circle |
Tempe | 12 |
| 35 | 0.403429261784469 | 345 | 3901 W Ina Rd |
Tucson | 15 |
| 19 | 0.933090678353878 | 454 | 2200 Panama Lane |
Bakersfield | 18 |
| 15 | 0.45516563714963 | 513 | 4000 Warner Blvd |
Burbank | 7 |
+----+---------------------+-----+---------------------------------
+-------------+-----+
12 rows in set (0.16 sec)

Databases

Journal Journal: Uses for self JOIN: 11) winning streak

Cluber on #mysql wanted to find the longest winning streak in a series of matches, like this:

mysql> select * from m;
+----+--------+-------+
| id | winner | loser |
+----+--------+-------+
| 29 | A | B |
| 30 | A | C |
| 31 | C | B |
| 32 | B | A |
| 33 | A | D |
| 34 | B | C |
| 35 | C | D |
| 36 | E | D |
+----+--------+-------+
8 rows in set (0.00 sec)

Longest winning streak per user is the longest series of wins by a user before they lose a match. The wins need not be consecutive. Here is a SQL solution:

mysql> select Streak.winner, max(Streak.cnt)
from (
select m0.id, m0.winner, count(Game.id) as cnt
from m m0
join (
select m1.id, min(m2.id) as minid
from m m1
left join m m2 on m2.loser = m1.winner
and m2.id > m1.id
group by m1.id
) Loss on Loss.id = m0.id
join m Game on Game.winner = m0.winner
and Game.id >= m0.id
and (Loss.minid is null
or Game.id < Loss.minid)
group by m0.id
) Streak
group by Streak.winner;

+--------+-----------------+
| winner | max(Streak.cnt) |
+--------+-----------------+
| A | 2 |
| B | 2 |
| C | 1 |
| E | 1 |
+--------+-----------------+
4 rows in set (0.01 sec)

User Journal

Journal Journal: generate Solaris package file lists directly with install-sh

As part of the Solaris pkg creation process, a prototype file is created listing every file and directory created in the process of installing the package.

There are various ways to extract this information, but not all are convenient. By patching about 12 lines of install-sh we can generate the prototype file directly (as /tmp/prototype), with appropriate user/group/mode settings. In parallel we generate a simple file list (/tmp/files) that can be used to safely 'uninstall' the package during experimentation with packaging.

-bash-3.00# diff -c dovecot-1.1.14/install-sh TLGRdovecot-1.1.14/install-sh
*** dovecot-1.1.14/install-sh Mon Jan 5 16:24:36 2009
--- TLGRdovecot-1.1.14/install-sh Sat May 23 19:51:18 2009
***************
*** 128,133 ****
--- 128,136 ----
RMPROG STRIPPROG
"

+ CLASS=none
+ OWNER=bin
+ GROUP=bin
while test $# -ne 0; do
case $1 in
-c) ;;
***************
*** 136,142 ****

-d) dir_arg=true;;

! -g) chgrpcmd="$chgrpprog $2"
shift;;

--help) echo "$usage"; exit $?;;
--- 139,145 ----

-d) dir_arg=true;;

! -g) GROUP=$2; chgrpcmd="$chgrpprog $2"
shift;;

--help) echo "$usage"; exit $?;;
***************
*** 150,156 ****
esac
shift;;

! -o) chowncmd="$chownprog $2"
shift;;

-s) stripcmd=$stripprog;;
--- 153,159 ----
esac
shift;;

! -o) OWNER=$2; chowncmd="$chownprog $2"
shift;;

-s) stripcmd=$stripprog;;
***************
*** 327,335 ****
--- 330,341 ----
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
+ echo d $CLASS $dstdir $mode $OWNER $GROUP >>/tmp/prototype
else
+ echo d $CLASS $dstdir 755 $OWNER $GROUP >>/tmp/prototype
mkdir_mode=
fi
+ echo $dstdir >>/tmp/files

posix_mkdir=false
case $umask in
***************
*** 405,410 ****
--- 411,417 ----
do
test -z "$d" && continue

+
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
***************
*** 442,447 ****
--- 449,457 ----
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else

+ echo f $CLASS $dst $mode $OWNER $GROUP >>/tmp/prototype
+ echo $dst >>/tmp/files
+
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_

(Actual diff here)

As an example, let's package Dovecot 1.1.14 in a manner suitable for a Solaris non-global zone:

$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
...
# make install
...
# cat /tmp/prototype
d none /usr/libexec/dovecot 0755 bin bin
f none /usr/libexec/dovecot/dovecot-auth 0755 bin bin
f none /usr/libexec/dovecot/checkpassword-reply 0755 bin bin
d none /usr/lib/dovecot/auth 0755 bin bin
f none /usr/libexec/dovecot/dict 0755 bin bin
f none /usr/libexec/dovecot/ssl-build-param 0755 bin bin
f none /usr/sbin/dovecot 0755 bin bin
f none /usr/libexec/dovecot/imap-login 0755 bin bin
f none /usr/libexec/dovecot/imap 0755 bin bin
f none /usr/libexec/dovecot/pop3-login 0755 bin bin
f none /usr/libexec/dovecot/pop3 0755 bin bin
f none /usr/libexec/dovecot/deliver 0755 bin bin
f none /usr/libexec/dovecot/rawlog 0755 bin bin
f none /usr/libexec/dovecot/gdbhelper 0755 bin bin
f none /usr/libexec/dovecot/idxview 0755 bin bin
f none /usr/libexec/dovecot/listview 0755 bin bin
f none /usr/libexec/dovecot/logview 0755 bin bin
f none /usr/libexec/dovecot/maildirlock 0755 bin bin
f none /usr/sbin/dovecotpw 0755 bin bin
d none /usr/lib/dovecot/imap 0755 bin bin
d none /usr/lib/dovecot/lda 0755 bin bin
f none /usr/lib/dovecot/lib01_acl_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib01_acl_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib01_acl_plugin.a 0755 bin bin
d none /usr/lib/dovecot/pop3 0755 bin bin
f none /usr/libexec/dovecot/convert-tool 0755 bin bin
f none /usr/lib/dovecot/lib20_convert_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_convert_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_convert_plugin.a 0755 bin bin
f none /usr/libexec/dovecot/expire-tool 0755 bin bin
f none /usr/lib/dovecot/lib20_expire_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_expire_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_expire_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_fts_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_fts_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_fts_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib21_fts_squat_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib21_fts_squat_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib21_fts_squat_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib02_lazy_expunge_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib02_lazy_expunge_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib02_lazy_expunge_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_mail_log_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_mail_log_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_mail_log_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_mbox_snarf_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_mbox_snarf_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_mbox_snarf_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib10_quota_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib10_quota_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib10_quota_plugin.a 0755 bin bin
f none /usr/lib/dovecot/imap/lib11_imap_quota_plugin.so 0755 bin bin
f none /usr/lib/dovecot/imap/lib11_imap_quota_plugin.la 0755 bin bin
f none /usr/lib/dovecot/imap/lib11_imap_quota_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib11_trash_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib11_trash_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib11_trash_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_zlib_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_zlib_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_zlib_plugin.a 0755 bin bin
d none /usr/share/doc/dovecot/wiki 0755 bin bin
f none /usr/share/doc/dovecot/wiki/ACL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AixPluginsSupport.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.CheckPassword.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.LDAP.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.Passwd.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.PasswdFile.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.SQL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.VPopMail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Caching.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Kerberos.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.MasterUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.DigestMD5.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.NTLM.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.Winbind.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.MultipleDatabases.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.PasswordSchemes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.RestrictAccess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/BasicConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Chrooting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Clients.NegativeUIDs.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Clients.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/CommandLine.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/CompilingSource.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Authentication.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.ProcessTracing.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Rawlog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Thunderbird.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.AuthProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.Cache.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.MailIndexApi.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.MainIndex.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.TransactionLog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.MailProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Processes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/FindMailLocation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/FinishBasicConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.EximAndDovecotSASL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PopBSMTPAndDovecot.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PopRelay.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PostfixAndDovecotSASL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.Rootless.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.SimpleVirtualInstall.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/IndexFiles.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/InetdInstall.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Iptables.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Exim.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Indexing.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Postfix.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Qmail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Sendmail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Sieve.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Logging.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LoginProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MDA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MTA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.LocalDisk.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.Mbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.SharedDisk.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.Cydir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.MH.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.dbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mailstore.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mbx.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/ManageSieve.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MboxLocking.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MboxProblems.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.BincIMAP.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Courier.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Cyrus.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Linuxconf.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.MailFormat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Teapop.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.UW.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Vm-pop3d.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MissingMailboxes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/NFS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Namespaces.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/OSCompatibility.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/POP3Server.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.BSDAuth.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.AllowNets.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.Host.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.NoDelay.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.NoLogin.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.Proxy.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.User.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.PAM.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.Shadow.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PerformanceTuning.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Autocreate.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Convert.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Expire.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Lucene.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Solr.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Squat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Lazyexpunge.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Listescape.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.MailLog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.MboxSnarf.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Trash.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Virtual.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Zlib.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PostLoginScripting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/QuickConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.1.1.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Dict.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Dirsize.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.FS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/RunningDovecot.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.CertificateClientImporting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.CertificateCreation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.DovecotConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Sasl.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SecurityTuning.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SharedMailboxes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SystemUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TestInstallation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TestPop3Installation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TimeMovedBackwards.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.0.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.1.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.2.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.ExtraFields.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.NSS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.Prefetch.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.Static.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserIds.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Variables.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/VirtualUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/WhyDoesItNotWork.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/maildrop.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/mutt.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/uw2dovecot.sh.txt 644 bin bin
f none /etc/dovecot-db-example.conf 644 bin bin
f none /etc/dovecot-ldap-example.conf 644 bin bin
f none /etc/dovecot-sql-example.conf 644 bin bin
f none /usr/share/doc/dovecot/auth-protocol.txt 644 bin bin
f none /usr/share/doc/dovecot/documentation.txt 644 bin bin
f none /usr/share/doc/dovecot/securecoding.txt 644 bin bin
f none /etc/dovecot-example.conf 644 bin bin
d none /usr/include/dovecot 0755 bin bin

This leaves the package installed, creates /tmp/prototype ready for packaging - accomplished roughly like this:

$ echo i pkginfo=./pkginfo >>prototype
$ cat pkginfo
PKG=TLGRdovecot
NAME=Dovecot IMAP/POP3 server
ARCH=i386
VERSION=1.1.14
CATEGORY=application
VENDOR=http://www.dovecot.org/
BASEDIR=
CLASSES=none
DESC=Dovecot Secure IMAP/POP3 server, by Timo Sirainen
EMAIL=support@telegraphics.com.au
$ pkgmk -r `pwd`
$ cd /var/spool/pkg/
$ pkgtrans -s `pwd` /tmp/TLGRdovecot-1.1.14

Remove the installed files (I suggest reviewing the file list first!)

# rm -fr $(< /tmp/files )
or
# xargs rm -fr < /tmp/files

User Journal

Journal Journal: Retired Gates "too busy, important" to finish deposition

Watch Gates lie through his teeth in Novell vs Microsoft - until the Microsoft side cut the deposition short. Another appointment? Or did they not like the line of questioning? Groklaw reports; you decide. But as the Novell lawyer remarks,

I ... can't remember a single case where I was able to extract a monetary settlement from an opponent by harassing its Board Chairman through a deposition. Perhaps there is something deeper at work here.

Mr. Gates is one of the richest and most powerful persons in this country. His foundation is engaged in good works. Yet we are all equal under the law. Despite his central role in this action, we have requested nothing more than would be expected of any other litigant, a deposition not exceeding 7 hours in length in accordance with Fed. R. Civ. P. 30(b)(1).

(emphasis mine).

This cartoon sums up the true situation very well.

User Journal

Journal Journal: say whut? 1

Cloud computing is emerging as the computational and storage paradigm for ultra-scale data and analytics. A cloud is a pool of virtualized, commodity computer resources accessible via a Web-based interface in conjunction with a highly automated mechanism for managing those resources. Upon this infrastructure, a computational framework brings analytics to the data, effectively implementing a key tenant of cloud computing - ingest data once, move data rarely, and re-use data often. Thus cloud enables the rapid configuration and allocation of vast computational resources while supporting massively parallel processing over petabytes of distributed data to deliver both agility and power at scale. Google, the progenitor of cloud, and others have proven the extraordinary capability of cloud for specific applications within certain well defined domains (e.g. web search/index). Within the Intelligence Community (IC), substantial cloud computing initiatives already underway are poised to do similarly, tailoring cloud for specific objectives. Considered more broadly however, as an enterprise wide platform for the IC, several aspects of cloud are in need of further research and development. Principal among these is the cloud analytic tool set. Analysts working high op-tempo missions down range tell us the most rapid time scale is not of the data or the mission, rather it is the frequency with which they must change the way they view and manipulate the data. For these warfighters, sophisticated tools built nationally are obsolete the day they get deployed. What they clamor for are basic, elemental tools that they can apply in diverse contexts and compose into workflows that help them do their job easier and faster. This SBIR seeks to develop an analytic tool set designed to operate within cloud computing infrastructure, on cloud data. In addition to being cloud-native, the set of tools should reflect a basis-set of functions that together span the range of analytic activity. Each tool should capture / enable a basic element of analytic activity while presenting minimal dependencies on other elements or on application specifics. By developing a complete set of cloud-native tools that may be used independently or composed into workflows to build analytic product, this SBIR aims to provide the warfighter with the means to harness the full power of cloud in the face of rapid change.

Let's play buzzword bingo...

21 the
16 of
14 cloud
10 and
9 to
9 data
8 a
6 for
5 is
5 set
5 they
5 analytic
4 tools
4 computing
4 that
4 are
4 in
3 on
3 computational
3 resources
3 or
3 with
3 rapid
3 tool
3 scale
2 this
2 SBIR
2 range
2 workflows
2 these
2 native
2 analytics
2 basic
2 an
2 do
2 infrastructure
2 activity
2 into
2 specific
2 change
2 while
2 IC
2 within
2 should
2 as
2 power
1 full
1 elemental
1 sophisticated
1 way
1 paradigm
1 enables
1 both
1 Upon
1 Intelligence
1 framework
1 independently
1 based
1 over
1 nationally
1 index
1 emerging
1 massively
1 functions
1 pool
1 Principal
1 developing
1 effectively
1 key
1 complete
1 parallel
1 compose
1 once
1 re
1 aims
1 further
1 enterprise
1 at
1 rather
1 application
1 tell
1 managing
1 development
1 deliver
1 agility
1 applications
1 may
1 computer
1 highly
1 move
1 addition
1 working
1 allocation
1 need
1 not
1 ultra
1 mission
1 Within
1 warfighter
1 interface

User Journal

Journal Journal: if minimising a Solaris 10 system...

Don't remove these packages if you are going to need libX11 or libXpm later...

system SUNWxwdv X Windows System Window Drivers
system SUNWxwfnt X Window System platform required fonts
system SUNWxwhl X Window System & Graphics Header links in /usr/include
system SUNWxwice X Window System Inter-Client Exchange (ICE) Components
system SUNWxwinc X Window System include files
system SUNWxwmod X Window System kernel modules
system SUNWxwplr X Window System platform software configuration
system SUNWxwplt X Window System platform software
system SUNWxwrtl X Window System & Graphics Runtime Library Links in /usr/lib
system SUNWxwssu X Server x86 platform config start up software

Windows

Journal Journal: Two short stories about a stinkin Mac user

1: Due to a combination of illnesses and cutbacks, I'm doing some desktop support this week. After fixing the issues on a user's PC (network shares got lost, sound cable got yanked) I noticed that the font in her email client was many points larger than her desktop font. I asked her about it to verify that my guess was correct, then quickly clicked Display -> Settings -> Advanced -> Large Fonts. She was astonished, then effusively thankful.

No one else here would have given that a second glance (or even a first). Also, about half our LCDs (that I haven't adjusted) are set to some non-native default resolution. Oh well, at least fuzzy edges aren't as bad as the 60Hz headaches I used to get.

2: My officemate and I moved an old printer in between our desks. It doesn't happen to play nice with our departmental print manager, so I decided to add it directly by address. OS X was straightforward (Print & Fax -> Add button -> IP tab), but XP (virtual) was giving me grief. Finally I google the answer and burst out laughing. In order to connect to a network printer by IP, you go into the Add Printer Wizard, select "Local Printer" (instead of "Network Printer"), then go into the Printer Port Wizard and tell it that the printer's IP address is a local port. Well gee, that's obvious, isn't it? I explained this to my officemate, and he thought it was an interesting trick, but still didn't get why I was laughing.

Microsoft

Journal Journal: Microsoft hiring an Open Source axeman?

The following is an a copy of a real job posting by Microsoft with LinkedIn. The interesting thing about this job posting is that Microsoft has repeated identified Free Open Source Software (FOSS) as a key threat to its revenue model in official annual 10K filings with the United States Securities and Exchange Commission, and the current Microsoft CEO, Steve Ballmer, has called Linux a cancer in the software industry.

The job duties of this "Director of Open Source Desktop Strategy at Microsoft will be to "lead strategy ... as it relates to open source competitors", which doubtless means to stop the growth of GNU-Linux and Free Open Source Software at all costs. After all, this is the same company which set out to cut off Netscape's air supply. Netscape, of course, was the browser which was the precursor to one of Microsoft's greatest threats, the Firefox Internet browser. Microsoft did succeed in killing the company that produced the Netscape, so one can imagine how chagrinned are the Microsoft executives at seeing Microsoft's browser losing ground to Firefox.

***************************************

Director, Open Source Desktop Strategy at Microsoft

Location: Greater Seattle Area

URL: http://www.microsoft.com

Apply Now

Type:
Full-time
Experience:
Director
Functions:
Consulting, Strategy / Planning, Product Management, Business Development
Industries:
Computer Software
Posted:
February 5, 2009

Job Description

The Windows Competitive Strategy team is looking for a strong team member to lead Microsoft's global desktop competitive strategy as it relates to open source competitors. Our team mission is to gather intelligence, create business strategies, and drive action in the marketplace for the Windows Client business. In this job, you will be asked to think strategically, put yourself in the mindset of our competitors, influence multi-million dollar marketing campaigns, and drive high-level executive thinking around business strategy.

As the Director of Open Source Desktop Strategy you will need to drive research and build holistic strategies across dynamic market segments like PCs, NetBooks, and mobile internet devices. You will be responsible for bringing our business strategy to life by discovering and sharing the market insights that set the foundation for our platform value dialogue with customers and the industry

You will need to work directly with customers and partners across the globe, other product groups, field sales & marketing organizations, and industry analysts to influence internal, external and partner marketing efforts with a focus on consumer scenarios.

Responsibilities

In this role you will be expected to:
Drive our business strategy by delivering strategy reviews to Microsoft executives
Drive primary and secondary market research activities to inform marketing strategies
Manage technical analysis of competitive platforms
Create a rational set of proof points that promote Microsoft's comparative value
Build a fact-based marketing plan that articulates the Windows Client value proposition to partners and customers
Collaborate with the owners of outbound marketing channels, such as PR, advertising, analysts, field, and partners
Manage a marketing budget and influence worldwide subsidiary participation to drive our strategy
Skills

Qualifications:

The candidate must be a highly motivated self-starter, with a proven track record of successful execution. Successful candidates must be able to think strategically and creatively about business issues on a global scale, while developing and executing detailed marketing plans. Building collaborative relationships across organizations and motivating and leading virtual teams to achieve collective impact will be essential, as will the ability to juggle multiple work streams at one time. Experience working with international teams is desirable.

A BS/A in a technical field is strongly desired and an MBA is preferred. Familiarity with Open Source products is required. Working knowledge of x86 and ARM architectures a plus, but not required for candidates with strong aptitude. 5+ years experience in a related field working on projects that require strategic thinking, broad market impact, and business / technical marketing message development & delivery preferred.
Additional Information

* Applicants with recommendations are preferred.(You have 0 recommendations)
* Referrals through network preferred.

Job ID: 652401
User Journal

Journal Journal: Setting up CollabNet Subversion on Solaris 10, with SMF.

Download the CollabNet Subversion package for Solaris.

Edit Apache configuration, /etc/opt/CollabNet_Subversion/conf/httpd.conf , /etc/opt/CollabNet_Subversion/conf/extra/httpd-vhosts.conf

Fix some permissions:

# chown -R daemon:daemon /pool/YOURDOMAIN/svn/YOURREPO/
  # chown daemon:daemon /var/opt/CollabNet_Subversion/logs/

Set up SMF manifest.
This file is based on the manifest distributed with CoolStack, /opt/coolstack/lib/svc/manifest/cskapache2.xml . For modified text, see bottom of this post.

# svccfg import apache22-svn.xml

To see the configuration of the Apache built with CollabNet Svn,

# /opt/CollabNet_Subversion/bin/httpd -V
Server version: Apache/2.2.8 (Unix)
Server built: Oct 23 2008 15:51:40
Server's Module Magic Number: 20051115:11
Server loaded: APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture: 32-bit
Server MPM: Prefork
  threaded: no
    forked: yes (variable process count)
Server compiled with....
  -D APACHE_MPM_DIR="server/mpm/prefork"
  -D APR_HAS_SENDFILE
  -D APR_HAS_MMAP
  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
  -D APR_USE_FCNTL_SERIALIZE
  -D APR_USE_PTHREAD_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D APR_HAS_OTHER_CHILD
  -D AP_HAVE_RELIABLE_PIPED_LOGS
  -D DYNAMIC_MODULE_LIMIT=128
  -D HTTPD_ROOT="/"
  -D SUEXEC_BIN="//bin/suexec"
  -D DEFAULT_PIDLOG="var/opt/CollabNet_Subversion/run/httpd.pid"
  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  -D DEFAULT_LOCKFILE="var/opt/CollabNet_Subversion/run/accept.lock"
  -D DEFAULT_ERRORLOG="/var/opt/CollabNet_Subversion/logs/error_log"
  -D AP_TYPES_CONFIG_FILE="etc/opt/CollabNet_Subversion/conf/mime.types"
  -D SERVER_CONFIG_FILE="etc/opt/CollabNet_Subversion/conf/httpd.conf"

conf/extra/httpd-vhosts.conf:

#
# Virtual Hosts
#...
 
Listen 443
 
#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
NameVirtualHost *:443
 
<VirtualHost *:443>
    ServerAdmin sysadmin@YOURDOMAIN.com.au
    DocumentRoot /pool/YOURDOMAIN/www/YOURDOMAIN/htdocs
    ServerName YOURDOMAIN
# ServerAlias www.dummy-host.example.com
    ErrorLog /pool/YOURDOMAIN/www/YOURDOMAIN/logs/error_log
    CustomLog /pool/YOURDOMAIN/www/YOURDOMAIN/logs/access_log combined
 
<Location /svn>
        Dav svn
        SVNParentPath /pool/YOURDOMAIN/svn
        AuthType Basic
        AuthName "Subversion"
        AuthUserFile /pool/YOURDOMAIN/www/YOURDOMAIN/htpasswd
# AuthzSVNAccessFile /pool/YOURDOMAIN/svn/svnpolicy
        Require valid-user
        SSLRequireSSL
                Order allow,deny
                Allow from all
</Location>
 
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
...and the rest of the SSL config
...can be copied from /opt/coolstack/apache2/conf/extra/httpd-ssl.conf

apache22-svn.xml:

<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
    Copyright 2006-2007 Sun Microsystems, Inc. All rights reserved.
    CSKapache2 manifest - should reside in /var/svc/manifest/network.
-->
 
<service_bundle type='manifest' name='COLLABNETapache2:apache'>
 
<service
    name='network/http'
    type='service'
    version='1'>
 
    <!--
      Because we may have multiple instances of network/http
      provided by different implementations, we keep dependencies
      and methods within the instance.
    -->
 
    <instance name='apache22-svn' enabled='false'>
    <!--
      Wait for network interfaces to be initialized.
    -->
      <dependency name='network'
          grouping='require_all'
          restart_on='error'
          type='service'>
          <service_fmri value='svc:/milestone/network:default'/>
      </dependency>
 
      <!--
          Wait for all local filesystems to be mounted.
      -->
      <dependency name='filesystem-local'
          grouping='require_all'
          restart_on='none'
          type='service'>
          <service_fmri
              value='svc:/system/filesystem/local:default'/>
      </dependency>
 
      <!--
          Wait for automounting to be available, as we may be
          serving data from home directories or other remote
          filesystems.
      -->
      <dependency name='autofs'
          grouping='optional_all'
          restart_on='error'
          type='service'>
          <service_fmri
              value='svc:/system/filesystem/autofs:default'/>
      </dependency>
 
      <exec_method
          type='method'
          name='start'
          exec='/opt/CollabNet_Subversion/bin/apachectl start'
          timeout_seconds='60'>
      </exec_method>
 
      <exec_method
          type='method'
          name='stop'
          exec='/opt/CollabNet_Subversion/bin/apachectl stop'
          timeout_seconds='60'>
          <method_context />
      </exec_method>
 
      <exec_method
          type='method'
          name='refresh'
          exec='/opt/CollabNet_Subversion/bin/apachectl restart'
          timeout_seconds='60'>
          <method_context />
      </exec_method>
 
        <property_group name='httpd' type='application'>
            <stability value='Evolving' />
            <propval name='ssl' type='boolean' value='true' />
        </property_group>
 
        <property_group name='startd' type='framework'>
            <!-- sub-process core dumps shouldn't restart session -->
            <propval name='ignore_error' type='astring'
                    value='core,signal' />
        </property_group>
        <template>
            <common_name>
                <loctext xml:lang='C'>
                    Apache 2 HTTP server
                </loctext>
            </common_name>
<!--
            <documentation>
                <manpage title='httpd' section='8'
                    manpath='/opt/coolstack/apache2/man' />
                <doc_link name='apache.org'
                    uri='http://httpd.apache.org' />
            </documentation>
-->
        </template>
 
    </instance>
 
    <stability value='Evolving' />
</service>
 
</service_bundle>

Slashdot Top Deals

"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein

Working...