Daniel Cox http://danielpcox.org ... for what it's worth posterous.com Tue, 21 Feb 2012 08:17:00 -0800 Remote tmux Observation http://danielpcox.org/remote-tmux-observation http://danielpcox.org/remote-tmux-observation

Today I worked out how to allow "untrusted" people to observe my tmux sessions over ssh. Anyone I want can ssh to the "observer" account on my machine and are forced into a read-only version of my tmux session. They are forcibly logged out on detach. Alternatively, more trusted users of my machine that already have an account just need to be added to group "observer".

First create an "observer" user (and an "observer" group, if this isn't done automatically on your distro), however this is done on your machine.

Next, create a special directory for tmux sessions with the setgid bit, owned by the "observer" group, so that tmux sockets put here will also be owned by that group:

sudo mkdir -p /var/tmux

sudo chmod g+ws /var/tmux

Now tell the ssh daemon to restrict the "observer" user and force it to run tmux in read-only mode on our special socket by adding the following lines to the end of /etc/ssh/sshd_config:

# configuration for a tmux read-only observer

Match user observer

        X11Forwarding no

        AllowTcpForwarding no

        ForceCommand /home/observer/tmux-observer.sh

(Don't forget to restart the ssh daemon!)

As you can see, we now need to fill /home/observer/tmux-observer.sh. Do so with the following:

#!/bin/sh

tmux -S /var/tmux/observable attach -r

To be sure that observers cannot mess with each other, let's just let root own everything in their home directory, but ensure that they can run our little script:

sudo chown -R root:root /home/observer

sudo chown root:observer /home/observer/tmux-observer.sh

sudo chmod g+rx-w /home/observer/tmux-observer.sh

That should do it for the observers. We can now start a shared tmux session:

tmux -S /var/tmux/observable

For convenience, I have a "sharetmux" alias in my ~/.bash_aliases:

alias sharetmux="tmux -S /var/tmux/observable"

So now I make a shared session with "sharetmux", and if I detach, I can easily get back there with "sharetmux attach".

Do "sharetmux", open a new terminal window, and ssh into observer@localhost. You should see the tmux session, but not be able to do anything but watch. If you detached or the owner kills the tmux session, you'll be logged out.

UPDATE: I've made a couple improvements since writing this post:

I've changed my aliases (originally "sharetmux") to make two sessions, "observable" and "staging", and connect me to "observable". New connecting observers connect to "staging", however, so they need my permission to spy on me.

I've also changed the observer's connect script so i get a message in my tmux session informing me that an observer just connected.

Here's the new /home/observer/tmux-observer.sh:

#!/bin/sh

tmux -S /var/tmux/observable display-message "observer connected"

tmux -S /var/tmux/observable attach-session -t "staging" -r

And here are my two new aliases (the "observable" alias is for when I detach and want to reattach or manipulate the observable tmux session from the outside):

alias start_observable="tmux -S /var/tmux/observable new-session -d -s observable ; tmux -S /var/tmux/observable new-session -d -s staging ; tmux -S /var/tmux/observable attach-session -t observable"

alias observable="tmux -S /var/tmux/observable"

Now when I see "observer connected", I can let them in by getting their client path with "list-clients" and "switch-client -c /dev/pts/whatever -t observable".

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Mon, 06 Feb 2012 16:54:00 -0800 A Month In Projects http://danielpcox.org/a-month-in-projects http://danielpcox.org/a-month-in-projects

I've been quietly busy this past month.

In no particular order, I...

  • wrote a quick and dirty Ruby script that downloads the individual PDFs of "The Washington Post" from their Today's Paper site and stitches them together into three sections (omitting the sports page, 'cause who reads that?). Then I've been reading it. I wanted to clean up the script and make it more resilient before posting it, but then I realized that I had no motivation to do so. The issues I know about don't bother me. So here it is. Read the WP, and be informed. [UPDATE: I changed my mind and cleaned it up. Now it's shorter and bounces back from occasional WP brokenness.]
  • decided to try building a game in Ruby with the Gosu game library and Chipmunk physics engine, so I wrote a bare-bones, proof-of-concept platformer with a character, physics, camera panning, a parallax scrolling background, platforms and a level editor. This was in preparation for building something more interesting with the help of a graphic designer friend, which I'll release when it's done. In the meantime, checkout the Bare Bones Platformer on GitHub.
  • started building a desktop app for reading the Bible in an interesting way: I'd like to lay out the entire Bible on a single plane and allow the user to zoom into and pan around any passage they like. I expect this will help my own Bible reading because I frequently want to quickly and fluidly shift the scope of my study, which requires considerable overhead using a paper or online Bible. Ideally, I would be able to throw up passages that occur to me on the wall and move them around at will. Perhaps I can simulate some of that using the Eagle Mode project's API. This is a brilliant piece of software, and I can't believe I'd never heard of it before.
  • bought some real furniture - a trying process. It's wonderful though, so I'm certainly not complaining. It's also quite a long process, because I keep having to go back to the store to fix problems.
  • started trying to build a desk based on something from "Legare Furniture".
  • restarted my search for a full-time job, since my iron-in-the-fire with the DoD unexpectedly fell through after months of waiting, phone calls, interviews, waiting and more waiting.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Sat, 19 Nov 2011 07:15:00 -0800 Note: The Meaning of Mercy http://danielpcox.org/note-the-meaning-of-mercy http://danielpcox.org/note-the-meaning-of-mercy

Early on in my Christian life I heard these catchy definitions of grace and mercy:

Grace is getting what you don't deserve, and mercy is not getting the bad that you do deserve.

This made the concept of "mercy ministry", as well as many passages in the Bible regarding mercy to Christians from God, very confusing. Mercy ministry is helping the poor and sick and such, but how is that withholding from them the bad they deserve? Perhaps some deserve to be in their plight, but not others. Is it only "mercy ministry" when their predicament is their fault?

I didn't understand how the Bible could speak of Christians receiving further mercy, as in, e.g. 1 Timothy 1:2, because if we're justified, isn't it the case that we no longer "deserve" punishment? Passages mentioning ministries of mercy didn't seem to fit either, e.g. Romans 12:8, because how could I "make a whole ministry out of" not giving people bad things they do deserve from me?

In chapter five of Future Grace, John Piper offers different definitions that I had not heard before (though he calls them common, so perhaps I am simply a latecomer):
"Grace is the goodness of God shown to people who don't deserve it; mercy is the goodness of God shown to people who are in a miserable plight."

And now, suddenly, the biblical concepts of God's mercy towards Christians and the mercy of Christians towards their fellow man through, e.g. feeding the homeless, makes sense to me. Good done to someone in response to their miserable plight is mercy, and we are all in need of it.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Sat, 29 Oct 2011 09:55:00 -0700 PGP Public Key http://danielpcox.org/pgp-public-key http://danielpcox.org/pgp-public-key

This is my public key, on keyserver.ubuntu.com as "Daniel Patrick Cox" <danielpcox ET gmail DAWT com>:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.0.10

mQENBE6XLaUBCADA/TP7ecC4i7HmTQ+22Wewk3UD9uEZGW7gFFKwmZkWFpzy5OI0l+3zbwvl
nPYv0YMoRS/kg9kKGKT7fSK0UJlKSYhX9og9U9JGXJirQsgd0ede3gktkX16cVCYbh2h9vBj
XvKPEfHL48bEXxBSw2/vI4Ce8tPNgQDtU8UjpbDn3wa6UweSi9RdKeXM5Vj6QxB9DrUH9GfZ
YgTtUopLwLZbQfC6vkYX9euSwD7sSl7Y54UbVwNAjCmCKyvs32LLUe7kliSP5Jje+3q++kC/
TKfJgr9HJC0+OJ5xFwR/6xD5pDww9kNS/hyOYhUNfebWZRlRB76AaIyunEeM0mV1CpSHABEB
AAG0KURhbmllbCBQYXRyaWNrIENveCA8ZGFuaWVscGNveEBnbWFpbC5jb20+iQE4BBMBAgAi
BQJOly2lAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDON0TDobrNYGUdCACJ0jps
ssAFTQlAxC8RM4HPbE5hJMp4WHYtADhhf6v90nBMm/Dtg1nAaH7ZNi2YvAnK03HrCjcIRD99
weBny9H7zluS/1AYGLptTIdB7CYjPubPdzPm7lyDoAhj4JbDW0WZS3jQgkBHI+kRuaF2V3fK
c7VVbQL8uOQkSoB5/irpnUCTxgyy5snMFyhon5PsgBm7F6SJFd8/iy3N6pG9FBiihqk6A8H7
e1oLY6GAg+AdzRmAY3vG2mGw3k1gUFx6pZF27xSx5eUdB6Eg8Dtooej9hqwrrgrZYLhAPi8z
wXVlj38DP/F6IHJ4WeT981+yAeDpQQqt0SHHgYn2fdWwMc0huQENBE6XLaUBCAC7vJqf0e+M
F+3jHO7xna9znPPHzUlhPRDwCVpIrd8qxMg5IsDucI8dFY8bnNrLF/1DK78DnTdgYZHGq1zR
ZDFZ+Yz2DA1Dalr4sjh62EL97QHgbOM4C+8Xs3m/7WbZ/uZVJ4psmTWGNGFFd/R7AlNdvOVv
s06V1h+k/sd5R9cgi1TkLOai+Z5hVTT7B2vqxaF9+/v2e6mLoLgMi8zCrYEF4y1vx+PAYVHG
WiHHZR06OSYny5KVpfAbZNR+PMX0YFn57O1P0rJhBioZ05ORI2AzpQlG54fBteqOCiKOXREl
kZisjKZwWl9ZMb76pvnj9phyf+Xf/LJFpnJJK2nfvp5pABEBAAGJAR8EGAECAAkFAk6XLaUC
GwwACgkQzjdEw6G6zWDhLQgAlfnprs7Aacx6FXnt09M70haxeajya9NJi+MoK3wCeAR2flco
2HeZaULRkocRVFkzXwlaDhc5+UZweaD2qYgn234v7912O6Y73OBRmx1XSoCYlmZrgozTttp1
rZiLotc6h1XzpGWTU/XDmuetj7Mv+H9TM/lTPkPapgK6cvI84aEDjeuY3q77r7QLQ0+sKJ/W
gWKEqsB/rCkfYOdtSyF67aqfUqSk+65+lICJGJyLS5m02cUJAerWqEzOFYrC74CMvt7qd0Ex
JYQG/ktr31dTPLZaLw72wMIwKoEhLcgilNPxETeoqRwpxbtmJtSoit4n72qun62hc4J/NljV
QyMMxA==
=VRuf
-----END PGP PUBLIC KEY BLOCK-----

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Mon, 24 Oct 2011 11:50:25 -0700 Control Pidgin through DBus with Ruby http://danielpcox.org/control-pidgin-through-dbus-with-ruby http://danielpcox.org/control-pidgin-through-dbus-with-ruby The other day I was curious about making Pidgin plugins in Ruby, so I started poking around. Apparently Pidgin exposes quite a lot to DBus, and can thus be controlled through Ruby. Based on these articles, I was able to hack up a little example that changes my active Pidgin status:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env ruby
#
require "dbus"

bus = DBus::SystemBus.instance
session_bus = DBus::SessionBus.instance

# Get the Pidgin Service
pidgin_dbus = session_bus.service("im.pidgin.purple.PurpleService")

# Get the object from this service
pidgin = pidgin_dbus.object("/im/pidgin/purple/PurpleObject")

pidgin.default_iface = "im.pidgin.purple.PurpleInterface"

pidgin.introspect

def set_status(new_status, pidgin)
  current = pidgin.PurpleSavedstatusGetType(pidgin.PurpleSavedstatusGetCurrent().first).first
  status = pidgin.PurpleSavedstatusNew("", current).first
  pidgin.PurpleSavedstatusSetMessage(status, new_status)
  pidgin.PurpleSavedstatusActivate(status)
end

set_status("I just set my IM status with Ruby and DBus.", pidgin)

That should give you the flavor. Enjoy!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Tue, 04 Oct 2011 14:51:30 -0700 Verbal Plenary Inspiration and the Inspired Editing of the Biblical Text http://danielpcox.org/verbal-plenary-inspiration-and-the-inspired-e http://danielpcox.org/verbal-plenary-inspiration-and-the-inspired-e

Our notion of verbal plenary inspiration need not require that the process eventually resulting in the canonical text involved no editing. We can be certain the original drafts of, for example, Paul's letters were full of ink blots and corrections, perhaps having begun with an outline, and certainly with a plan. And the end result? The inspired Word of God.

Is it therefore so hard to believe that Deuteronomy 34 was added to the original Mosaic Pentateuch by a prophet late in the history of Israel? It is our belief that we evangelicals balk at the concept entirely because of an erroneous image we hold of Moses writing the Pentateuch in a single sitting, or at least without reflection and preparation. We imagine that if Moses were truly inspired, such that his words could be held as the very words of God, he would not have had to revise, or be revised.

Certainly if God himself had written the Pentateuch directly, his work would require no revision. God is omniscient, infallible, and unchanging, and he would therefore surely have his whole structure in mind with all of its intertextuality, symbolism, nuance and "punch", perfected even before he reached for his pen. But is it not evident to all, except those who believe in dictation, that God's inspiration of the text of the Bible was through the personalities, writing styles and, dare we say, writing methods of his human vessels?

If, as we believe, the Bible is the verbal plenary inspiration of God (that is, the meaning of the Bible is in its very words, exactly reflect the mind and will of God, has God's own authority, and is in fact breathed out by him with perfect intention), and yet without violation of the human authors' own personalities, then we must depart from both extreme notions of the mechanism of inspiration: The human authors were not merely passive secretaries taking God's dictation, nor were they charging ahead of the Holy Spirit, introducing their own thoughts and opinions into the text, perhaps adding to God something about slavery here and a touch of apparent sexism there. Further, it could not have been some hybrid, whereby the human authors guessed at God's mind and then presented their work to him for verification. No man can guess at the mind of God on the scale or with the complexity and interconnectedness displayed in the biblical text. We are almost forced to conclude that a mystery is at work: The Bible is both fully a result of the careful and intentional work of its human authors, and fully the perfect representation of the mind of God, by his grace.

Why then should we assume, eisegetically, that the canonical Pentateuch had on it no human hand besides that of Moses? Exegetically, besides suspiciously recording the death of Moses himself, Deuteronomy 34 (to continue our earlier example), includes the statement, "And there has not arisen a prophet since in Israel like Moses..." (Deut. 34:10) This statement, a comment on Deuteronomy 18 where God promises a future prophet "like Moses", is best understood as coming from a prophet late enough in the history of Israel to be able to say that a prophet like Moses has not arisen.

For further discussion on the foregoing topic in much greater depth, please see The Meaning of the Pentateuch, by John H. Sailhamer.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Tue, 27 Sep 2011 07:33:42 -0700 Foaming Soap Dispensers http://danielpcox.org/foaming-soap-dispensers http://danielpcox.org/foaming-soap-dispensers (10:27:42 AM) Daniel: ya know what's cool?
(10:27:48 AM) Jack: clouds?
(10:27:50 AM) Jack: er wait
(10:27:51 AM) Jack: ice
(10:27:54 AM) Jack: ice is cool.
(10:28:05 AM) Daniel: nope! none of those things are cool! foaming soap dispensers. foaming soap dispensers are cool
(10:28:24 AM) Daniel: 'cause they multiply your liquid soap by three
(10:28:33 AM) Jack: ...
(10:28:42 AM) Daniel: soap up to here, water up to here
(10:28:48 AM) Jack: that's physically impossible
(10:28:55 AM) Jack: I thought you went to college man
(10:28:58 AM) Daniel: oh you of little faith
(10:29:05 AM) Jack: I HAVE FAAITH IN SCIENCE
(10:29:43 AM) Jack: /awkward pause
(10:29:56 AM) Daniel: http://esv.to/mt14:17-21
(10:30:06 AM) Jack: <.<
(10:30:06 AM) Daniel: see
(10:30:08 AM) Jack: >.>
(10:30:12 AM) Daniel: foaming soap dispensers
(10:30:15 AM) Jack: HAhahha

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Thu, 15 Sep 2011 17:00:00 -0700 In life, we’re not made happy by what we acquire, but by what we appreciate. http://danielpcox.org/in-life-were-not-made-happy-by-what-we-acquir http://danielpcox.org/in-life-were-not-made-happy-by-what-we-acquir

I first heard that quote while listening to a very good talk by Michael Ramsden on Conversational Apologetics. We've been given a lot by God that doesn't make us happy. This is not because the gifts are not good, or because they are not plentiful, but rather because we fail to appreciate them. I was reminded of this just now by a conversation I had with a good friend of mine, which I thought I'd share (with his permission):

...
(06:47:45 PM) Jack: man…. my life is really easy
(07:30:24 PM) Daniel: :)
(07:30:33 PM) Daniel: how do you mean?
(07:30:41 PM) Jack: hmm what did I say?
(07:31:13 PM) Daniel: right now i'm thinking, my life is really easy because hobo is powerful and helpful, rails is genius, ruby is an ideal programming language, and small heroku accounts are free forever
(07:31:20 PM) Daniel: "man... my life is really easy"
(07:31:24 PM) Jack: oh yeah
(07:31:50 PM) Jack: I wake up in a warm, clean bed, breathing easy, free of disease or imminent fear
(07:32:01 PM) Jack: that ^ is enough
(07:32:09 PM) Daniel: i can spin up a cool app as fast as i can code it, which is pretty fast given that hobo and rails do all the boilerplate and ruby is so programmer friendly
(07:32:18 PM) Daniel: indeed
(07:33:57 PM) Jack: after I wake up… I eat food that not only is overnutritious, but also tastes sweet. I take a shower in clean, hot water using soap and shampoo that keeps me presentable among the highest of social classes in the highest standards of cleanliness in history
(07:34:14 PM) Daniel: hahaha
(07:34:15 PM) Jack: I have a toothbrush.
(07:34:35 PM) Jack: my roommates don't kill me in my sleep or steal my stuff
(07:34:52 PM) Daniel: so far
(07:35:45 PM) Jack: I go to work every day in an amazing machine, that not only gets me to and from work with relative reliability, but also gets me there in style and comfort. I had my choice among many such machines, and I chose the one I liked best
(07:36:19 PM) Jack: not because it's most efficient, because my lifestyle can afford inefficiency
(07:37:36 PM) Jack: I daily use some of the most advanced technology ever concieved, and I use it casually, as if it's something available to anyone
(07:38:15 PM) Jack: I have free and unfiltered access to the greatest database of human knowledge and communication ever.
(07:38:55 PM) Jack: there's a roof over my head right now. It could snow or hail and I wouldn't have to move an inch to remain safe
(07:39:13 PM) Daniel: well... you just blew my reasons out of the water
(07:39:21 PM) Jack: sssploooosh!!
(07:39:30 PM) Daniel: and made me want to write a blog post

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Wed, 14 Sep 2011 09:17:32 -0700 Learning In War-time http://danielpcox.org/learning-in-war-time http://danielpcox.org/learning-in-war-time
"There are always plenty of rivals to our work. We are always falling in love or quarrelling, looking for jobs or fearing to lose them, getting ill and recovering, following public affairs. If we let ourselves, we shall always be waiting for some distraction or other to end before we can really get down to our work. The only people who achieve much are those who want knowledge so badly that they seek it while the conditions are still unfavourable. Favourable conditions never come." -- C.S. Lewis, Learning In War-time

I am struck by this quote not so much as the original audience was, but rather as regards the daily tedium of life versus the little things we would like to do if there weren't a "war" going on around us. There are always dishes, boxes to unpack, errands to be run, forms to be filled out and mailed, and there is always something like Comcast threatening to cut off our service if they can't get our SSN to verify our identity. If these things are allowed to affect our Bible study, prayer, or time spent with our spouse, then the important will always take a back-seat to the urgent (and perhaps important too).

There are some things that, while seemingly unimportant in a single instance, are in aggregate essential. So a missed Bible-study is not, in isolation, a catastrophe, but a cessation of Bible study altogether is another matter. Because the single instance seems of a lower priority than some sudden new development, we are tempted to abandon our daily discipline in favor of the "emergency". Frequently, it would be better to evaluate the relative weight of the daily activity in aggregate against that of the new development, subject of course to one's recent history of adherence to the daily.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Mon, 25 Jul 2011 10:17:00 -0700 The Impact of the Gospel on Strategy and Productivity http://danielpcox.org/how-the-gospel-impacts-our-everyday-strategy http://danielpcox.org/how-the-gospel-impacts-our-everyday-strategy
Matt Perman, former Director of Strategy at Desiring God, gave a talk at Biola on how the gospel should shape our web strategy. He believes the gospel has something to say about the way we ought to think about productivity - how and why we get things done. Watch the first twenty minutes if you're not a web developer, and the whole thing if you are one. It neatly encapsulates the thesis of his upcoming book on the purpose of productivity as a Christian.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Thu, 24 Mar 2011 11:19:50 -0700 Landscape typing in Posterous iOS app http://danielpcox.org/landscape-typing-in-posterous-ios-app http://danielpcox.org/landscape-typing-in-posterous-ios-app I just discovered that the feature I most wanted in the Posterous iOS app was actually implemented in the last update: landscape typing. Now I may actually use it!
Im typing on it right now, actually, and it does seem to be a significant enough improvement to cause an upswing in my blogging.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Tue, 08 Mar 2011 13:57:00 -0800 OpenOffice.org Non-Linear Solver http://danielpcox.org/openofficeorg-non-linear-solver http://danielpcox.org/openofficeorg-non-linear-solver

OpenOffice.org does not have a non-linear solver out of the box, but there is an extension in beta that uses either of two evolutionary algorithms to solve non-linear models. When I tried to install the first time I got the unexplained error "CannotRegisterImplementationException", which was solved very simply after a lot of digging by installing "openoffice.org-java-common" (I'm on Ubuntu). Apparently I just had to install OOo's Java extensions module.

Anyway, now I have a cool non-linear solver on Ubuntu.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Tue, 28 Dec 2010 11:33:00 -0800 Sappy Faith http://danielpcox.org/sappy-faith http://danielpcox.org/sappy-faith
When the Lord in mercy passed by and saw us in our blood, He first of all said, 'Live'; and this he did first, because life is one of the absolutely essential things in spiritual matters, and until it be bestowed we are incapable of partaking in the things of the kingdom. Now the life which grace confers upon the saints at the moment of their quickening is none other than the life of Christ, which, like the sap from the stem, runs into us, the branches, and establishes a living connection between our souls and Jesus. Faith is the grace which perceives this union, having proceeded from it as its first-fruit. It is the neck which joins the body of the Church to its all-glorious Head.

[Excerpt from Morning and Evening by C.H. Spurgeon, December 28th]

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Sun, 26 Dec 2010 16:05:00 -0800 Memorize Philippians by Easter http://danielpcox.org/memorize-philippians-by-easter http://danielpcox.org/memorize-philippians-by-easter I've decided to memorize the book of Philippians by Easter, whether or not anyone does it with me. That said, it would be a whole lot better and more likely to succeed if a few people joined me. So... join me?

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Thu, 23 Dec 2010 12:20:35 -0800 I really like Posterous Groups http://danielpcox.org/i-really-like-posterous-groups http://danielpcox.org/i-really-like-posterous-groups Posterous recently released Posterous Groups, and so far I think they're pretty cool. They're essentially mailing lists, but they're managed externally by Posterous. They have a nice web interface (not very customizable at the moment) to the posts of the group. They have the advantage of Posterous' awesome automagic content-formatting. They're Google Groups with the Posterous simplicity. I'm going to try using them for everything, and see if they withstand the test of time.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Thu, 21 Oct 2010 11:39:57 -0700 Portal 2 http://danielpcox.org/portal-2 http://danielpcox.org/portal-2 My favorite genre of game is the puzzle game, so I'm a big fan of Riven and the like, especially when (like in the Myst games) the puzzles are integrated into a rich storyline. Portal is another game like this, and according to its official pre-release page on SteamPowered.com, the sequal comes out February 9th, 2011. If you've never played, check out the trailer for the original game.
Here are the three parts of the E3 demo, in which some guy talks about the new features and storyline of Portal 2:
I invite you to be excited with me.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Tue, 19 Oct 2010 15:08:00 -0700 iOS Posterous App Test http://danielpcox.org/ios-posterpus-app-test http://danielpcox.org/ios-posterpus-app-test

Just got the posterous app for my iPod. At the moment I feel like I'd try anything to get myself posting regularly. Well see if it makes a dent. Right now I can tell you I'll never use it again if I can't type in landscape mode, since portrait is simply too cramped.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Sat, 28 Aug 2010 09:41:00 -0700 What Must I Do To Be Saved? http://danielpcox.org/what-must-i-do-to-be-saved http://danielpcox.org/what-must-i-do-to-be-saved
From J. I. Packer's introduction to John Owen's classic work The Death of Death in the Death of Christ:

To the question: what must I do to be saved? the old gospel replies: believe on the Lord Jesus Christ. To the further question: what does it mean to believe on the Lord Jesus Christ? its reply is: it means knowing oneself to be a sinner, and Christ to have died for sinners; abandoning all self-righteousness and self-confidence, and casting oneself wholly upon Him for pardon and peace; and exchanging one’s natural enmity and rebellion against God for a spirit of grateful submission to the will of Christ through the renewing of one’s heart by the Holy Ghost.

And to the further question still: how am I to go about believing on Christ and repenting, if I have no natural ability to do these things? it answers: look to Christ, speak to Christ, cry to Christ, just as you are; confess your sin, your impenitence, your unbelief, and cast yourself on His mercy; ask Him to give you a new heart, working in you true repentance and firm faith; ask Him to take away your evil heart of unbelief and to write His law within you, that you may never henceforth stray from Him. Turn to Him and trust Him as best you can, and pray for grace to turn and trust more thoroughly; use the means of grace expectantly, looking to Christ to draw near to you as you seek to draw near to Him; watch, pray, read and hear God’s Word, worship and commune with God’s people, and so continue till you know in yourself beyond doubt that you are indeed a changed being, a penitent believer, and the new heart which you desired has been put within you. The emphasis in this advice is on the need to call upon Christ directly, as the very first step.

Let not conscience make you linger,
Nor of fitness fondly dream;
All the fitness He requireth
Is to feel your need of Him

—so do not postpone action till you think you are better, but honestly confess your badness and give yourself up here and now to the Christ who alone can make you better; and wait on Him till His light rises in your soul, as Scripture promises that it shall do. Anything less than this direct dealing with Christ is disobedience of the gospel. Such is the exercise of spirit to which the old evangel summons its hearers. “I believe—help thou mine unbelief”: this must become their cry.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Thu, 26 Aug 2010 08:05:00 -0700 I'm Engaged! http://danielpcox.org/im-engaged http://danielpcox.org/im-engaged
As of the afternoon of the 24th, I am engaged (!) to Katie Lovett.

Last Sunday we drove her stuff up from Cornell to Johns Hopkins in Baltimore where she has just started her Ph.D in Cell, Molecular, Developmental Biology, and Biophysics. With the help of Adam's car and the hospitality of a pastor (Rob Steinbach) of Freedom Church I helped Katie furnish her apartment and get groceries. By God's grace everything went so smoothly that we were almost relieved when we had to exchange a futon and some shelves. When she was mostly set up I suggested we spend the last few hours I'd be in Baltimore that day walking around the Johns Hopkins campus. When we found a pretty place to sit down and rest, I revealed my ulterior motives. I forgot half my speech, proposed to Katie, she said yes, and we hugged, kissed, cried and laughed for a while. We started walking back and then realized that we should take pictures, so we returned to the spot and here they are for your viewing pleasure. Then we got a restaurant recommendation from Rob and had a three-course meal to celebrate.

I had very little champagne, drove Katie back to her apartment, and then made the six hour drive back to Cornell. I started classes yesterday. This is likely to be my hardest semester ever and Katie is beginning anew with friends and community, so we would certainly appreciate your prayers.

Soli Deo Gloria

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox
Mon, 16 Aug 2010 08:24:00 -0700 Instapaper http://danielpcox.org/instapaper http://danielpcox.org/instapaper

I love things like Posterous, Dropbox, Gmail...etc. that are simple, easy-to-use, and single-purpose. The Gmail guy (Paul Buchheit) wrote a blog post recently about product design, and how really good products pick a few things to be very very good at and forget everything else. It's very Web 2.0 and Y Combinator to make a little online app that does exactly one thing that everybody wants and nothing else.

Instapaper is like that (though to be clear, as far as I know it's not supported by Y Combinator or anything), and solves a major problem I've had which is essentially the problem the author had too. From the FAQ:

From a personal perspective, I appreciate great writing, but I’ve become frustrated with the quick-consumption nature of many devoted blog readers. Authors are encouraged to cater to drive-by visitors hurrying through their feed readers by producing lightweight content for quick skimming.
There’s no time to sit and read anything when you’re going through 500 feed items while responding to email, chatting, and watching bad YouTube videos.

So you create an account, drag their "Read Later" bookmarklet into your toolbar, and then whenever you find something you want to read later you click it. Simple.

You can then visit the site to see all the things you intended to read later, but even better you can download them as a set in a variety of formats, the most interesting of which to me is the Kindle format, so I can read my stuff like a newspaper offline. I read more, and my Kindle has become even more valuable to me.

God is good.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/671318/Daniel.jpg http://posterous.com/users/4wKaAJOhnkXL Daniel Cox danielpcox Daniel Cox