O Archduke (Capeo do Bundo)'s Journal [entries|friends|calendar]
O Archduke (Capeo do Bundo)

[ website | My personal homepage... ]
[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

[29 Aug 2008|12:19pm]
For fun i did do a backtrack implementation in Sleep yesterday. So now I can write prolog type stuff:

Here is the code for backtrack. This function accepts an array of arrays as the argument. Each position of the top level array represents a free variable that I want to bind something to. And each array held at each position represents the domain of all possible values I can bind to that free variable. Using coroutines (to promote lazy generation of bound values) backtrack assigns all possible combinations of the values to each free position and returns a potential result.

sub backtrack
{
   local('$var $next $slist');

   if (size($1) > 1)
   {
      $slist = sublist($1, 1);
      foreach $var ($1[0])
      {
         while $next ([$this: $slist])
         {
            yield concat($var, $next);
         } 
      }
   }
   else
   {
      foreach $var ($1[0])
      {
         yield $var;
      }
   }
}


Here is the SEND + MORE = MONEY puzzle written in Sleep using this.



@digits = @(0, 2, 3, 4, 5, 6, 7, 8, 9);

sub isAnswer
{
   local('$S $E $N $D $M $O $R $Y');
   ($S, $E, $N, $D, $M, $O, $R, $Y) = $1;

   if ( (int("$S$E$N$D") + int("$M$O$R$E")) == int("$M$O$N$E$Y"))
   {
      # make sure there are no duplicates
      if (size(putAll(%(), $1, { return 1; })) == 8)
      {
         return 1;
      }
   }
}
                           #  S        E        N        D        M     O        R        Y
while $potential (backtrack(@(@digits, @digits, @digits, @digits, @(1), @digits, @digits, @digits)))
{
   if (isAnswer($potential))
   {
      local('$S $E $N $D $M $O $R $Y');
      ($S, $E, $N, $D, $M, $O, $R, $Y) = $potential;

      println("   $S$E$N$D");
      println(" + $M$O$R$E");
      println("-----------");
      println(" $M$O$N$E$Y");
      return;
   }
}


Not the fastest thing in the world. It takes about 455 seconds for Sleep to solve this puzzle. I think it has to analyze over 4.5 million solutions to do this. Oh well, that is what I get with an interpreted language sitting on top of a virtual machine.



Here is another problem... finding integer solutions for a circle of radius 5:



global('@digits $solution $X $Y');

@digits = @(-5, -4, -3, -2, -1, 0, 1,  2, 3, 4, 5);

while $solution (backtrack(@(@digits, @digits)))
{
   ($X, $Y)  = $solution;

   if ((($X * $X) + ($Y * $Y)) == 25)
   {
      println("$X $+ , $Y");
   }
}


I became inspired to play with all this when I saw some examples of erlang's list comprehension in action. Its pretty neat how they enable a mechanism for logic programming. I've thought about adding something like it to Sleep. Fortunately Sleep does have yield and that does enable the backtracking. So maybe not :)



http://en.wikibooks.org/wiki/Erlang_Programming/List_Comprehensions
post comment

[27 Aug 2008|02:40pm]
I can so relate to this:

"Over the years I’ve met a lot of smart people and I’ve invited them to tell me what they think. For years people did not “see it” and that exacted a toll on my confidence. Doubt is born out of fatigue and loneliness, and there is a lot of both when you are running a start up. Hang in there and keep your feet moving - there’s still a lot of time for you to change the world."

http://www.freshbooks.com/blog/2008/08/27/7-ways-ive-almost-killed-freshbooks/
post comment

[26 Aug 2008|10:16pm]
They love it, they really love it.

"This is a great resource!

I've run a couple of draft essays through it, and it has helped speed up my revision quite a bit.

Just FYI, about 50% of the suggestions are useful. It's particularly good at picking up the passive voice. I find the word suggestions less useful. They work okay on relatively unpolished bits of my writing, but are mostly superfluous on the more polished bits. The reason, I guess, is that in the more polished bits the word choice is already quite careful.

I'm spreading word around on my blog, and on FriendFeed."

AND...

"Checks your writing against more than 7000 rules of plain language. I put a couple of draft essays through it, and found about half the suggestions helpful, which is a pretty good batting average."

AND...

"I really like it. An "Ignore rule" button would be nice. If you're trying to demonstrate a strong vocabulary in your paper, you might not ever want simpler words. (I chose that rule in particular because you seem to have made that rule too aggressive. A passage of solely simple words, while possibly more clear, is not as pleasant to read.)

Your suggestions don't always actually fit, but that's true of certain large, expensive pieces of software (Microsoft Word) too.

Also, allowing people to upload files (at least text files, maybe rtf and doc if you can parse them into text) might be nice so they don't have to select and paste it all.

Overall it looks like a very useful site though."

AND...

"Without spending the time to test out the algorithm, I can tell you this is sorely needed in the world of blogging. I'm appalled by the atrocious grammar often found at places like TechCrunch. I can't imagine how the big blogs don't all outsource copy-editing.

Perhaps an awesome feature would be the ability for them to use your site and then have the copy-edited stuff published directly to the blog, maybe via xml-rpc or something."

Now that I've spread the word around more than my anti-writing friends, it turns out people like polishmywriting.com. I'm glad to hear this. I put a lot of work into it in June and gave up when I received 0 feedback.

I mean I know I can't just put something out there and expect the world to beat a path to my door. At the same time I expected someone, anyone, in the circle of folks I know to say "this is useful to me" but that never came. And so I gave up on it.

I'm going to work on polishmywriting again. Here are some of the things I want to do (sooner rather than later):

- convert the rule engine into a webservice... this will allow moconti to scale to far more users, right now the rule engine is not being garbage collected, I don't yet know why but will figure it out. This causes my server to die relatively quickly. I don't have this problem with the other sites hosted by my app engine. For example, when jIRCii was released, lots and lots of hits... people love jIRCii... but no memory leak so the server held up fine.

- make a facebook app... should be simple, I have all the pieces in place... I was just waiting on the facebook style sheet (which I did find eventually).

Just in time for the back to school rush. And now that I'll be working again ($$$) I may even invest the $600 into a press release service to get the word out to college newspapers and the national media.

I put a lot of effort into polishmywriting and became very discouraged by the lack of feedback. Part of the downward spiral that led me to seek a job again. We'll see what happens. Maybe it is a winner idea that suffered due to my not marketing it.
post comment

[25 Aug 2008|09:04pm]
I received 4 script submissions for jIRCii this month with more in development. Looks like the jIRCii community is kicking some ass.

This is how I judge a successful open source project.

For a visual tour of what I'm talking about, scroll to the bottom of the screenshots page, this is hacker art at its best:

http://jircii.dashnine.org/screenshots.html
post comment

[19 Aug 2008|01:01am]
Ok, this guy gets points in my book. Here is an introductory article on neural networks and how to use them for handwriting recognition:

http://java.sys-con.com/node/36985

Try it here:

http://www.heatonresearch.com/articles/42/page1.html

I love people who make useful tools like this accessible to everyone.
post comment

[11 Jul 2008|01:05pm]


I can so relate to this.
post comment

[23 Jun 2008|06:04pm]
I've posted my current code for http://www.polishmywriting.com live. I have over 1000 rules in the live version. Go find an old report (or blog entry), paste it in, and watch the magic happen. I think you'll like it.

I still have several rule categories to add. I'm just making it live now to get approval from various ad affiliate programs. Its minimal but functional at this time.
post comment

[17 Jun 2008|01:06pm]
It just occurred to me that I probably failed to mention this here. Sleep 2.1 is now available. This brings to close a 2 year development cycle on a .1 release.

http://sleep.dashnine.org/
post comment

[29 May 2008|11:41am]
I just received my proof copy of the Sleep 2.1 manual today. All of my labor from last week. The book is beautiful. The cover is gorgeous. It has the heft, weight, and feel of a real book. The text is pleasant, the diagrams and tables are crisp.

My only complaint is the inside margins. I used 0.75" and that may not be enough. The text is perfectly readable. Just when the book is opened up the text on the inside margin is slightly on the curve of the page itself.
1 comment|post comment

[28 May 2008|07:16pm]
Syracuse is such a cool city. Tonight I left my apartment to go get some coffee. Something to help split up the time between hacking sessions. As I left I heard music. It turns out the city is having a little concert / festival in the federal court plaza. They have a band playing classic rock and 90's alternative along with beer, wine, and food from several local restaurants including Dinosaur BBQ. A bit of a mixed crowd tending more towards the middle age. However it is something.
post comment

[18 Mar 2008|03:57pm]
I just walked from my apartment to a baker and bought bread. I feel like I'm back in Europe.
post comment

[16 Mar 2008|11:22pm]
Is it silly to say I'm living one of my dreams right now? I'm really enjoying this.
post comment

[12 Mar 2008|11:47pm]
I'm getting ready to move to Syracuse on Friday. I've been going through all my stuff and trying to separate what I want to keep from what I don't need. I've had a pack rat tendency to keep some stuff around. I got rid of 3/4 of the stuff I brought with me from Germany.

I pulled my uniforms out of the closet as well. I took one service dress and one BDU set and put them into a storage bin. This is to fulfill my requirement as an inactive ready reservist. The rest I separated for donation to charity. This is probably one of the first signs to me that I'm no longer in the military.

I'm not claiming to miss it (I still feel like I'm on a much needed vacation). Just its strange to not be in the military. I was always really proud of the fact that I wore a uniform and here I am packing it up most likely to never wear it again.

Sad.
post comment

[12 Mar 2008|01:35am]
Friday I get to move into my new apartment. I've been furniture shopping and looking for household stuff all day.

The following drawing is mostly to scale. I created the layouts with a room planner flash app. I used the real room and furniture sizes within the app and shoehorned them onto a layout image provided by the property manager.



So here is what I am thinking at this time.

The bedroom needs a little work. Mainly I'd like to use my NeXT cube as a night stand, keep my current double bed, and have a floor lamp. Possibly a standing mirror as well (I need a full length mirror somewhere).

Outside of the bedroom we have an 8x13 space. I've segregated it into a small workarea and a dining area. I thought about using the counter as a dining area with two stools. I've since decided against that as its not easy to create that intimate/formal setting. Workarea is important to me. I planned for a slightly larger
desk than what I have now with a bookshelf and trashcan (or shredder) behind me.

I mean for the living room to be the center social space of the place. Ideally I'll unwind there as well. So I'm planning on a sectional sofa, an end table, and a coffee table. I'll place my projector onto the coffee table and project movies onto the opposite wall.

Along the opposite wall I'm debating a small media cabinet that can store the projector and various media. I'd also like to place my stereo on top of it. In the far corners of the living room I'd like to have my stereo speakers. I have 4, I don't know what to do with the other two.

The other option is to scratch the stereo altogether and rely on my mini speakers for sound during movies and such (at least they can do surround).

Not sure which way to go on this quite yet.

This endeavor may turn out to be expensive. Here are the items I'd like to obtain to make this happen:

1. small dining table and two chairs (~$300?)
2. a new desk (~$100)
3. a new bookcase (~$75)
4. small entertainment center thingie (~$50)
5. sofa (~$1100)
6. coffee table (~$125)
7. end table (~$50)
8. area rugs (x3) (~$300-$600 total)

$2100-2400 total.

That'll set me back a little. It would make for a pretty sweet apartment though
post comment

[06 Mar 2008|06:53pm]
It is really nice outside today. I have to admit I love being back in college. If only for a short time. I had an exam in architecture. I feel really good about it. It was mostly instruction scheduling and loop unrolling. Reasoning about a program written in assembly isn't very intimidating.

As I left the exam I saw a bunch of students studying for an 8pm midterm. I then walked out onto the quad and looked at the chapel and the rest of the campus buildings. There wasn't really anyone outside. The sky was a dark blue and I just kind of looked and thought to myself 'wow, I'm in college.'

I hope I'm doing enough to take advantage of this second go around.
post comment

[05 Mar 2008|03:15pm]
One of the girls at the local coffee shop gave me a free refill on my iced chai. I'm jittery as shit from the caffeine. I know chais don't have much caffeine but I don't consume a lot normally either.

I hope they didn't do it because I was talking about no longer having a job. I'm happy not having a job and it is by choice. Why I even put down a $5K tuition check yesterday. Felt good.
post comment

[11 Feb 2008|01:23am]
post comment

[11 Feb 2008|01:21am]
post comment

[11 Feb 2008|01:13am]
Some folks asked me what I liked so much about my undergrad? I like SU, I love the campus, and Marshall Street really gives it the flavor of a college area.

One of the neat things about MTU was the traditions. Such as Winter Carnival. A nearly 100 year tradition where students spend 30 days making these massive snow statues. The 30 days leads up to the all-nighter event where the finishing touches are put on statues, one-nighter statues come up, and there is lots of drinking, eating, partying, and hanging out.

Sometime in the morning there is the judging and after that there are tourists going around looking at the completed statues.

http://www.mtu.edu/carnival/

It really is an amazing event and one of those things that made tech special.
post comment

[09 Feb 2008|12:54pm]
As I'm readying for my next transition and the associated uncertainty, I'd like to share a story from many years ago. Believe it or not, in light of all my promising and constantly developing technical skills, my old man kept encouraging me to get a job.

For some reason, he could not justify having his oldest son stay up all night hacking and sleeping until 3pm during the summers. I wonder why?

Following my junior year of high school we were on track to this debate again. And I was ready to give in. I had worked in a grocery store when I was 14 and liked it. I used to bag groceries. I had in my mind that I would upgrade to the then prestigious position of stockboy.

My dad was a manager at farmer jack's at the time. So he pulled some strings to help me get a job at a local store. I put in the application, took the drug test, all of that. Then one day I went in to establish the working hours and my first day. I spoke with the front-end manager who stated I would be bagging groceries to start. "I bagged groceries when I was 14, I thought I was going to be working stock?"-- no dice... so I walked out.

When I got home, my dad said Walt from Advanced Data Net had called me. Advanced Data Systems had a contract with my school district to handle their IT needs. They had also recently started up an ISP.

I called Walt and found out he hadn't called but the ISP was interviewing for sysads at that time and that I needed to call Andy (lead sysad) right away. I called only to find out I definitely wasn't in the running for any kind of sysad position. However they were willing to offer me an opportunity to come in, answer phones, learn stuff, and show what I could do. Minimum wage here I come. :) Of course I was pumped and decided to do it.

Eventually as things worked out I ended up running the network after Andy left. That was a completely unexpected opportunity. I never liked taking steps backwards. As I come on my next transition I'm sure this will still hold. How long will I hold out? Not sure. But I know this is part of who I am. So we'll see what happens. The next invisible opportunity is just around the corner.
post comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]