Father Tony's homily
Samaritan woman sharing the bucket of water with Jesus
"Worshipping neither on the mountain" = worshipping God no matter where we are
Father T's missionary days in rural Pakistan, when he was given dirty water to drink
Engineering beautiful software | jon aquino labs | personal blog |
Samaritan woman sharing the bucket of water with Jesus
"Worshipping neither on the mountain" = worshipping God no matter where we are
Father T's missionary days in rural Pakistan, when he was given dirty water to drink
posted by Jonathan at 2/28/2005 11:40:00 p.m. | 0 comments
Pam came up with an intriguing blanket term for delicious, Flickr, GMail, blogging, and the rest of Web 2.0: webology.
My mom had a couple of interesting names for this: internet guy, fanatico.
Update: I'm getting closer to a name for this space. It's what Barlow is talking about in his "Declaration of the Independence of Cyberspace": "Cyberspace consists of transactions, relationships, and thought itself, arrayed like a standing wave in the web of our communications." I don't like the term "cyberspace" -- it is fairly worn out these days. But Barlow's meaning is what I'm after. So what is a more up-to-date term for the utopia that Barlow is describing?
Internet? That's the foundation on which the city is built, not the city itself.
Web 2.0? Closer.
Internet culture? There are several different areas of interest on the internet, each with their own culture e.g. The geek culture, the online-dating culture, the gaming culture. I'm looking for an overarching term describing the whole.
The online lifestyle? Better, but it needs more precision.
Cyberspace?
The cyberspatial utopia?
posted by Jonathan at 2/28/2005 11:40:00 p.m. | 0 comments
posted by Jonathan at 2/28/2005 09:20:00 p.m. | 0 comments
posted by Jonathan at 2/28/2005 07:51:00 p.m. | 0 comments
posted by Jonathan at 2/28/2005 12:11:00 a.m. | 0 comments
posted by Jonathan at 2/27/2005 12:10:00 a.m. | 0 comments
I use the following website to keep my finger on the pulse of the internet. Basically, del.icio.us is a web bookmark manager used by tech-savvy netizens, and del.icio.us/popular shows which sites have been most frequently bookmarked by these people for the past day.
In short, it's very cool:
http://del.icio.us/popular
posted by Jonathan at 2/26/2005 10:38:00 p.m. | 0 comments
posted by Jonathan at 2/26/2005 10:24:00 p.m. | 0 comments
Mail2Blogger test
Update: AWESOME! It works now, after 6 weeks of not working. Sweet!
posted by Jonathan at 2/26/2005 09:22:00 p.m. | 0 comments
posted by Jonathan at 2/26/2005 09:16:00 p.m. | 0 comments
Jeremy Isaak - Haven't seen you in 6 years. Drop me a line! And you too, Mary-Ann Yoon!
These were my co-op buddies when I was working at OTI for a couple of summers. Good times.
posted by Jonathan at 2/26/2005 03:03:00 p.m. | 0 comments
posted by Jonathan at 2/25/2005 07:36:00 p.m. | 2 comments
lynx -source "http://adactio.com/extras/newmediagenerator/" | grep h1 >> c:\junk3\g.txt
posted by Jonathan at 2/25/2005 04:37:00 p.m. | 0 comments
<?xml version="1.0"?>
<!--
To start the game, type "ant -quiet". Requires Ant 1.6
and the Ant-Contrib Tasks [Jon Aquino 2005-02-24]
-->
<project name="ski" default="run" basedir=".">
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<taskdef name="for" classname="net.sf.antcontrib.logic.For"/>
<typedef name="isgreaterthan" classname="net.sf.antcontrib.logic.condition.IsGreaterThan"/>
<typedef name="islessthan" classname="net.sf.antcontrib.logic.condition.IsLessThan"/>
<var name="skiier-position" value="5"/>
<!-- Generated using random numbers from http://www.random.org.
Make your own course up! [Jon Aquino 2005-02-25] -->
<property name="course" value="1,0,1,2,1,2,3,2,3,4,3,4,5,4,3,4,3,2,3,4,3"/>
<property name="course-width" value="13"/>
<property name="skiier-width" value="7"/>
<target name="run">
<echo/>
<echo message="Use the < and > keys to move left and right."/>
<for list="${course}" param="tree-position">
<sequential>
<var name="tree-position" value="@{tree-position}"/>
<update-clearances/>
<check-crash/>
<paint/>
<get-input/>
</sequential>
</for>
<success/>
</target>
<macrodef name="paint">
<sequential>
<!-- Graphics from http://www.chris.com/ascii/ [Jon Aquino 2005-02-24] -->
<paint-line tree=" " skiier="+ + "/>
<paint-line tree=" /\ /\" skiier="\ O \ "/>
<paint-line tree=" / \\ /\ /\\\" skiier="\_/|\_\"/>
<paint-line tree="/ \\/ \\ / \\\" skiier=" \\ "/>
<paint-line tree="/ / \/ \\\" skiier="\/' "/>
<paint-line tree="/ / / \\\" skiier="\\_ "/>
<paint-line tree="/ / / \\\" skiier="- "/>
</sequential>
</macrodef>
<macrodef name="get-input">
<sequential>
<var name="input" unset="true"/>
<input addproperty="input"/>
<if><equals arg1="${input}" arg2=","/>
<then><subtract a="${skiier-position}" b="1" result="skiier-position"/></then>
<elseif><equals arg1="${input}" arg2="."/>
<then><add a="${skiier-position}" b="1" result="skiier-position"/></then></elseif></if>
</sequential>
</macrodef>
<macrodef name="update-clearances">
<sequential>
<subtract a="${skiier-position}" b="${tree-position}" result="left-clearance"/>
<add a="${tree-position}" b="${course-width}" result="right-clearance"/>
<subtract a="${right-clearance}" b="${skiier-position}" result="right-clearance"/>
<subtract a="${right-clearance}" b="${skiier-width}" result="right-clearance"/>
</sequential>
</macrodef>
<macrodef name="paint-line">
<attribute name="tree"/>
<attribute name="skiier"/>
<sequential>
<spaces n="${tree-position}" result="left-margin"/>
<spaces n="${left-clearance}" result="left-space"/>
<spaces n="${right-clearance}" result="right-space"/>
<echo message="${left-margin}@{tree}${left-space}@{skiier}${right-space}@{tree}"/>
</sequential>
</macrodef>
<macrodef name="spaces">
<attribute name="n"/>
<attribute name="result"/>
<sequential>
<math result="2n" operation="*" operand1="@{n}" operand2="2" datatype="int"/>
<var name="@{result}" unset="true"/>
<propertyregex
property="@{result}"
input=" "
regexp="( {${2n}}).*"
select="\1"/>
</sequential>
</macrodef>
<macrodef name="add">
<attribute name="a"/>
<attribute name="b"/>
<attribute name="result" default="result"/>
<sequential>
<math result="@{result}" operation="+" operand1="@{a}" operand2="@{b}" datatype="int"/>
</sequential>
</macrodef>
<macrodef name="subtract">
<attribute name="a"/>
<attribute name="b"/>
<attribute name="result" default="result"/>
<sequential>
<add a="@{a}" b="-@{b}" result="@{result}"/>
</sequential>
</macrodef>
<macrodef name="check-crash">
<sequential>
<if><islessthan arg1="${left-clearance}" arg2="0"/>
<then><die/></then></if>
<if><islessthan arg1="${right-clearance}" arg2="0"/>
<then><die/></then></if>
</sequential>
</macrodef>
<macrodef name="die">
<sequential>
<!-- Sound effects from http://collection.nlc-bnc.ca/100/200/300/ktaylor/kaboom-revised/bzzurkk.htm [Jon Aquino 2005-02-25] -->
<fail message=" *** BOINK! POINK! THUMP! You smashed into a tree and died. ***"/>
</sequential>
</macrodef>
<macrodef name="success">
<sequential>
<!-- Graphics from http://www.chris.com/ascii/ [Jon Aquino 2005-02-24] -->
<echo message="Hooray! Hooray! You are the champion! Congratulations!"/>
<echo message=" *"/>
<echo message=" XX"/>
<echo message=" MMMMM"/>
<echo message=" //(00 "/>
<echo message=" .:....."/>
<echo message=" .:::::::::"/>
<echo message=" :: %%%%%% ::."/>
<echo message=" :: :::::: :::::::I)"/>
<echo message=" (% ::::: |"/>
<echo message=" / | /______ |"/>
<echo message=" / |______ )) |"/>
<echo message=" / / // |"/>
<echo message=" / / // |"/>
<echo message=" / / // |"/>
<echo message="* ZZZZ *"/>
<echo message=" _________ZZZZZZ_________//_//"/>
</sequential>
</macrodef>
</project>
BUILD SUCCESSFUL
Total time: 17 seconds
posted by Jonathan at 2/25/2005 12:38:00 a.m. | 15 comments
posted by Jonathan at 2/24/2005 07:32:00 p.m. | 0 comments
posted by Jonathan at 2/24/2005 12:51:00 a.m. | 0 comments
posted by Jonathan at 2/23/2005 11:29:00 p.m. | 0 comments
posted by Jonathan at 2/23/2005 11:04:00 p.m. | 0 comments
posted by Jonathan at 2/23/2005 10:24:00 p.m. | 0 comments
posted by Jonathan at 2/21/2005 11:17:00 p.m. | 0 comments
posted by Jonathan at 2/21/2005 11:14:00 p.m. | 0 comments
posted by Jonathan at 2/21/2005 11:13:00 p.m. | 0 comments
posted by Jonathan at 2/21/2005 11:12:00 p.m. | 0 comments
#Time code from http://www.ruby-doc.org/stdlib/libdoc/time/rdoc/classes/Time.html [Jon Aquino 2005-02-20]
RFC2822_DAY_NAME = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ]
RFC2822_MONTH_NAME = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]
class Time
def rfc2822
sprintf('%s, %02d %s %d %02d:%02d:%02d ',
RFC2822_DAY_NAME[wday],
day, RFC2822_MONTH_NAME[mon-1], year,
hour, min, sec) +
if utc?
'-0000'
else
off = utc_offset
sign = off < 0 ? '-' : '+'
sprintf('%s%02d%02d', sign, *(off.abs / 60).divmod(60))
end
end
end
urls = File.readlines("motd.txt")
url = urls[rand(urls.size)].strip
url =~ /.*\/auth\/(.*).jpg/
#Include the date in the title, to make the title unique,
#so that feedreaders won't think it is the same as an
#older item, if the painting has appeared before.
#[Jon Aquino 2005-02-21]
rss = "<?xml version='1.0'?>
<rss version='0.91'>
<channel>
<title>Masterpiece of the Day</title>
<link>http://jonaquino.blogspot.com/2005/02/masterpiece-of-day.html</link>
<description>A daily random masterwork painting from the ibiblio WebMuseum.</description>
<pubDate>#{Time.new.rfc2822}</pubDate>
<lastBuildDate>#{Time.new.rfc2822}</lastBuildDate>
<item>
<title>#{$1} #{sprintf('%s %d, %d', RFC2822_MONTH_NAME[Time.new.mon-1], Time.new.day, Time.new.year)}</title>
<link>#{url}</link>
<description><img src='#{url}'></description>
<pubDate>#{Time.new.rfc2822}</pubDate>
</item>
</channel>
</rss>"
File.open("motd.xml", "w") {|file|
file.write(rss)
}
puts rss
puts `ftp -i -n -s:"motd.ftp"`
#Hit the URL. Hopefully this will flush any caching going on
#on my ISP's server. Because I'm finding that Bloglines is not
#picking up new items. [Jon Aquino 2005-02-20]
puts `lynx -source -reload "http://members.shaw.ca/Jon_Aquino/motd.xml"`
posted by Jonathan at 2/21/2005 08:21:00 p.m. | 2 comments
1. Click View > BeanShell. The BeanShell window will appear.
2. Copy the following code, then paste it into the BeanShell window
using Ctrl+V:
{
layerName = "Adriana's Street Layer";
streetNameAttribute = "STREETNAME";
import com.vividsolutions.jump.feature.Feature;
import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.ui.Viewport;
import com.vividsolutions.jump.workbench.ui.renderer.style.LabelStyle;
layer = wc.getLayerManager().getLayer(layerName);
oldLabelStyle = layer.getLabelStyle();
layer.addStyle(new LabelStyle() {
streetNamesDrawn = new HashSet();
public void initialize(Layer layer) {
streetNamesDrawn.clear();
super.initialize(layer);
}
streetName(feature) {
return feature.getAttribute(streetNameAttribute);
}
public void paint(Feature f, Graphics2D g, Viewport viewport) {
if (streetNamesDrawn.contains(streetName(f))) { return; }
streetNamesDrawn.add(streetName(f));
super.paint(f, g, viewport);
}
});
layer.removeStyle(oldLabelStyle);
layer.getLabelStyle().setEnabled(true);
layer.getLabelStyle().setAttribute(streetNameAttribute);
wc.getLayerViewPanel().repaint();
}
posted by Jonathan at 2/20/2005 08:07:00 p.m. | 0 comments
posted by Jonathan at 2/20/2005 02:06:00 p.m. | 0 comments
Test post #2 using Flickr's Mail2Blog feature with a dummy 1-pixel jpeg. This is a stop-gap solution while Blogger's own mail-to-blog is out of commission.
posted by Jonathan at 2/20/2005 12:46:00 p.m. | 0 comments
Originally Posted by Alex Jonathan, I stumbled upon your post on aximsite (http://www.aximsite.com/boards/showthread.php?t=64806) and wonder if you could share your expertise in how to retool the Resco keyboard for displaying the Fitaly layout. Would you be willing to send me the setup file and/or the skin that accomplishes the task? Truth be told, I do not have much aptitude nor time for fiddling with this thing myself... Notwithstanding, you've done a clever thing with Resco and I thank you in advance for sharing the fruits of your labor. Regards, Alex |
16 q Q 00E0 00C0
17 w W 00E1 00C1
18 e E 00E2 00C2
19 r R 00E3 00C3
20 t T 00E4 00C4
21 y Y 00E5 00C5
posted by Jonathan at 2/20/2005 12:27:00 p.m. | 4 comments
Abraham - trusted God
Transfiguration - like introducing his disciples to his Family. Am I moving in the forward direction, in preparation for that Meeting?
posted by Jonathan at 2/20/2005 12:05:00 p.m. | 0 comments
There should be two spaces on the left
12345
posted by Jonathan at 2/19/2005 11:04:00 p.m. | 0 comments
Map personToTypeMap = new HashSet();
personToTypeMap.put("Fred", "ISTJ");
personToTypeMap.put("Mary", "ENFP");
personToTypeMap.put("Bob", "INTJ");
for (Iterator i = personToTypeMap.keySet(); i.hasNext(); ) {
String person = (String) i.next();
System.out.println(person + " is type " + personToTypeMap.get(person);
}
["Fred":"ISTJ", "Mary":"ENFP", "Bob":"INTJ"].each { person, type |
print(person + " is type " + type)
}
posted by Jonathan at 2/19/2005 07:26:00 p.m. | 0 comments
posted by Jonathan at 2/19/2005 03:06:00 p.m. | 2 comments
urls = File.readlines("motd.txt")
url = urls[rand(urls.size)].strip
url =~ /.*\/auth\/(.*).jpg/
rss = "<?xml version='1.0'?>
<rss version='0.91'>
<channel>
<title>Masterpiece of the Day</title>
<link>http://jonaquino.blogspot.com/2005/02/masterpiece-of-day.html</link>
<description>A daily random masterwork painting from the ibiblio WebMuseum.</description>
<item>
<title>#{$1}</title>
<link>#{url}</link>
<description><img src='#{url}'></description>
</item>
</channel>
</rss>"
File.open("motd.xml", "w") {|file|
file.write(rss)
}
puts `ftp -i -n -s:"motd.ftp"`
posted by Jonathan at 2/19/2005 11:45:00 a.m. | 2 comments
posted by Jonathan at 2/19/2005 11:05:00 a.m. | 0 comments
Hi Yasuhiro. Well, today is the 19th, meaning it is the anniversary of
your arrival in Canada. I hope you are well, and that you are
practicing jotatsu in your job. Remember, you have to send me a
picture of your room!
posted by Jonathan at 2/19/2005 10:55:00 a.m. | 0 comments
posted by Jonathan at 2/19/2005 10:49:00 a.m. | 0 comments
posted by Jonathan at 2/19/2005 09:48:00 a.m. | 0 comments
posted by Jonathan at 2/19/2005 01:12:00 a.m. | 0 comments
posted by Jonathan at 2/19/2005 12:15:00 a.m. | 0 comments
posted by Jonathan at 2/18/2005 10:58:00 p.m. | 0 comments
posted by Jonathan at 2/18/2005 12:21:00 a.m. | 0 comments
posted by Jonathan at 2/18/2005 12:18:00 a.m. | 0 comments
posted by Jonathan at 2/17/2005 09:51:00 p.m. | 0 comments
posted by Jonathan at 2/15/2005 09:58:00 p.m. | 0 comments
posted by Jonathan at 2/12/2005 05:26:00 p.m. | 0 comments
import os
import shutil
for file in filter(lambda x: x.endswith("lnk"), os.listdir("/Launcher")):
os.unlink("/Launcher/"+file)
for file in filter(lambda x: x.endswith("lnk"), os.listdir("/Windows/Start Menu\Programs")):
shutil.copy("/Windows/Start Menu/Programs/"+file, "/Launcher")
execfile("/My Documents/UpdateLauncher.py")
posted by Jonathan at 2/12/2005 02:19:00 p.m. | 0 comments
puts `del *.html`
puts `del "C:\\Documents and Settings\\Jon\\My Documents\\X30 Storage Card\\Delicious"\\*.html`
`lynx -source "http://del.icio.us/JonathanAquino/read-review-mobile?setcount=100" | grep delLink`.split("\n").each {|line|
line =~ /.*href="(.*)">(.*)<.a>.*/
puts "#{$2}\n#{$1}\n\n"
`lynx -source "#{$1}" > "#{$2.gsub(/[^A-Za-z0-9]/, " ").gsub(/ +/, " ")[0..30]+".html"}"`
}
puts `cp *.html "C:\\Documents and Settings\\Jon\\My Documents\\X30 Storage Card\\Delicious\\"`
posted by Jonathan at 2/12/2005 10:10:00 a.m. | 0 comments
posted by Jonathan at 2/12/2005 09:22:00 a.m. | 0 comments
posted by Jonathan at 2/11/2005 11:41:00 p.m. | 0 comments
posted by Jonathan at 2/11/2005 08:02:00 p.m. | 0 comments
posted by Jonathan at 2/11/2005 08:00:00 p.m. | 0 comments
posted by Jonathan at 2/11/2005 10:27:00 a.m. | 0 comments
posted by Jonathan at 2/10/2005 11:39:00 p.m. | 0 comments
posted by Jonathan at 2/09/2005 10:56:00 p.m. | 0 comments
posted by Jonathan at 2/09/2005 10:56:00 p.m. | 0 comments
posted by Jonathan at 2/08/2005 02:03:00 p.m. | 0 comments
posted by Jonathan at 2/07/2005 11:52:00 p.m. | 0 comments
posted by Jonathan at 2/06/2005 11:22:00 p.m. | 0 comments
Tweaked this Resco Keyboard skin some more. There are now four oversized buttons, for what I think are four very frequently used keys: backspace, enter, comma, and period. Backspace in particular is quite important for people new to Fitaly ;-)
Anyone have any suggestions for other tweaks that would make the keyboard more comfortable? What other keys do you find yourself reaching for a lot?
posted by Jonathan at 2/06/2005 07:20:00 p.m. | 0 comments
posted by Jonathan at 2/06/2005 07:19:00 p.m. | 0 comments
posted by Jonathan at 2/06/2005 05:40:00 p.m. | 0 comments
posted by Jonathan at 2/06/2005 03:19:00 p.m. | 2 comments
"salt of the earth"
The story of the 61-year-old woman accepting death, with gratitude for her past life, and no regrets.
The story of the 78-year-old man who was brought back to the church by a woman who wanted him to sponsor her for the Rite of Christian Initiation (RCIA) program.
posted by Jonathan at 2/06/2005 02:51:00 p.m. | 0 comments
posted by Jonathan at 2/05/2005 10:48:00 p.m. | 0 comments
posted by Jonathan at 2/05/2005 01:01:00 a.m. | 0 comments
Hi Ji-Hwan - thanks for the news. I am CC'ing mom. I looked at your
daily schedule. You study 6.5 hours a day for the TOEFL? I'm amazed.
Currently I am reviewing all of my to-do lists. It's a painful
process, but it's a good thing for me to do.
Attached is a photo of where you were on May 13, 2004 at 6:37 PM.
posted by Jonathan at 2/04/2005 09:28:00 p.m. | 0 comments
Here I am using a Ruby script to prioritize my favourite interests. Here are the results:
1. Free software and web services
2. Computer programming
3. Mobile technology
4. Time/life management
5. Board games
6. Catholicism, Christianity, spirituality
7. Graphic design
posted by Jonathan at 2/03/2005 10:05:00 p.m. | 0 comments
CollectionUtil.collect(collection, new Block() {
public Object yield(Object item) {
return "Hello, " + item;
}
});
CollectionUtil.select(collection, new Block() {
public Object yield(Object item) {
return Boolean.valueOf(((Thing)item).isCool());
}
}
public abstract class Block {
public Object yield() {
throw new UnsupportedOperationException();
}
public Object yield(Object arg) {
throw new UnsupportedOperationException();
}
public Object yield(Object arg1, Object arg2) {
throw new UnsupportedOperationException();
}
}
public class CollectionUtil {
public static Collection collect(Collection collection, Block block) {
ArrayList result = new ArrayList();
for (Iterator i = collection.iterator(); i.hasNext();) {
Object item = i.next();
result.add(block.yield(item));
}
return result;
}
public static Collection select(Collection collection, Block block) {
ArrayList result = new ArrayList();
for (Iterator i = collection.iterator(); i.hasNext();) {
Object item = i.next();
if (Boolean.TRUE.equals(block.yield(item))) {
result.add(item);
}
}
return result;
}
}
posted by Jonathan at 2/03/2005 09:05:00 p.m. | 3 comments
posted by Jonathan at 2/03/2005 01:13:00 a.m. | 2 comments
posted by Jonathan at 2/01/2005 11:30:00 p.m. | 0 comments
posted by Jonathan at 2/01/2005 11:03:00 p.m. | 0 comments