Shane Koyczan
Not that many really good ideas worth spreading?
My Facebook friends have been turning on TED and TEDx for a bit mostly because they have been pulling talks that don't fall within the traditional notions of science. I can't say I blame them -- friends and TED/TEDx. Especially when few people really understand that TED and TEDx are difference conferences altogether and TED/TEDx does not respect that many in their audience are rational, spiritual beings. For example, pulling Sheldrake's talk is really unfortunate as his is an interesting perspective on Eastern and native peoples spiritualism in Western science clothing. (Others that were pulled seem to me to be little more than entertainment presentations. That is, I don't care.) With that said, TED is a business — they sell conferences — and so they can edit (not censor, only governments do that) as they want. The challenge is for another conference organization to build the same name recognition as TED but in areas TED fears to tread. Let's look for them and support them.
In the end, however, I think what might be happening is that there simply are not that many really good ideas worth spreading!
Non-NISO duration standard
Too little skeuomorphism!
I find iOS 7's UI boring rather than utilitarian and/or minimalistic. I am, frankly, surprised at my reaction to this utilitarianism as it is something I have wanted for some time. How I have it, I think Apple went too far in removing the skeuomorphism.
I am Geordi LaForge. Really!?
|
Using a compound index to reduce lock timeouts with MySql 5.5
update t1 set c1 = ? where c2 = ?
create index i1 on t1(c2,c1)
Chain of Command and the storm in a tea cup.
I took down my post about my objection to having advertising in the opening pages of the Chain of Command rules book. While I continue to object to having advertising at the front of a paid product I now know better that my expectations are quite different (even quaint) than the general expectations of both rules buyers and rules publishers. If you want to know more about how this played out, then see the thread on Too Fat Lardies Yahoo! group (this is a private group so you must join to see postings).
Clipping my magpie wings & I healing my crow wings.
I deactivated my Facebook account. I deleted my Instapaper account. I deleted my (RSS reader) goread.io account. I deleted my Delicious account. And others are going sooner than later. I am tired of have all these virtual stacks of unread stuff scattered around my virtual desk. I have enough physical stacks of unread stuff that really needs my attention -- and is, more often than not, deserving of that attention. I am clipping my magpie wings and I am healing my crow wings.
Developers and Depression
Developers and Depression from Confbots on Vimeo.
If your presence doesn't work, neither will your words.
GNU Screen cheat-sheet
SCREEN starting screen named screen -S name within sudo script /dev/null screen -S name disconnecting ^a d reconnecting screen -x foo screen -x user/foo listing screen -ls $HOME/.screenrc hardstatus alwayslastline "%w %= %H " defscrollback 10000 multiuser on addacl user1 addacl user2 addacl userN help ^a ? WINDOW new window ^a c ^a : screen title window ^a A name ^a : title name close window ^a k ^a : k using ^d at the shell prompt will close end the current shell and so close the window. select window ^a number ^a : select number select next window ^a backspace ^a : prev read-only window ^a : chacl * -w number read-write window ^a : chacl * +w number REGION new region (aka split) ^a S ^a : split select next region ^a tab resize regions (equally) ^a : resize = close region ^a X ^a : remove close all regions except the current region ^a Q ^a : only SCROLL-BACK view ^a esc page back ^b page forward ^f finished esc esc ENDSee http://aperiodic.net/screen/start for an online manual.
Getting OS X to use the application you want to open a document type
I had a little problem where Chrome was not the default viewer for XML documents on my Mac. Using the "Open With..." dialog to select the application to use with the document did not stick. In the end I used the duti utility, eg
duti -s com.google.chrome text/xml alland this seems to have worked. Will see if it continues to work after a reboot.
The other problem is what are the applications, UTIs, or MIME types that can be used? The command
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep ...can be used to investigate. Further, I found a reference to AllApplications which will also help.
How will the driverless car affect the design of our cities?
A car allows me to get to a destination for specific purpose. For example, I don't "go to work" any more. I work where I am. Most of the time this is from my home. Other times, it requires that I be in proximity and cooperation with others. The car gets me to this work. Had not my employer contracted to use a specific location for this communal work, ie "the office", then all the participants would travel to a mutually agreed upon facility. In a car. With a self driving car I could continue to work where I am.
I do understand that my work allows for this. And that this is not true for everyone.
What interests me about my comment is that I now see that my advocating for mass public transport needs to be reviewed to account for the current facts and numbers regards who (workers in this case) that could actually take advantage of it.
Check the checkers
Devices in the classroom
Open letter to the South Kingstown, RI's School Committee, Superintendent, and Curtis Corner Middle School principal:
Dear Superintendent Stringfellow, Principal Aull, and the South Kingstown School Committee:
This letter is in regard to devices in the classroom and, incidentally, about "bring your own device" (BYOD) also.
I am not opposed to educational use of devices and other information technologies. I want to understand the pedagogical imperatives that are driving the continued expansion of devices in the classroom and now the BYOD policy. As a parent, I see the expansion being pushed by a small and vocal group of parents. They are well intentioned, “how couldn't a student benefit from have the Internet immediately available?” but not holistic.
Educational research has often been in the vanguard of new ideas and processes. My first job in the late 1980's was helping Brown University's students and faculty to use high performance, networked workstations. I did this for eight years and so I have a fair amount of experience with the use of technology in education. Overall, it was not an effectiveness use of resources. Where it was successful, its success was due to great teachers and motivated students -- an always-successful situation. From my continued readings on the topic I do not see a marked difference in the results achieved today. Then, as now, the technology gets the student's immediate attention but without improving their long-term retention.
At the same time that I was working with technology Theodore Sizer's "Coalition of Essential Schools" was also centered at Brown University. Its "Common Principles", while not antithetical to technology, did not see technology as a requirement of a good school. It is well worth rereading the nine principles when opening any educational discussion. See http://en.wikipedia.org/wiki/Coalition_of_Essential_Schools.
A classroom filled with knowledgable teaching, rapt student attention, and dynamic discussion is wonderful to experience. It is also rare. Why? In part it is because of the ever-present constants of maturing teen bodies and their daily energy cycles. We also live in a time of significant and accelerating change for their families and our communities. Our children are present in this no matter how much we try to shelter them.
Through all of this secondary education has attempted to keep abreast of the changes and to incorporate appropriate devices -- that is, hardware, network, and software tools -- for teaching. The perspective from which "appropriate" is considered seems to have been only the administration's. I am sure some teachers want to include devices in their classroom just as I am also sure some teachers opposed it with all their might. Any change in the classroom must first address the pedagogy.
The demands on teacher and student time, attention, and energies have grown enormously over the last decade. Linda Stone writes about our culture's "continuous partial attention." We don't want to miss anything. Continuous partial attention is a coping mechanism. Unfortunately, by coping with not missing anything we have given up understanding a few things well. Secondary education must firmly instill knowing a few things well.
For example, I want my children to understand Algebra 1 well. I want them to understand it without resorting to Wolfram Alpha or any other software aid. Algebra 1 is not rocket science (but it is hard.) Putting pencil to paper has a proven track record of success and new research reports a strengthening of understanding and retention when both physical and intellectual effort is exerted. What do you remember better, the equation worked out on paper with all its missteps, crossings-out and corrections or a cleanly typed and retyped of the same? The former expression has a history while the later only has an end. You need the history to understand how to get to the end.
How is the classroom teacher going to keep the students attention when these devices beckon -- literally and figuratively? They do come with an "Airplane mode" but they do not come with a "Classroom mode." Consider that we can't keep teens from texting while driving and that action is actually life threatening. All that a device in the classroom does is perpetuate the attention deficit and, far worse, it separates the student from the teacher.
In this letter, I am not addressing the disparities that will arise due to family income. Nor does it address the difficulties for teachers having to prepare classroom materials for a diversity of devices. These are very serious issues that have social and professional costs. Even if these issues were solved, however, we, a community of supportive adults, still need to know how a student looking down at a screen -- sometimes described as "a world under glass" -- instead of looking across a classroom of peers to a teacher at a whiteboard is an improvement to educating our children?
Yours truly, Andrew Gilmartin
For related postings see one-to-one.
Age of Sail
The "Wednesday Gamers" have been playing an Age of Sail game in my absence. (I have had work and family events that prevented me from playing.) And so, I have been an armchair admiral for the last few weeks. I am currently reading N. A. M. Rodger's The command of the ocean : a naval history of Britain, 1649-1815 to get better acquainted with the period. I also read the article, review, and reply to Douglas Allen's fascinating analysis of the economic incentives that made the Royal Navy and so Britain a great power: The British Navy Rules: Monitoring and Incompatible Incentives in the Age of Fighting Sail. (Also for free.)
While looking online for Age of Sail game rules I came across Jeffrey Knudsen's http://www.warartisan.com/ and his wonderful paper-craft models. I have not yet built any (armchair restrictions), but I have to say that the instructions are top notch. Even if you have no intention of making a 1:900 scale square-rigger do read the instructions for the 64-gun ship of the line and rigging tutorial. They are models of instructional clarity.
While I did not find the rules the Wednesday Gamers are using I did find the board game Fighting Sail which I want to try. The game was published by Simulations Publications, Inc. (SPI) many years ago and long out of print, but thanks to pack-rats and their pimp I was able to buy an unpunched copy.
Background tasks
What I would like to see is for web browsers to have a background tasks API and user interface. A task is a JavaScript function. A web page or application (webapp) can add a task to the list of background tasks. The execution of the background task has the same constraints as any other task running in a give webapp from a specific web site.
The task is run by the browser when it has the chance. There are no guarantee of timeliness; just a promise of best effort. For simplicity, all the tasks in the list are run in the order added by the adding webapp. That is, if pages A and B both add 5 tasks to the background list then the tasks will be run in the order A1, B1, A2, B2, A3, B3, A4, B4, A5, B5. All tasks "succeed" in that any errors that occur must be conveyed to the originating webapp and its existing enqueued tasks. For example, a status of the task is kept in a cookie and the webapp & its tasks look at this cookie to determine the right course of action. The only indication to the user of tasks status will be a message in the task history. The user must not be expected to "respond" to the status message. The webapp is allowed to enumerate its tasks and to cancel them.
The "Narrator" service
I have an itch. I want to create a podcast. Not of myself talking on & on about something of importance to me. (I do this in my day job and in the mirror.) What I want is a podcast of the long articles or papers of interest that I discover. I want to be able to access these in the car or when I am otherwise not able to read them online or in print. A podcast of readings of these longer texts subscribed to in iTunes would be very helpful. And so I am now thinking about implementing a service to achieve this.
The "Narrator" service is a very simple pipeline. At this stage it looks like this:
- URL of article to read is deposited with Narrator.
- Narrator deposits the URL to Instapaper.
- Narrator confirms Instapaper's understanding of the text with the depositor.
- Narrator starts a HIT with Amazon.com Mechanical Turk.
- The HIT's reader uses Narrator's online audio capture to record the reading.
- The depositor is notified of the reader's audio availability.
- Narrator adds the article's link and the reader's audio to the depositor's podcast feed.
I will keep this posting updated as I find out more about implementing this service. If these already exists, then please tell me.
Update: The Umano app and service is getting close to what I want.
Spring, archetypes, conditional sections, and properties.
We added a further twist to the properties and added "conditional sections" to the contexts.
For properties, we have the normal "common" properties that define the default values for all properties for all deployments, deployment specific properties that override the defaults, and archetype specific properties that (mostly) enable conditional sections. Examples of archetypes are "full text search", "full text indexing", "analytics processing", "upload processing", etc.
The conditional sections allow for the inclusion of beans based on the value of a property. We have many properties that have names of the form "xxxx.enabled". When the value is "true" then the conditional section's beans are defined. (A similar effect can be had by using different "application" context files but we found that conditional sections worked better for us.)
The startup procedure is to
- load the common properties to "prime" the environment,
- load the deployment specific properties where are defined the archetypes used by the deployment,
- load each of the archetype properties, and then, finally,
- reload the deployment specific properties again (to reset deployment specific property values).
Pay for service and tools you rely on
Crazy world example #1
OS X and system-wide default paths
Chirp
tail -F foo.log | grep bar | chirpSave the following to /usr/local/bin/chrip
#!/usr/bin/perl -w
use strict;
use POSIX qw(strftime);
$::timeout = 5;
$::format = "%F %T";
while ( @ARGV ) {
my $arg = shift @ARGV;
if ( $arg eq "-t" ) {
$::timeout = shift @ARGV;
}
elsif ( $arg eq "-f" ) {
$::format = shift @ARGV;
}
elsif ( $arg =~ /^-/ ) {
print "usage: chirp [ -t seconds ] [ -f strftime-pattern ]\n";
exit 1;
}
}
local $SIG{ALRM} = sub {
print strftime( $::format, localtime ), " chirp\n";
alarm $::timeout;
};
alarm $::timeout;
while ( <> ) {
print strftime( $::format, localtime ), " ", $_;
}
# END
Installing mt-daapd on OS X
The following story is not pretty. I am hoping there is an easier way in the future. Until then, here is how I installed a music server on a Mac.
We have a Mac Mini that is used to hold the family's music collection. However, since this machine is also used by the kids for homework, iTunes is not always running. I finally got around to installing a DAAP server on the machine so I could expect to find the music available when I wanted it. I used brew to build and install the mt-daapd server. Assuming you have brew installed you need only run
brew install mt-daapd
However, for some reason the brew recipe did not complete the installation. This turned out to be fortuitous as I continue to want use iTunes to manage the music located in my home directory. And so I configured mt-daapd to run from within my home directory. First I created the /Users/ajg/Library/Application Support/mt-daapd directory for mt-daapd data. Then created a configuration file at /Users/ajg/Library/Application Support/mt-daapd/mt-daapd.conf containing
[general]
web_root /usr/local/share/mt-daapd/admin-root
port 3688
admin_pw password
mp3_dir /Users/ajg/Music/iTunes/iTunes Media/Music
db_dir /Users/ajg/Library/Application Support/mt-daapd
servername Minimac Fulltime
runas nobody
extensions .mp3,.m4a,.m4p,.wav,.wma,.aiff,.ogg
logfile /Users/ajg/Library/Application Support/mt-daapd/mt-daapd.log
rescan_interval 600
process_m3u 1
scan_type 0
compress 1
Your configuration should be the same except, perhaps, for port (the default is 3689 which conflicts with iTunes), password, mp3_dir, and servername. To test the installation run the following and then open iTunes so see the "Minimac Fulltime" server.
/usr/local/sbin/mt-daapd -y -c '/Users/ajg/Library/Application Support/mt-daapd/mt-daapd.conf' -f -d 1
Once it is working, the next step is to keep it running using OS X's launchd. Create the file /Users/ajg/Library/Application Support/mt-daapd/mt-daapd.plist containing
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>mt-daapd</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/mt-daapd</string>
<string>-y</string>
<string>-c</string>
<string>/Users/ajg/Library/Application Support/mt-daapd/mt-daapd.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Install it and start the server running
launchctl load "/Users/ajg/Library/Application Support/mt-daapd/mt-daapd.plist"
launchctl start mt-daapd
I can now listen to music on any of my devices around the house; which includes a first generation iPod Touch using Simple DAAP Client. And if I need to check the server's status I can open http://localhost:3688/.
Update: A link to the FireFly Media Server at the Internet Archive.
View Evernote note via an Everynote Link
(function(){Show in Everynote.
var link_pattern = new RegExp(
"^evernote:\/"+
".*"+
"\/"+
"([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})"+
"\/"+
"([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})"+
"\/"+
"$");
var link = "";
for(;;) {
link = window.prompt("Evernote link?",link);
if ( link ) {
var m = link_pattern.exec(link);
if ( m ) {
var url = "https://www.evernote.com/view/notebook/"+m[1]+"?&n="+m[2];
window.location.assign(url);
break;
}
}
else {
break;
}
}
}
)();