TinyApps.Org
Small is beautiful


 HOME

  0. Internet
  1. Text
  2. Graphics
  3. System
  4. File
  5. Misc
  6. Palm
  7. OS X

 BLOG

 DOCS

 FAQ

 RSS (?)





Lion is Apple Vista #
Feels like a constant struggle with the UI, from the obtrusive scroll bars, to the clunky Apple Mail search, to the useless empty space at the top and bottom of windows when scrolling, to the iCal and Address Book train wreck... The last straw was an email spontaneously disappearing from the inbox (long after importing, indexing, and encrypting had completed) only to reappear a short while later. Really wanted Lion to work out, especially since FileVault 2's whole disk volume encryption was performing beautifully, with very little impact on system performance. Ended up going back to Snow Leopard after several hours.

UPDATE: I've been using and supporting OS X since 10.0, and a huge fan from 10.2 to 10.6. Lion goes completely off the rails. Frustration is the overwhelming feeling, especially with the three apps I use most: iCal, Address Book, and Apple Mail.

REVIEWS
  1. Why I Seriously Regret Upgrading To Mac OS X Lion "Features like Launchpad don't translate well to the desktop, and they feel bloated and unnecessary. Apple also decided to update classic apps like iCal and Mail, making them less and attractive and more difficult to use."
  2. I hate Mac OS X Lion. Here's why. "Yesterday, I completely erased my hard disk and reinstalled Lion’s predecessor, Snow Leopard. I hate Lion so bad that I wish it were still shipped in a box so I could punch it right in its grinning, cardboardy box. And I’m not the only one."
  3. OS X Lion: Causing hair loss as you use your Mac. One follicle at a time. "With OS X Lion, we've challenged the accepted way of doing things by introducing new features that challenge the user."
  4. Mac OS X Lion: This Is Not the Future We Were Hoping For "Now there's gross faux wood panelling in Photo Booth. The Address Book is a real world hardbound address book. iCal is a bloody pseudo-calendar made of paper and leather. The question is: Why is Apple reproducing things that are obsolete already? Do people still use calendars made of leather and paper? Do people use agendas? Seriously, does anyone under 18 even know what these are?"
  5. Apple launches OS X Lion with features from Windows 3.1 "OS X Lion also adds some other groundbreaking features, like disabling support for apps coded for the PowerPC Macs of old and introducing a new scrolling system that makes no sense at all."
  6. OS X 10.7 Lion is more painful than Vista "Having lived with the pain of Vista pre-SP1, I can tell you that the problems currently facing Apple with Lion are worse. Much worse."
  7. Back To The Mac "Yesterday, after months of using Lion and its developer previews, I formatted the internal SSD on my 13 inch MacBook Pro and reinstalled Mac OS X 10.6 Snow Leopard. I did not go back to 10.6 for the compatibility Rosetta provides, or the performance gains of an earlier operating system. I reinstalled Snow Leopard because I don't need the iOS features Lion brought back to my Mac, and can't see the point of compromising my productivity for an operating system that doesn't know what it wants to be."
  8. Apple started decaying before Steve Jobs' death "Lion's disregard for users' taste and preferences permeates throughout. It looks more like a design philosophy than an accident."
  9. OS X Lion is one broken big cat "Stay far away from OS X Lion if you value your sanity."
TWEETS
  1. toddhellings: You know what OS X Lion is missing? The Windows logo.
  2. davely: I think calling OS X Lion "Apple's Vista" is really unfair. This is more like Apple's Win ME.
  3. shadowbottle: The "All My Files" view sucked in Windows 7 when it came out and it sucks just as bad in OS X Lion. Resources better used on Address Book.
  4. popcube: Lion、かぎりなくWindows Vista並にダメな子ちゃんかもなぁ。戻そうかな。イライラの方が多い。Lion待ちと言ってた連中は、後悔するがよい。今のところ差し引き赤字だ。
  5. jisyack1077: lion=VIsta,snow leopard=xp,tigar=2000なかんじ。だから今のところ、lionにアップデートしない。
  6. yamj: MacOS X Lionを使って5日目。どうやらLionはWindowsでいうVistaみたいな存在だったみたいだ。Snow Leopardに戻そうかな...
MITIGATION

These alternatives sync with iCal and/or Address Book: More tips for living with Lion:
  • Hold Alt/Option key while clicking arrow to disable iCal page turning animation. UPDATE: Steve Bell's iCal Classic Page Flip plugin disables the page flip animation altogether; unfortunately, it depends on SIMBL, which reportedly causes problems in Lion (as of version 0.9.9).
  • Now that the 3-pane view is gone (Apple even went to the trouble of removing it from the Debug menu as of 10.7.1), an ugly workaround is to launch two instances of Address Book (use open -n /Applications/Address\ Book.app/ twice) and drag between the two. Another approach is to use "Present People Picker Panel" found in the Debug menu (which can be enabled via defaults write com.apple.addressbook ABShowDebugMenu -bool YES). Frankly, PPPP has a better UI than Address Book itself. (Hat tip to Lukas Chrostowski)
  • Restore color icons in Finder sidebar
  • Restore color icons in iTunes
  • Lion Tweaks 1.3 - Simple GUI for applying common tweaks (unhide the user Library folder, change iCal and Address Book skins, disable local Time Machine backup, etc)

/mac | Jul 27, 2011

42-line blog engine in Bash #
___.sh is a "recursive, multimarkdown, sed & bash static HTML blog 'engine'" by Nicolas Hoibian. See it in action.

/blosxom | Jul 25, 2011

OS X: throttle application CPU utilization #
  • For process IDs that remain constant, check out Will Nolan's open source cputhrottle, "a small OS X command-line utility designed to limit the CPU usage of a process to which it attaches."
    # cputhrottle pid %CPU
  • For those who prefer a GUI, check out Jean-David Gadina's ProcessRenicer, which is like Activity Monitor on steroids, yet weighs in at just 350k.
  • To specify a process name instead of an ID (as when a PID for a given process keeps changing), cpulimit might work, but it caused a kernel panic on my machine running 10.6.7. Another option is to loop Aidan Findlater's renice oneliner from a root prompt:
    $ sudo su -
    # while true; do renice +15 -p `ps ax | grep processname | grep -v grep | awk '{print $1}' | tr 'n' ' '`; done
Windows users will appreciate Claus' Windows CPU throttling techniques.

/mac | Jul 23, 2011

NFO viewer for OS X #
Looking for a simple NFO viewer for OS X, I found the cross-platform, open source NFO Viewer and started to install:
$ sudo port install nfoview
After over 30 minutes of dependency installs and still no end in sight, I resumed the search. This time I hit upon NFOViewer, "a Mac OS X application for viewing documents containing ASCII art ('nfo', 'asc' or 'diz' documents)." On the plus side, it is a Universal Binary and renders NFO files neatly. On the minus side (for some), source code does not appear to be available despite the app being hosted on SourceForge. Just the same, if you need to view an NFO file now, NFOViewer may be the better choice.

/mac | Jul 19, 2011

Save all terminal text with script #
Script makes a typescript of everything printed in the terminal (saved to a file named typescript in the current directory by default):
$ script
Script started, output file is typescript
$ echo 'this is being recorded!'
this is being recorded!
$ exit
exit

Script done, output file is typescript
$ head typescript
Script started on Sun Jul 17 07:25:25 2011
bash-3.2$ echo 'this is being recorded!'
this is being recorded!
bash-3.2$ exit
exit

Script done on Sun Jul 17 07:25:51 2011

/nix | Jul 17, 2011

When you need a quick & simple calculator in Bash... #
$ bc -lq
1+1
2
quit
or
$ echo $((1+1))
2
or
$ echo $[1+1]
2

/nix | Jul 17, 2011

How safe are your secrets? #
Tomaž suggests a simple but possibly unsettling experiment:
# export HISTFILE=/dev/null
# grep secret_that_shouldn't_be_on_disk /dev/sda /dev/sdb
Binary file /dev/sda matches
Binary file /dev/sdb matches
"If grep returns no hits, great. Your secret is safe from this particular attack. In my case however the fun part was in finding out why exactly the password that supposedly never leaves volatile RAM appeared in clear on all of the computer's hard drives (and the machine in question doesn't even have swap enabled)."

/nix | Jul 17, 2011

Is it possible to recover data from a drive overwritten with zeros once? #
While The Great Zero Challenge was not very convincing, Daniel Feenberg's Can Intelligence Agencies Read Overwritten Data? and Craig Wright's Overwriting Hard Drive Data are. For those who are still confused (or are just fond of pictures), see Disk Wiping - One Pass is Enough - Part 2 (this time with screenshots).

/misc | Jul 17, 2011

Free shell scripting guide from Apple #
At 260 pages, Apple's Shell Scripting Primer is really more of a book than a guide. Originally published in 2006 and updated as recently as last month, it is available as a PDF and is accompanied by a zipped file of sample scripts. Chapters include:
Chapter 1Before You Begin
Chapter 2Shell Script Basics
Chapter 3Shell Input and Output
Chapter 4Flow Control, Expansion, and Parsing
Chapter 5Result Codes, Chaining, and Flags
Chapter 6Subroutines, Scoping, and Sourcing
Chapter 7Paint by Numbers
Chapter 8Regular Expressions Unfettered
Chapter 9How AWK-ward
Chapter 10Designing Scripts for Cross-Platform Deployment
Chapter 11Advanced Techniques
Chapter 12Performance Tuning
Chapter 13Shell Script Security
Appendix ASpecial Shell Variables
Appendix BOther Tools and Information
Appendix CStarting Points
Appendix DAn Extreme Example:
The Monte Carlo (Bourne) Method for Pi
Appendix E Historical Footnotes and Arcana

/nix | Jul 14, 2011

Unix in an EXE #
"MobaXterm is an enhanced terminal with an X server and a set of Unix commands (GNU/Cygwin) packaged in a single portable exe file. ... [I]ncludes a multitab native Windows terminal, a new X server based on X.Org ... and a lot of new GNU Unix commands." Reminicent of these guys (Unix Tools is apparently now "No-install Unix Tools for Windows").

/windows | Jul 12, 2011

Test your mail client's leakiness #
Since first being mentioned here in '04, email tracking services have beefed up their arsenal considerably. Thankfully, Mike Cardwell has put together Email Privacy Tester, a mail client leak test (remember the old firewall leak tests?). It checks for over 30 possible tracking methods, all of which seem to depend on HTML. The safest and easiest solution is still to enforce plain text email.

See also: HTML email considered harmful and Just say no to HTML email and proprietary attachments.

/misc | Jul 10, 2011

Howard Thurman breaks it down #
  • "Don't ask what the world needs. Ask what makes you come alive, and go do it. Because what the world needs is people who have come alive."
  • "There is something in every one of you that waits and listens for the sound of the genuine in yourself. It is the only true guide you will ever have. And if you cannot hear it, you will all of your life spend your days on the ends of strings that somebody else pulls."
  • "Follow the grain in your own wood."

/misc | Jul 09, 2011

Extracting email addresses from a file #
Back in 2002, bookface-ga kindly replied to my question about using awk to extract email addresses from a file:
Given a simple address book (ab.txt) with poor formatting:

john doe john@example.com 555-111-1212
sally@example.co.uk 555-555-1212 sally doe
515-1212   joe blow    joe@example.info
jane doe     jane@example.com       bob doe  bob@example.com
etc...

How can just the email addresses be extracted to a new file using awk?

$ awk '
           {
              for(i=1;i<=NF;i++){
                  if($i ~ /@/){
                      print $i
                  }
              }
         }
' ab.txt
john@example.com
sally@example.co.uk
joe@example.info
jane@example.com
bob@example.com
While simply extracting fields containing the 'at' symbol suited the data set perfectly, Patrick Mylund Nielsen's EmailsFromFile is far more comprehensive. "It follows a regular expression pattern based on the RFC 2822 standard and should thus return all valid email addresses regardless of how they appear in the file." Which means that even a jumbled mess like this:
john@example.com,sally@example.co.uk|8135551212/some random info
joe@example.info;sue@example.museum 42!42!42!
is parsed perfectly:
$ emailsfromfile.py sloppy_file.txt
joe@example.info
sue@example.museum
john@example.com
sally@example.co.uk
EmailsFromFile is licensed under the WTFPL, and is reproduced below for posterity. (Be sure not to miss Patrick's other tools; Windows admins will especially appreciate Failsafe MSI, a "shell script that enables and starts the Windows Installer service in safe mode".)

#!/usr/bin/env python
'''
  emailsfromfile.py -- Get all unique email addresses from a file

  by Patrick Mylund Nielsen
  http://patrickmylund.com/projects/emailsfromfile/

  License: WTFPL (http://sam.zoy.org/wtfpl/)
'''

__version__ = '1.1'

import sys
import os
import re
import codecs

# Regular expression matching according to RFC 2822 (http://tools.ietf.org/html/rfc2822)
rfc2822_re = r"""(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])"""
email_prog = re.compile(rfc2822_re, re.IGNORECASE)

def isEmailAddress(string):
    return email_prog.match(string)

def main(filename, separator='\n', encoding=None):
    separator_replace = {
        'space': ' ',
        'newline': '\n',
    }
    if not os.path.isfile(filename):
        raise IOError("%s is not a file." % filename)
    results = set()
    with codecs.open(filename, 'rb', encoding) as f:
        for line in f:
            results.update(email_prog.findall(line))
    for k, v in separator_replace.iteritems():
        separator = separator.replace(k, v)
    print(separator.join(results))

if __name__ == '__main__':
    args = len(sys.argv) - 1
    if 0 < args < 4:
        main(*sys.argv[1:])
    else:
        print("Usage: python %s <filename> [separator] [encoding]" % sys.argv[0])
        print("The default separator is a newline. To separate by space, literally enter 'space' as the separator.")

/nix | Jul 06, 2011

Free standalone and bootable antimalware #
eScanAV Anti-Virus Toolkit (MWAV) (similar to Microsoft Safety Scanner) and eScan Rescue Disk (similar to Standalone System Sweeper) are new to me, but according to Virus Bulletin, eScan ranks higher than ESET, Microsoft Security Essentials, Kaspersky, and many others in VB's Reactive And Proactive (RAP) testing. And speaking of malware, don't miss Claus' detailed description of his recent cleanup campaign.

/windows | Jul 02, 2011

Backup to drive label instead of drive letter #
Create Synchronicity is an open source backup and synchronization application that supports both drive labels and drive letters (like Ulrich's Back4Sure). And like Back4Sure, it is clean, simple, and unable to backup in-use files. Requires .NET Framework 2.0 or higher (though there have been problems with version 4).

/windows | Jul 02, 2011

suckless.org - tiny unix apps #
suckless.org is the "home of wmii, dwm, libixp, and other quality software with a focus on simplicity, clarity, and frugality." From the Manifest: "The more code lines you have removed, the more progress you have made. As the number of lines of code in your software shrinks, the more skilled you have become and the less your software sucks."

Embodies many of the principles Mike Gancarz extolled in The UNIX Philosophy:
  1. Small is beautiful.
  2. Make each program do one thing well.
  3. Build a prototype as soon as possible.
  4. Choose portability over efficiency.
  5. Store data in flat text files.
  6. Use software leverage to your advantage.
  7. Use shell scripts to increase leverage and portability.
  8. Avoid captive user interfaces.
  9. Make every program a filter.

/nix | Jul 01, 2011



Categories
/blosxom
/eink
/mac
/misc
/nix
/palm
/windows

Blosxom Archive
2013: 5 4 3 2 1
2012: 12 11 10 9 8 7 6 5 4 3 2 1
2011: 12 11 10 9 8 7 6 5 4 3 2 1
2010: 12 11 10 9 8 7 6 5 4 3 2 1
2009: 12 11 10 9 8 7 6 5 4 3 2 1
2008: 12 11 10 9 8 7 6 5 4 3 2 1
2007: 12 11 10 9 8 7 6 5 4 3 2 1
2006: 12 11 10 9 8 7 6 5 4 3 2 1
2005: 12 11 10

Blogger Archive
2005: 10 9 8 7 6 5 4 3 2 1
2004: 12 11 10 9 8 7 6 5 4 3 2 1
2003: 12 11 10 9 8 7 6

Ezine Archive
2004: 4 3 2 1
2003: 12 9 8 7 6 5 4 2 1
2002: 12 10 9 8 7 6 5 3 2 1
2001: 12 11 10