The tarotwicks.com project has now graduated from a small Mysticwicks.com project to something a bit more grandiose. The Twickster will be an online application that will assist users in guided readings. At first we will base everything completely on the Tarot. I have recruited 3 of the brightest engineers I know to assist me in this venture.

We are using Trac to manage the project. (http://dev.tarotwicks.com)

I need to post my notes on the Trac install. It was actually quite a nightmare because I didn’t want to run the standalone version. Bleh. Anyway, its up and running now and that’s what matters. We are going through some push and pull right now at work regarding project management software.

Anyway, I don’t know if I have a document that outlines the entire Twickster experience from start to finish. I have been writing documentation on the project wiki, but it is not a complete and total view. It also uses buzzwords, which have to be explained. G asked me to explain the project to him on Friday WITHOUT the terms and I almost couldn’t do it. This is my attempt to outline the project using everyday language, not Twisms.

Where did the Twickster come from?

Ok, so my wife asked me if it would be hard to develop a tarot reading generator for the Tarot forum on Mysticwicks.com. I said, not really. And then a few weeks later (yah, I’m slow) I started thinking of the best way to do it. At first I was just going to write a Vbulletin plug-in that would do the job. Then I started thinking it might be fun to have a separate site which Mysticwicks.com users could log in and get readings, even save them. My first notes even required Vbulletin user integration at phase I.

From there my thought started whirring around about how best to build the application to produce the best readings. I started thinking about the possibilities of running information obtained by the user through various routines that would find correspondences via various numerological and modern Kabbalistic. These correspondences could then be used to weight the chances of drawing a particular card in a reading.

This Suggestive Randomness would give the application an edge when producing the right user experience to strengthen the psychological aspects of a reading. This also changes the way one would have to think about divination. The assisted reading is based on you and ultimately done by you. The Twickster is a genius at math and able to perform complex equations that would take us forever to complete in a blink. The Twickster gives us a medium and an opportunity to get the best reading we could ever have. It is the best reading because it is done by the only person that could ever really tell you what is going to happen to you.

You.

So, from the small reading vbulletin plug-in springs the might Twickster which will be a very unique site in the social genre. Next post I will explain just exactly what the Twickster is.

Comments (0) Digg! - Stumble - Reddit - Del.icio.us

<van> Ah, te Thelemic way
<van> .svn 93
<pq> SVN Revision 93: by svn on 2007-04-06T16:21:28.328249Z [5 paths]
<pq> r93: Deleted junk files

Comments (0) Digg! - Stumble - Reddit - Del.icio.us

Life after initscr()…

Strolling through the ncurses howto we learn the basics of initilization. raw() and cbreak() are used to take control of the buffer while echo() and noecho() takes control of the echoing of user typed characters back to the terminal. When I say ‘take control of the buffer’ I mean that user input is immediately made availiable to the program.

Most of the interactive programs call
noecho() at initialization and do the echoing
of characters in a controlled manner. It gives the programmer the flexibility
of echoing characters at any place in the window without updating current (y,x)
co-ordinates. (ref)

If you want to use the function keys, etc then you will need to call keypad() to set that up.

The fucntion halfdelay() is pretty interesting. Like cbreak(), input is made availiable to the program however a delay can be set to allow the input request to break if no inpout is given.

This function, though not used very often, is a useful one at times.
halfdelay()is called to enable the half-delay mode, which is similar to the
cbreak() mode in that characters typed are immediately available to program.
However, it waits for ‘X’ tenths of a second for input and then returns ERR, if
no input is available. ‘X’ is the timeout value passed to the function
halfdelay(). This function is useful when you want to ask the user for input,
and if he doesn’t respond with in certain time, we can do some thing else. One
possible example is a timeout at the password prompt.
(ref)

My first problems came up when whipping up the simple example of using the different initialization functions. It seems that keypad() is not behaving as the HOWTO suggests. Here is my version of the simple program that takes user input (1 char) and prints it back in bold and if the input is F1 then say so to prove we have control of the keyboard.

#include <ncurses.h>

int main() {
int ch;

initscr();
raw();
keypad(stdscr, TRUE);
noecho();

printw(”Bold something?”);
ch = getch();

if ( ch == KEY_F(1) ) {
printw(”f1 pressed”);
} else {
printw(”Key is “);
attron(A_BOLD);
printw(”%c”, ch);
attroff(A_BOLD);
}

refresh();
getch();
endwin();

return 0;
}

This is a simple routine and very hard to fuck up. Running the compiled program and pressing F1 does not yield the desired results, however. Instead the program ends and a tilde (~) is displayed. So, the question now is ‘Do I move on with this tutorial?’ or do I figure what the fuck is wrong with the keypad() init?

It’s always something.

*hours later*

Work had me off doing other things, but as I get back to this I have discovered that getch() is not returning the expected value according to the ncurses HOWTO. Either the howto needs to be updated or, well, no…the HOWTO needs to be updated.

After further testing I have found that F1-F4 are not returning the expected integer. The rest of the keys seems to be mapping fine.

I will update with my progress later.

Comments (0) Digg! - Stumble - Reddit - Del.icio.us

From Game Giveaway of the Day (totally ripped):

You control different buildings, using their power and the power of hordes of your lieges to defeat your opponents. And if you like online challenges, you can play with your friends in multiplayer mode!

Features:

  • 30 levels with unique battlefields;
  • More than 30 structure upgrades;
  • 5 mass destruction spells;
  • 5 opponents with different strategies - find their weak spots!
  • Multiplayer mode to play with your friends online!
  • Original music tracks;
  • And more!

View Original Article

Blogged with the Flock Browser

Comments (0) Digg! - Stumble - Reddit - Del.icio.us

Putty is the greatest ssh client made.

And now, it’s tabified. Check it out:

http://puttycm.free.fr/

Comments (0) Digg! - Stumble - Reddit - Del.icio.us

So, the Jetta took a header. It overheated for the last time on 95 today as we took the trip to Delaware to pick up my stepson. So, now I have to figure out how I am going to fix it. It’s been a long time since I worked on a car and I stayed away from ‘Newer’ cars. Today’s older cars are yesterday’s ‘Newer’ cars. So, I can break down and put the car in the shop, but damn…I hate that. You never really know how much it is going to cost. My other choice is to try and fix the damn thing myself.

So, research begins…

First stop, forums.

http://autoforums.carjunky.com/

Wow. It’s really slim-pickings out there when it comes to automotive forums. Bleh. I always search for a good forum first. This must be habit. I also know that this is not the best way for a research expedition to happen.

hours later

Fuck it. Going to the shop!

many, many hours later

Ok, so more research and I can nail it down to a few different problems:

1. Water pump. It seems that VW put in shitty water pumps for a while and didn’t issue a recall. So, now 100k miles later everyones water pump is going to hell. Now, my wife did tell me that the she replaced the water pump a few years ago. However, it was done by a VW dealer. =\

2. Bad Maintanence. I have found that the Jetta requires new coolant be vacuum filled. Bleh. If you don’t do it this way then the About.com answer guy says to will always overheat. Guy says to call the local VW dealer to see what they charge to do it.

3.  Thermostat? Too easy, will never happen for me.

Oh noes!

Occasional problems on this vehicle are failures of the Timing Belt and Mass Air Flow (MAF) Sensor ( 4 cylinder engines only), the Ignition Power Stage (1.8L engine only), the Intake Manifold Air Induction Passages (1.9L engine only), and the Water Pump, gasoline engines only.

Problems with the Water Pump can result in engine overheating. The cost to replace the Timing Belt is estimated at $62.00 for parts and $195.00 for labor on the gasoline engines, and $63.00 for parts and $175.50 for labor on diesel engines.

The cost to replace the MAF Sensor is estimated at $380.00 for parts and $58.50 for labor. Volkswagen has issued a warranty extension due to the high number of MAF Sensor failures. MAF Sensors are now warranted for 7 years, 70,000 miles on 1999 through 2001 models.

The cost to replace the Ignition Power Stage is estimated at $125.00 for parts and $52.00 for labor.

The cost to clean the carbon from the Intake Manifold Air Induction Passages is estimated at $11.00 for parts and $169.00 for labor.

The cost to replace the Water Pump is estimated at $81.00 for parts and $208.00 for labor. All prices are estimates based on $65.00 per flat rate hour and do not include diagnostic time or any applicable sales tax.

Comments (0) Digg! - Stumble - Reddit - Del.icio.us

Ya know, being green is one thing. Trying to justify a 1.5 hour commute for 12 miles (12.3 according to Google maps) is a little hard. Especially when you factor in 3 hours on top of a 8-10 day at work. The luster of being ‘good to the earth’ starts to fade and you wonder if salvation of the earth is worth the time I could be spending with my family.

It’s not.

Not to me, anyway.

So, I am searching for a personal vehicle. I do want to be economical which is, at least, usually kinder to the environment. The economy doesn’t start with filling up the tank, though. The economy starts in the shopping process, because it has to be cheap.

I am not too proud of a guy to NOT buy a vehicle because it has some problems. However, thats a little harder these days. If I am going to be taking care of a care (mechanical) then it has to be old or it has to be motorcycle.

Motorcycle? Well, now you are talking!

This is a 1982 Yamaha Maxim. It’s got a 750cc engine which I can definitely handle when it comes to maintanence. It has less than 11k miles. Only real problem is that it has sat for a year so the fuel system will need to be flushed. $600.

A 94 GSXR750 (suzuki). This one has to go today from what the owner says. $1500. Needs a solenoid and a battery. Runs strong.

This 92 Yamaha crotch rocket (FZR600) is $2299 and has been completely rebuilt in the past year. 16k miles. I could listen to Stryper while riding.

This is a Honda Interceptor 750cc is $1600. It’s black.

A Suzuki GS500E. $700. Looks like shit! but oh well!

Comments (0) Digg! - Stumble - Reddit - Del.icio.us

Who knew?! Actually, to tell you the truth, before I moved to Philly I think I thought Ricotta was a type of macaroni shell. Whatever.

Ricotta (pronounced /riˈkɔtːa/ in Italian) is an Italian whey cheese[1]. Ricotta lit. ‘recooked’ uses the whey, a limpid, low-fat, nutritious liquid that is a by-product of cheese production.

After realizing that whey cannot be safely dumped as it creates an environmental hazard [2],[dubious ] Romano makers discovered that when the protein-rich substance is heated, casein particles fuse and create a curd. This curd, after drainage, is ricotta. Because ricotta is made from whey, rather than milk, it is a whey cheese, not technically a “cheese”[3].

That’s from wikipedia.

It looks like the security token issue has gotten pretty bad at Mysticwicks. I am going to investigate.

Comments (0) Digg! - Stumble - Reddit - Del.icio.us