Categories
Utilities Notes

43 Folders: You shall know us by our Notational Velocity

43 Folders: You shall know us by our Notational Velocity
I’d been seeing a lot of gushy notices about Zachary Schneirov’s note-taking app, Notational Velocity, and I think I now see why. This is really pretty neat.

All Notational Velocity does is record little notes, but it does that in a way that is completely elegant, intuitive, and incrementally searchable.

Categories
Utilities Notes

Ranchero Software: Look Up PHP Function

Ranchero Software: Look Up PHP Function
Highlight a PHP function in a BBEdit window, then choose Look Up PHP Function from the Scripts menu. Your browser will then run a search on the PHP site to find the docs for that function.

Categories
Utilities Notes

Hartigan/Computer/AWK

Hartigan/Computer/AWK
EXAMPLES # is the comment character for awk. 'field' means 'column'

# Print first two fields in opposite order:
awk '{ print $2, $1 }' file

# Print lines longer than 72 characters:
awk 'length > 72' file

# Print length of string in 2nd column
awk '{print length($2)}' file

# Add up first column, print sum and average:
{ s += $1 }
END { print "sum is", s, " average is", s/NR }

# Print fields in reverse order:
awk '{ for (i = NF; i > 0; --i) print $i }' file

# Print the last line
{line = $0}
END {print line}

# Print the total number of lines that contain the word Pat
/Pat/ {nlines = nlines 1}
END {print nlines}

# Print all lines between start/stop pairs:
awk '/start/, /stop/' file

# Print all lines whose first field is different from previous one:
awk '$1 != prev { print; prev = $1 }' file

# Print column 3 if column 1 > column 2:
awk '$1 > $2 {print $3}' file

# Print line if column 3 > column 2:
awk '$3 > $2' file

# Count number of lines where col 3 > col 1
awk '$3 > $1 {print i "1"; i }' file

# Print sequence number and then column 1 of file:
awk '{print NR, $1}' file

# Print every line after erasing the 2nd field
awk '{$2 = ""; print}' file

# Print hi 28 times
yes | head -28 | awk '{ print "hi" }'

# Print hi.0010 to hi.0099 (NOTE IRAF USERS!)
yes | head -90 | awk '{printf("hi00%2.0f n", NR 9)}'

# Replace every field by its absolute value
{ for (i = 1; i < = NF; i=i 1) if ($i < 0) $i = -$i print} # If you have another character that delimits fields, use the -F option # For example, to print out the phone number for Jones in the following file, # 000902|Beavis|Theodore|333-242-2222|149092 # 000901|Jones|Bill|532-382-0342|234023 # ... # type awk -F"|" '$2=="Jones"{print $4}' filename # Some looping for printouts BEGIN{ for (i=875;i>833;i--){
printf "lprm -Plw %dn", i
} exit
}

Formatted printouts are of the form printf( "formatn", value1, value2, ... valueN)
e.g. printf("howdy %-8s What it is bro. %.2fn", $1, $2*$3)
%s = string
%-8s = 8 character string left justified
%.2f = number with 2 places after .
%6.2f = field 6 chars with 2 chars after .
n is newline
t is a tab

# Print frequency histogram of column of numbers
$2 < = 0.1 {na=na 1} ($2 > 0.1) && ($2 < = 0.2) {nb = nb 1} ($2 > 0.2) && ($2 < = 0.3) {nc = nc 1} ($2 > 0.3) && ($2 < = 0.4) {nd = nd 1} ($2 > 0.4) && ($2 < = 0.5) {ne = ne 1} ($2 > 0.5) && ($2 < = 0.6) {nf = nf 1} ($2 > 0.6) && ($2 < = 0.7) {ng = ng 1} ($2 > 0.7) && ($2 < = 0.8) {nh = nh 1} ($2 > 0.8) && ($2 < = 0.9) {ni = ni 1} ($2 > 0.9) {nj = nj 1}
END {print na, nb, nc, nd, ne, nf, ng, nh, ni, nj, NR}

# Find maximum and minimum values present in column 1
NR == 1 {m=$1 ; p=$1}
$1 >= m {m = $1}
$1 < = p {p = $1} END { print "Max = " m, " Min = " p } # Example of defining variables, multiple commands on one line NR == 1 {prev=$4; preva = $1; prevb = $2; n=0; sum=0} $4 != prev {print preva, prevb, prev, sum/n; n=0; sum=0; prev = $4; preva = $1; prevb = $2} $4 == prev {n ; sum=sum $5/$6} END {print preva, prevb, prev, sum/n} # Example of using substrings # substr($2,9,7) picks out characters 9 thru 15 of column 2 {print "imarith", substr($2,1,7) " - " $3, "out."substr($2,5,3)} {print "imarith", substr($2,9,7) " - " $3, "out."substr($2,13,3)} {print "imarith", substr($2,17,7) " - " $3, "out."substr($2,21,3)} {print "imarith", substr($2,25,7) " - " $3, "out."substr($2,29,3)}

Categories
Utilities Notes

Access keychains from the CLI

Access keychains from the CLI: Use the security command to access keychains. Read the man page, but usage is pretty easy. It’s especially handy when you need to find out your IPSec shared key and you only have an ssh connection.Do note that if you use the interactive mode that there isn’t any way of getting out besides using control-c.

(Via AFP548 Full Feed.)

Categories
Utilities Notes

Copy HTML with attribution: Good

That Control-click pop-up menu containing …”Copy HTML with Attribution” — th [NetNewsWire]

Categories
Utilities Notes

uControl

uControl

my scroll wheel is back!

uControl gives you the ability to take those useless keys, that you’re certain would have been better fashioned as something else, and turn them into something useful. It started out as a simple hack to remap the caps lock key to a control key, but has since evolved into a fairly sophisticated means of not only remapping modifier keys, but giving your trackpad a virtual scroll wheel, or giving lefties a sensible mouse, or giving people with disabilities the ability to type with one hand.

Categories
Utilities Notes

URL Manager Pro, bookmark manager for the Mac

Categories
Utilities Notes

Stored Settings – use defaults

mac 128 ~ % defaults write com.centosprime.mac “testing” ‘jibble’
mac 130 ~ % defaults read com.centosprime.mac
{testing = jibble; }
mac 131 ~ % defaults write com.centosprime.mac “resting” ‘jabble’
mac 132 ~ % defaults read com.centosprime.mac
{resting = jabble; testing = jibble; }
mac 133 ~ % defaults read com.centosprime.mac “resting”
jabble
mac 134 ~ % FOO=`defaults read com.centosprime.mac “resting”`
mac 135 ~ % echo $FOO
jabble

Categories
Utilities Notes

grep – repeating pattern count

.{80,}

Did that show up as “period-leftCurlyBrace-8-0-comma-rightCurlyBrace”

In BBedit version 6.5…in the Find dialog…enable GREP, enter that string, do a “find all”

What you get is a window containing all lines that are 80 characters long (or longer)

The period matches any character except newline.

The braces surround a quantifier. The comma inside says match at least. With no comma it would match exactly. You can make some thing like

{80,90}

which means between 80 and 90 characters.