A day in the life of Joe

Monday, October 30, 2006, 11:57 PM ( 2 views )
It's $_SESSION not $SESSION.

*sigh*

Now I have working sessions with train & track 2.0!

Happy Halloween!

Thursday, October 5, 2006, 01:53 PM ( 2 views )
Let's say you want to implement something like a two-column ledger in TWiki. So that everyone in your organization can access the financial data, edit it, and audit each other. But you only really want to edit the data in one place, and have genereal reports and stuff like that. Furthermore, you're picky and don't want see the same table multiple times

So rather than using php and a database, let's use the wiki. This assumes you have a TWiki, and that you have a basic understanding of the Spread Sheet Plugin:

First create an AccountsReceivable topic, and set a variable. The example I'm giving sets a variable that is the sum of all debits in a table.


%CALC{"$SET(accountsReceivableDebits, $SUM(R2:C2..R5:C2))"}%


Now to "access" the variable in another topic without seeing the topic, we get to do some CSS trickery. Create a new topic, BookKeeping for instance:


<STYLE type="text/css">
.hidden
{ position:absolute;
left:0px;
top:-500px;
width:1px;
height:1px;
overflow:hidden;
}
</STYLE>
<div class="hidden">
%INCLUDE{"AccountsReceivable"}%
</div>


The CSS listed above will hide the inclusion of the AccountsReceivable entry, and will allow you to "access" all variables declared in the AccountsRecievable topic.

Enjoy!

Friday, September 15, 2006, 11:54 AM ( 2 views )
On boingboing.net, there was more of a discussion of DRM. I just wanted to make note of this.

Benjamin Franklin Somebody once said:

"Those who would give up Essential Liberty to purchase a little Temporary Safety, deserve neither Liberty nor Safety."

I think in times such as these with the Patriot Act, NSA AT&T stuffs, and proposed bills, we should remember the words of our forefathers somebody.

Edited 4:02pm

I am reminded by Dan Noland to RTFM.. and in the URL for Ben Franklin's quotes it says that he probably didn't actually utter the quote. Regardless, the idea is sound... whoever said it.



Thursday, September 14, 2006, 09:02 AM ( 2 views )
Forge:

v.
1. To form (metal, for example) by heating in a forge and beating or hammering into shape.
2. To give form or shape to, especially by means of careful effort: forge a close relationship
3. To fashion or reproduce for fraudulent purposes; counterfeit: forge a signature

"forge." The American Heritage® Dictionary of the English Language, Fourth Edition. Houghton Mifflin Company, 2004. Answers.com 14 Sep. 2006.
http://www.answers.com/topic/forge

Wednesday, September 13, 2006, 12:04 PM ( 2 views )
Lots of project, two kids... busy man.

I recently purchased a lot of 6 juiceboxes.. the Mattel video thinger. Apparently it runs Linux, and is hackable, but it seems like not many folks have aggressively tapped this.

I've been gearing up for the Half Marathon.

That's all for now.

Tuesday, August 1, 2006, 09:17 PM ( 1 view )
First a little background.

I use Password Safe to manage all of my passwords. This allows me to easily use random passwords on multiple sites. Essentially, you store all of your passwords encrypted with one password, with a relatively friendly interface. This way the single point of failure is isolated to my password safe. If password safe gets compromised, then I'm in trouble. Regardless this is better than using the same password everywhere for everything or writing them down in your wallet.

As opposed to a dictionary password or mnemonic password, it is more difficult for an attacker to "guess" my password on any given account as they are 14 "random" characters which includes A-Za-z0-9 and symbols. This means there are more than 1E26 (that is a one with 26 trailing zeros) different passwords to try. To put this in perspective, even if they could try 1 trillion passwords per second they would witness the sun expanding into a red giant before they ran out of that key space. (That's in about 4-5 billion years)

Unless I'm stupid.

And today I was stupid, well maybe careless is a better description. Password Safe provides a feature called auto-type. First, open the page or login that you wish to authenticate. Now unlock your password safe and select the auto-type feature of the account in interest. Password Safe then enters your username, emulates a tab, enters your password, and then emulates an enter. So effectively it enters your login information without much interaction from you. Unfortunately you cannot target the auto-type intelligently. It must be the previous window you selected. In this case, where I was stupid, it was an IRC channel. Whoops. So, I reduced the time to discover my passwords from the current life of the universe, to one brief second.

Fortunately I trust most of the folks in that chatroom, and it isn't exactly the username/password combo to my bank account. Rather it is the username/password combo to my gmail account. Regardless, I decided to quickly change the password. It is easy to do, one click of a button and password safe generates a new one for you! Neat.

This brings me to my point.

Everything was back to normal. I now have a stronger password, but... now I can't check my email with Thunderbird. Right I need to change my password*.

Wait, how do I do that? Oh right Tools->Options->Privacy->Passwords->View Saved Passwords->Remove Entry. K, done. What it still won't let me login? Sending of password failed? This is the correct password!!! I just logged in to gmail through the web interface!!! What is going on??!

Long story short, and I haven't found this documented anywhere on google, or mozilla. Which you think they of all people would have the first hit for this problem. Right, long story short. You need to verify your password change:

Click Here to Validate

I promise that is the correct link. Here it is again:

https://www.google.com/accounts/UnlockCaptcha

Thank you msink of this forum.

The validate link unlocks your account for POP access, presumably. I've done this and am happily checking my emails again!

*We'll ignore the fact that Thunderbird stores my password, and that this is also a potential security problem. Again, these aren't the keys to the kingdom. More like keys to alot of spam, openssl-users mailing list archives, and automatic emails I send myself.

Wednesday, July 19, 2006, 01:36 PM ( 2 views )
I'm catholic, and have recently been blessed with a new son. I work in an office that is 90% male. Most of them are single and have, uh, colorful views on children. They are also fairly generous when it comes to gift giving. Add in the fact that they'll do anything for a laugh, you should be nearly primed for this. Yep they bought me a box of condoms.

All were amused.

Tuesday, July 11, 2006, 08:38 PM ( 2 views )
First here's the pictures: William Xavier Abbey

I'll get a summary soon

Turns out alt+tab is really close to ctrl+w

Tuesday, June 13, 2006, 10:03 AM ( 2 views )
I've been training for the Chicago Half Marathon for the past three weeks. Part of the training is following Hal Higdon's Novice training. The other part is giving up soft drinks and sugary coffee at work, an overall reduction in my consumption of sugar. I'm replacing the soda and coffee with water.

I decided that it might be a good idea to start tracking the progress of my training. You can check it out here. At the moment I have to manually update my CSV file that contains all my data.

Anyway I hope to get my pace below 10:00 before October 1st, and lose some weight.

See you in Chicago?

Monday, June 12, 2006, 03:48 PM ( 2 views )
Yo,

If you are in the area, and you know me. I am having a cookout tonight at 18:00. Pictures to follow...

Menu:

Hamburgers, Brats, Salads, Beer, and other assorted yummy goodness.

Edited June 13 @ 11:19am

There will be no pictures...

Monday, June 12, 2006, 09:11 AM ( 2 views )
Working...

Thursday, May 18, 2006, 08:16 PM ( 39 views )
I'm always excited to get emails from readers of the blog. It makes me feel good when I know that I've shared knowledge with someone. Especially someone I've never met. That's the case this evening, I received a comment from Andre asking for a circuit diagram of the AC Serial Switch. Not to disappoint, I opened mspaint and doodled a quick diagram.. I tried to make the diagram as true to life as possible.

On the Solid State Relay, each contact is labeled. Contacts 1 and 2 are for completing the AC's circuit. Contacts 3 and 4 are for controlling the completion of the circuit between 1 and 2. Contacts 3 and 4 on this particular relay "support" between 3 and 30VDC. Contacts 3 and 4 are tied to the DTR and GND of the serial port, respectively. The +12VDC that the serial port supplies is more than sufficient to switch the relay.

You'll notice that the AC is grounded to the relay's mounting point. The solid state relay has a heatsink on the back of it, that the ground is secured to.

Jim Vaught and I were extra paranoid, and put a 120V switch and 15A Fuse inline before the current ever got to the relay. Furthermore this is switching the black (hot) wire, that way there is no live current when the switch is open.

Wednesday, May 3, 2006, 11:48 AM ( 2 views )
The Show

Friday, April 28, 2006, 07:22 PM ( 2 views )
Two "hacks" concerning the DIY checkout line at Wal-mart:

1. If you speak English, you may immediately scan items. You do not have to select a language. I'm sure most people know this, but if not, now you know. :)

2. If you are going to pay with a credit card you may swipe it once done scanning items. You do not have to select finish & pay, credit. I didn't know this, I tried it today.

Cheers,

Joe

Friday, April 14, 2006, 11:07 AM ( 2 views )
Work has been crazy.

Everyone seems to have too much to do. This is not a bad thing, as it means there is work to do. However it seems that it has made some edgey, me included.

Fortunately a great deal is about to change. We're getting a full-time IT guy in. Terry and I get to drop a title, and a load of work. Speaking of Terry, hopefully he and the other members of development team will be less stressed soon, as today is code freeze for their project. I'm sure there are lots of bug fixes that await.

Anyway, finally getting good work done on my project. It was hard with a ridiculously high priority IT request, that apparently really wasn't that high priority, getting in the way. But now that's yestiday, so I'm back on track. Code freeze in two weeks. Bring on my bugs???

That's about all for now.

Cheers,

Joe

Tuesday, April 4, 2006, 08:47 AM ( 2 views )
We woke up late this morning, or at least I did. It was about 7:00a when I got up to start the morning grind. You know the normal routine, get up, prepare breakfast, feed Sam, go get Sebastian. Before I got up I heard him over the monitor saying, "Puppy" and other babbles. Everything was going accoriding to the routine, except this time, Sebastian came to us.

As I was making his oatmeal, I recall hearing scuffling in his bed. I thought to myself, it must be Kristen getting him ready. Then I look to my right and I see that Kristen is getting herself ready still. "Hello", shouts Sebastian as he enters the room. Kristen asked, "Did you get him?" I replied no. The young man was quite chipper as he strolled into the kitchen. It was quite a pleasant surprise.

I hope he remembers to stay in bed when it is time to sleep.

Wednesday, March 15, 2006, 05:45 PM ( 2 views )
Hurray another boy is on the way:

Baby Boy

Wednesday, March 15, 2006, 10:28 AM ( 2 views )
Just got back from the Free Coffee Day at Starbucks.

Hurray for free coffee.

I'm drinking 12oz of free Verona.

Cheers!

Tuesday, March 14, 2006, 12:15 PM ( 3 views )
So let's check the temperature.

Here's my Digital Rube Goldberg machine:



You can check it too:

Current Temp

I promise I'll write up a nice howto ASAP.

Specific Topics will include:

Hacking the WGT634U
Porting Packages to OpenWRT
How to find what you need on the Intarwebs/Connect-o-web/Internets

But don't hold your breath.. it will take a while

Monday, March 6, 2006, 02:59 PM ( 2 views )
What is working? Just ask Nate True.

I've built one nearly to the exact same specifications as him.

Expect a write-up as time permits.

Friday, March 3, 2006, 08:52 PM ( 24 views )
Just finished watching "What the bleep do we know?". So if you've seen this movie then you'll understand.

A problem that has bugged me is, "Why do the days seems as though they are getting shorter and shorter?"

The answer it seems is of course perception. There are still 24 hours to a day, right*? There are still 7 days in a week. But it seems Monday quickly rolls into Friday. Then it hits me. What makes a day seem long is if there is something new or different. What makes a day seem short is if a routine is followed. Therefore what makes the length of a day different is what my brain is perceiving. On days that are "short" my brain will go on "auto-pilot" not taking in new information, but rather reenforcing existing neural pathways. Therefore, much like when sleeping, time will seem to "fly by".

But lets take a day like last Saturday. We woke up early, went by the bank, looked at different cars, test drove cars, ended up buying a car, drove home. Multiple new experiences were taken in (compared to staying home and doing the same old same old).

Saturday was a "long" day.

Thoughts?

Here's some thoughts, why did out wedding go by so fast... it was all new.

*one might argue that the days are in fact getting longer due to tidal forces.

Tuesday, February 28, 2006, 04:06 PM ( 2 views )
Much has happened in the month of February.

As such I give you:



Wednesday, February 1, 2006, 06:57 AM ( 1 view )
First some "backstory":

If you're like me then you have too many computers... well more like too many keyboards and mice. While working at my current job, I bought a laptop and brought it into work. Now I could keep moving back and forth from keyboard and mouse to keyboard and trackpad, but that seems inefficient. A co-worker does the same thing I do, he brings in his laptop but he can slide his mouse from one screen to another, and suddenly his desktop machine's keyboard is active on the laptop. Yes, I'm talking about synergy.

Synergy captures the input from the keyboard and mouse and passes it on to the appropriate computer, based on the location of the cursor. This performed by sending the raw data over the network connection when the client has the focus. This becomes a problem because, if you were in a hubbed network or a switched network with arp poisoning, Eve could read every keystroke. My solution to this is ssh. So instead of my synergy client connecting to the synergy server directly, my client connects to localhost (the laptop) on the synergy port (24800) and then ssh takes all communication and passes it over to the ssh server on my desktop, which then forwards the data to port 24800 on the server. Secure Synergy. Also I setup my .ssh/authorized_keys on the desktop to allow for key based authentication instead of password.. so I just run the command in the morning, and synergy is good to go!

Without further ado the command (replace synergyserver with your server!):

ssh -f -N -L 24800:synergyserver:24800 synergyserver


Tuesday, January 31, 2006, 02:10 PM ( 1 view )

A question


I recently got an email requesting elaboration on the serial port controlled relay, and inquiring the number of devices that can be controlled with a single serial port.

An Answer


Essentially I'm using low-level ioctl calls to directly communicate with the pins on the serial port. This allows me to switch the relasy on and off. The reason the Solid State relay works so well is the way is because of the relay uses optical isolation to perform the switching.

Be sure that your circuits are completed as so:

PIN TO BE SET ------ Load ------ SERIAL GND

You can see in my picture:



That I've connected DTR to one side of the relay and GND to the otherside.

About the source code

(and why is may not compile!)
For whatever reason pipes or the character that allows for bit-wise or'ing, do not show up as pipes in simplephpblog.. rather they show up as colons. So when copying and pating be sure to search and replace : for the "pipe" character.

A couple extra comments in the source code

Please see this site as it is a great reference for serial programming for POSIX operating systems.

//Open the devices... /dev/tty or /dev/com....
int device = open("/dev/com2", O_RDONLY : O_NONBLOCK)

//Make sure it opened....
if(device > 0)
{

//First get the status of the relays:
ioctl(device, TIOCMGET, &status);

//Next set the pins that I want
status := TIOCM_DTR; // <- Thats a bit wise or, not Pascal assignment

//Finally tell the serial port what I want.
ioctl(device, TIOCMSET, &status);
}

Now what are the available flags for setting?


IBM PC/AT pinouts
TIOCM_CAR //DCD
TIOCM_DTR //DTR
TIOCM_DSR //DSR
TIOCM_RTS //RTS
TIOCM_CTS //CTS
TIOCM_RNG //RNG

How many devices???


Using a single serial port, gives you the option of easily controlling upto 6 independent devices by or'ing the flags together. You might be able to use TXD as well, but I'm not sure. Some of them are bidirectional, so they could be used for feedback. This is a naive approach, but should work for simple projects.

Disclaimer


Now a disclaimer.. this is pretty much abusing the serial port. I am not responsible in any way for any damages incurred with these instructions. This is not the way the serial port was intended to be interfaced. But... it works. It gives you +12V when on which is enough to switch some relays.

Future considerations


You might consider getting snazzy and add some logic to the relays that actually communicates using serial communication, that way (depending on your design) you could control a virtually unlimited number of devices from a single serial port.


Monday, January 23, 2006, 10:00 AM ( 2 views )
Thanks to Nate True for the javascript.

His script has allowed me to document the lock pick project pretty well:

Lock Picks

<<First <Back | 1 | 2 | 3 | 4 | 5 | 6 | Next> Last>>