Labels

Monday, November 2, 2015

Art in New York City



Being from Seattle, I found myself delighted at the chance to poke fun at the art scene in New York.

I love Seattle, but why poke fun at Seattle artists with a comic when New York artists are practically cartoon characters already?

Thursday, August 20, 2015

Parentless Binary Search Tree

Binary search tree's are a helpful data structure in which nodes have two children and one parent. A nodes left child will be less then the parent, and a nodes right child will be more then the parent. In a BST where nodes have no parent pointer, every node is essentially its own tree. This means any method that you can call on a tree head, you can call on it's children, allowing for recursive solutions to most BST problems or methods.
Node insertion is easy, with or without a parent pointer.
...
  def insert(self, val):
      if val < self.val:
          if self.lchild is None:
              self.lchild = TreeNode(val)
          else:
              self.lchild.insert(val)
      if val > self.val:
          if self.rchild is None:
              self.rchild = TreeNode(val)
          else:
            self.rchild.insert(val)
Traversal is also easy.
...
  def depth_traversal(self, order="pre"):
      if order == "pre":
          yield self.val
      if self.lchild is not None:
          for v in self.lchild.depth_traversal(order=order):
              yield v
      if order == "in":
          yield self.val
      if self.rchild is not None:
          for v in self.rchild.depth_traversal(order=order):
              yield v
      if order == "post":
          yield self.val
These are simple, because you are recursing down the tree.
Tree balancing is much more complicated, because logically you need to start on the bottom of the tree, each node rotation needs to update what the parent is pointing to, and the pointer to the head node may no longer be the head node.
All of these problems can be worked around. If you return the pivot node at the end of a rotation, then you can call rotations from the parents pointer.
    def _rot_right(self):
        pivot = self.lchild
        self.lchild.rchild, self.lchild = self, self.lchild.rchild
        return pivot

    def _rot_left(self):
        pivot = self.rchild
        self.rchild.lchild, self.rchild = self, self.rchild.lchild
        return pivot

>>> node.lchild = node.lchild._rot_right()
Starting at the bottom of the tree can work in the same way as post oder traversal, where by recursing through the tree at the beginning of your function, and stepping through logic after assures that you will visit all the children of a node before you visit that node
...
  def rebalance(self, head):
    if self.lchild is not None:
        self.lchild.rebalance(head=head)
    if self.rchild is not None:
        self.rchild.rebalance(head=head)

    balance = self.balance()
    if balance > 1:
        lbalance = self.lchild.balance()
        if lbalance > 1:
            self.lchild = self.lchild._rot_right()
        elif lbalance < -1:
            self.lchild = self.lchild._rot_left()
    elif balance < -1:
        rbalance = self.rchild.balance()
        if rbalance > 1:
            self.rchild = self.rchild._rot_right()
        elif rbalance < -1:
            self.rchild = self.rchild._rot_left()
Rebalancing should return the new head node, so that pointers can be reassigned elsewhere.
...
  if head is self:
      if balance > 1:
          head = self._rot_right()
          head = head.rebalance(head)
          return head
      elif balance < -1:
          head = self._rot_left()
          head = head.rebalance(head)
          return head
    return self
And there you have it. A Binary Search Tree with no parent pointer.

Wednesday, May 14, 2014

Degenerate

This is the first comic I've ever drawn that ever hung in a gallery for any reason.
Go look at it, and at the off chance you're in New York City, go look at the original at Undercurrent Projects!

Tuesday, April 15, 2014

An Afternoon on Omegle.


My girlfriend and I had a lovely round of thought provoking discussion with strangers on the internet.
Read our dialouge under the break!

Tuesday, March 18, 2014

It's Nuzlocke season, apparently

I'm seeing a lot of other Nuzlocke updates on the site. I hope you aren't tired of reading them yet because I have another to add to the pile!

Last time I wrote about my Black Nuzlocke I had just started. I had Hamm the Tepig and Jasmine the Purrloin. Well, two gym badges later I am in Castelia City. I'm preparing to fight the bug gym leader there. On the way I lost Jasmine the Purrlion, RIP. She fought bravely against team Plasma but it just wasn't enough.
On the way to the second badge I caught Pecan, the Roggenrola. She and Hamm (now a Pignite) DESTROYED the normal gym with their fighting moves (Rock Smash and Arm Thrust, respectively.) On the way to kick some Team Plasma ass, I caught Biscuit the Cottonee! It's nice to have a grass guy on my team. I was starting to get worried about encountering a water Pokemon and having nothing to send out.

I'm in the Castelia City gym as I type this....I'm going to fight the gym leader real quick.
Brace yourself Burgh!

**Live blog**
Strong start with Hamm. I have four levels on his Whirlipede. I don't want to use physical moves and get poisoned so I'm stuck with Ember for now. Dead!
Uh oh, Dwebble next. Uh, I guess Hamm will stay out. I still have four levels on him.
Flame Charge, twice. Dead!
Leavanny next. Do I chance it and send out Roggenrola? She has sturdy, why not? Go Pecan!
Oh boy. Razor Leaf hits hard. Rock Blast almost kills Leavanny but I need to get Pecan out of there.
GO HAMM! Bastard used Hyper Potion. Leavanny is faster but Flame Charge is a one hit KO
AWH YEAH FUCK YOU BURGH!
**End Live Blog**

Here's my team as it stands after that gym battle:
Hamm (Pignite) Lv. 25
Pecan (Roggenrola) Lv. 22
Biscuit (Cottonee) Lv. 24

<3Billie

Thursday, March 13, 2014

Nuzlocke: Azalea Town and MFing Bugsy

Time for an update on my SoulSilver nuzlocke challenge! :)

So far things have gone all right, but there have been some really close calls. Togepi hatched, and that little shit knows EXTRASENSORY ALREADY. Fucking psychic-type move right out of the box. Er, egg. I guess Togepi never really leaves the egg. You get what I'm trying to say here.

I also managed to get through Union Cave (first Pokemon was a Zubat, said fuck that and killed it), which was good because I realized two things are on the other side of that cave... Slowpoke Cave and Azalea Town, which means another badge to earn and some more Team Rocket bitches. Oh, and an old guy who will make special pokeballs out of apricorns that I find. Which might prove useful later.

Saturday, March 8, 2014

Wednesday, March 5, 2014

Nuzlocke: It's my first time, be gentle.

As some of you may have heard, I began my first ever Pokemon nuzlocke challenge on my Soul Silver game recently. (For those unfamiliar with what a nuzlocke is, check out this article for more info) As someone who has been playing these games since they first came out in '96, I can say that this is the most stressful play through of my life. LOL

Being a purist, I took Totodile as my first starter. After discussing with billielightning about the general rules for nuzlockes, we decided it would be fair to wait for any route-based restrictions to go into effect until I have received pokeballs from May. I have mostly been playing in the evenings, so I had a feeling my first catch would be a Hoothoot, and I'm glad it was. Previous playthroughs have proven Noctowl to be a great presence on a team, and his ability to take a hit and put things to sleep will be invaluable.

I kept going (beat Joey and his top percentage Rattata) through that first route, and the next Pokemon I encountered officially was Pidgey. Welp, screw that, this route's a bust. However, I remembered that Dark Cave was on this route. There are only three Pokes in that cave: Geodude, Zubat, and Dunsparce. I figured I had a 2/3 chance for something I would actually use... and I got a Geodude! Thank goodness. Otherwise that first Flying-type gym was gonna be a pain in the ass.

I'm going to offend EVERYONE.

I didn't post last saturday, so you guys get a post today.
I had a debate about Sexual fredom and expression with a feminist I didn't know over the internet and it was getting late and so to finally end the conversation, I took the I Have a Dream speech and took a few creative liberties to both express my final opinion on the matter and hopefully weird her out to the point where she doesn't PM me.

It took forever to write, and the longer I spend writing somthing the more proud I become of it.
Check it out under the break!

Sunday, March 2, 2014

Nuzlocke: Black Version and Life Updates

Hey folks! Sorry it's been awhile. Life got exceptionally busy these last few months. January was full of orchestra rehearsals and February I began student teaching! I've been really focused on getting through my last semester in college and becoming a certified teacher, yo.
That said, I have decided to start a new Nuzlocke on my Black version. I had started one on Crystal version a while back but the cartridge has been sort of nuts in terms of saved data so I decided to go with a more stable game and system. Regal has also started one but on SoulSilver!

We just started yesterday. I currently have a Tepig and a Purrloin on my team and just made it to the first town with a gym. I've named them Hamm and Jasmine, respectively. Regal is on his way through to the third town (also the first one with a gym). He has a Totodile and Hoothoot on his team so far (that's what he gets for starting at night lol)

Anyways, if things get interesting we will keep you posted.

Also, I drew you all a comic for "One is Silver" a LONG time ago and just haven't scanned it yet. I'll try and get it up soon.

<3Billie

Friday, February 28, 2014

"Encylcopedia of Dope" entry: Huge Awkward Institute of Reindeer (HAIR)

Redirected from evil reindeer
"That's Donner. Of all [the reindeer], he may be the cruelest, and definitely the most conniving..." -Pinocchio

The Huge Awkward Institute of Reindeer was a group of eight evil reindeer: Dasher, Dancer, Prancer, Vixen, Comet, Cupid, Donner and Blitzen.

Saturday, February 22, 2014

The Magic Forest: Anime


I just finished watching Panty and Stocking with Garterbelt and this comic wrote itself.
Enjoy!

Friday, February 21, 2014

"Encylcopedia of Dope" entry: Piscientum

This photo of Piscientum was taken about 12 billion years ago, 
before he was impaled through his back by a flagpole.
Piscientum, AKA the Most Important Man in the Universe, AKA the Most Important Man EVER, is one of three guardians of the cosmos. Endowed with godlike powers, the guardians of the cosmos were created nearly a trillion years ago to administer the relations among various intelligent life and maintain the stability of the space-time continuum.

Saturday, February 15, 2014

Happy saturday...?


It's saturday, and I completely forgot.
Please accept this short haiku as both a venting of my frustration with myself, and my expressive entry of the week.

"Oh Saturday,
I forgot you were coming.
Fuck fuck fuck fuck fuck."

Saturday, February 8, 2014

Personality types


A Charectar Study involving several of my freinds, many of which post here.
Enjoy!

Saturday, January 25, 2014

Saturday, January 18, 2014

Well now that December, the month of Chaos and Confusion has passed, I shall continue my weekly updates.
If you'll look below the break, you'll see some writing I did that I'm looking for 
feedback and comments on.
Please enjoy!

Thursday, December 19, 2013

Some Character Work

In preparation for a full scale comic I've been doing many things. Firstly, I was trying to think of a title. And now I have a title, although I doubt you will understand the reference. "One Is Silver"
In Girl Scouts, back when I was small, we had a song we sang about making new friends but keeping the old: "One is Silver, and the other's Gold." Since friendship will be a theme in this comic/story and since the lyrics allude to the titles of the games themselves (Silver and Gold), I thought it was perfect. I hope you like it to.

The other thing I've been working on is my characters. Drawing isn't something I claim to be fantastic at so I've been practicing a lot. Like I promised last week, I have character sheets to show you! I hope this will help you, the reader, get to know the character a little better. At least visually. I'm only posting four because Eva the Skarmory and Jade the Tyranitar will not be joining us yet. Each sheet also has three adjectives to describe each of the characters I drew.

Enjoy!

Tuesday, December 17, 2013

Tabletop Spotlight: King of Tokyo

Welcome back, ladies and gents, to another edition of Tabletop Spotlight. Due to demands on my time in the real world and the busy holiday season, I will be transitioning my posts to a biweekly schedule, still on Tuesdays. I promise to make the wait worth it! :)


Today’s spotlight shines upon a newer game that’s out, and really causing a commotion! It was featured most recently on Wil Wheaton’s “Table Top” youtube series, and it was an instant favorite for me when it came out in 2011. Head for the hills, because today we’re talking about King of Tokyo.

Saturday, December 14, 2013

The Sisterhood of the Traveling Elephant.


To illustrate the way ideas travel through art from one mind to another, I drew an Elephant and sent it to Toonsem, for him to reflect on breifely, and then draw another elephant inspired by him. 

Look after the break and see what happened!!