This blog no longer exists.
You will be redirected to something cool.

Monday, December 24, 2012

Secret Code Programming Puzzle

I'm trying to solve a mathy programming problem. (I came up with the problem a couple of years ago, but it's still preying on my mind.)

There is a secret code (which you're allowed unlimited guesses at) => a string 12 characters in length. Each character can be either a number or a letter (a-z, 0-9) and it's not case-sensitive (A == a).

After every hour, a character in the secret code is revealed.

For example:
Hour 1:
_ _ Q _ _ _ _ _ _ _ _ _

Hour 2:
_ _ Q _ _ _ _ _ _ _ 4 _

Hour 3:
_ _ Q _ _ _ _ 7 _ _ 4 _

Hour 12:
1 C Q 8 2 V V 7 J B 4 9

I want to write code that solves the code before a human can. I figure a human can realistically start manually entering combinations at around hour 10. I would like my program to solve it before then.

What should the program do when another hour goes by and another secret character is revealed? I was thinking of starting out with an array of all the possible combinations, but populating and storing the array would take an immense amount of time and resources. I was thinking about storing this array and when a new character is revealed, rejecting ALL strings from the array that don't have the new secret character in the exact position.

At a worse case scenario of making guesses with all 12 characters left unrevealed, we're left with awful time complexity:
36 numbers and letters, 12 mystery characters
36^12 == somewhere considerably longer than I have remaining in my lifetime given however long it takes in a single-threaded program to make a guess. Still too long in a multi-threaded program on the world's best computer.

However, this goes down significantly after each hour. So I have several questions to answer:

Should I start my program at a certain hour? If so, would there be any benefit to at least STARTING to populate an array before said starting hour? Would I even need to populate a massive array?

Monday, December 17, 2012

Best Practices in Comparison

I have a best practices question about some code.

Which code is easier for another programmer to understand:

Should I switch the greater_than and less_than signs [as in elsif in the first example (lines 1-5)] or should I switch the position of rocks and pebbles [as in the elsif in the second example(lines 7-11).] I prefer the second example because the puts statement is essentially the same as its if statement.

However, maybe it's easier for some people to think of the comparison in terms of, well, in this case, rocks. (I really don't know why.) What do you think?

Friday, November 30, 2012

The Course Schedule Program

My school lists the course schedule as pictured. The search functionality is deficient in that it offers little customization in the "advanced search."

I would like to "pull" the entire schedule and do the following things to help me choose classes:

1.) Have an option to compare it to a list of classes I'm required to take, classes I HAVE taken, and any classes I'm currently schedule to take in order to finish school and return ONLY those that,
  a.) I haven't yet taken.
  b.) count toward major.
  c.) fit within my current schedule in terms of times and dates
  d.) I'm qualified to take. (In terms of pre-reqs.)

2.) Have functionality that allows me to see the maximum number of classes I can take during a semester. Preferably order combinations of classes in such a way that the schedule combo with the highest number of credit hours in listed first and the one with the least is (obviously) listed last. This would prevent crappy schedules that have weird times slots that make finding other required classes difficult.

3.) Allow me to see the professor score for a class section as reported by ( I won't need this to be searchable, but it would be nice to be able to see that data.

4.) Have functionality that allows me to prevent certain classes from showing up. For example, if I don't want to take AD 123 (even if it DID count toward my major), I would like to prevent it from showing up.

5.) Functionality to ignore the requirement that a class should count toward my major. This would be particularly helpful if I couldn't find a course within my major that would properly fit in my schedule.

(Perhaps this functionality would be the default behavior of the program and it the program would score class combinations based on relevance to requirements. In order to keep things from getting weird, create a credit hour limit for schedules of 19 credit hours.)

6.) Functionality to consider a "must-have" class (or two or three...) into the schedule. If I HAVE to take Awesome 101, section 4, with Professor Cool, I want to see potential schedules built around this.

7.) If I don't care for a professor, I would like to exclude him/her from my potential schedule.

How would I best achieve this?

I'm considering using Ruby (since that's what I'm most comfortable with), but I'm open to whatever (even Perl.)

My first instinct is to programmatically open the schedule with something like open-uri, and pull all course data. I was thinking of using nokogiri to search the data, but I think that throwing everything into a database and then querying the database would be a MUCH faster and MUCH better option.

My question is this:
What technologies would be best suited for this project? I literally have zero experience with databases except for a tiny bit of relational algebra (not enough to help me out in any way.)

It's probably also important to note that I would like to make this available for use on CodeGurl (mainly as a 'look ma, no friends' type thing), where a student can upload a spreadsheet containing classes they've already taken, classes they're required, and any must-haves, so any technologies related to deploying this would be helpful too. I've never deployed or packaged anything.

I basically need help with figuring out which direction to go with this. I beg you guys not to do the project for me (what would I learn? Nothing. And I'd feel like dirt.) However, any links, lists of technologies (and what problem they solve) would be GREATLY appreciated. Any technologies that are beginner friendly (have a LOT of beginners guides) would be FAB!


Sunday, November 4, 2012

Checking for Primes

I'm writing a script that will check whether or not a number is prime and I'm having some issues on how to do this.

If I take a number, lets say 100, and I want to check and see if it's prime I could do this:
-Divide it by all numbers 2..99 to see whether or not 100 is divisible by them. If not, it passes (it's prime.)
-Check whether it's divisible by 2. If so, it fails (composite.) If its not di
visible, truncate the result of dividing by 2 and check all numbers 2..the_result of dividing by two. This would significantly reduce the pool of numbers I would have to check, BUT I run into another issue...

If I choose to check whether it's divisible by 2, then, if it's not, move onto 3... and THEN if its not divisible by 3, I could really bring the size of the pool of numbers down to ~1/3rd of its original size...

However, when do I stop? At the 1/4 size? 1/8 size?

Optimally, I'd like to do as few operations as possible.

The code that produces the array is as follows:

Saturday, October 20, 2012

My Sorting Algorithm: Melsort

A friend challenged me to a little algorithm writing contest and I'd never written an algorithm before (this was about a year and a half ago) and had little knowledge of algorithms.

Write code that sorts an array of numbers from lowest to highest.
Use this array: [5, 2, 8, 0, 9, 3, 1]
Don't look up sorting algorithms.

It goes without saying that I was not allowed to Ruby's built-in sort method on the array => array.sort!
That would be cheating as the point is to create the code that sorts the array.

I thought of a number of ways to do this (I had a bubble sort-like piece of code that I never finished), but the quickest code I whipped up was this:

If the code is a bit hard to read, it does this:
I have two arrays. The original array containing unsorted numbers and an empty array where the sorted numbers will go.

Starting from zero, I count up one number at a time, checking each time if the number I just counted is in my unsorted array. If it does appear in the unsorted array, I add that number to the empty array. I stop counting when both arrays area equal (contain the same elements.)

There are two major problems with this:
1.) The code is unable to sort numbers with decimals.
2.) The code would be incredibly slow if the unsorted numbers were larger. For example, if the array contained 15 and the next highest number was 1587932057693576, the algorithm would count all the numbers in between 15 and 1587932057693576 before it could tell that 1587932057693576 was the next item to appear in the sorted array.

I won the contest as my sorting algorithm sorted the array faster than my friend's code did. However, considering the above problems, his code was far superior.

Spatial Skills on Facebook?

I recently took one of those Facebook feed reader quizzes where you let something read through your Facebook posts and it gives you some scores -- basically what kind of person you supposedly are. This isn't something I usually do, but I wanted to kind of play around with it and maybe come up with an analysis (and I did and it is as follows):

"Melanie is more spatial than 97% of people."

I can't agree with this. First of all, what does it mean to "be spatial"? Am I physically larger than 97% of people? Do I take up more space? Despite the ambiguity in the statement, I believe I know the intention: spatial reasoning skills.

I don't think there is a good way to determine, through my posts on social networks, what my spatial skills are.

I'll take the compliment, I suppose. I DO, in fact have a fairly 
high (in comparison to the general population:high; in comparison to a "genius": I'm an idiot, to be sure) visual-spatial ability, which is especially interesting given my gender (there was a study(1) that whose results showed that the more sexist a society is (toward women), the lower that females of said society score in a visual-spatial ability area of a cognitive test and that there is no known society where women regularly score higher than men. With this in mind, I highly doubt that I score higher than 97% of the population.(2.)

But, you do have to consider that this is a "facebook feed" test and that it's very possible that its results are wildly inaccurate. With this consideration in mind, you'd have to wonder why the test gives a spatial result. This result alone brings possible inaccuracies to the forefront given the formal nature of accurate(2) psychological testing.

1: I only know this because I dated a really sexist guy a bit back who provided this research as "proof" that men were somehow better than women. I took the research as proof that he was a dick. The study actually was fascinating, though.

2: There are some problems with this.
a.) It's likely they only compare you to people who have also taken the test. It was a Facebook app and as most apps go, they're a distant relative of glitter graphics. I was bored and decided to temporarily give my Facebook profile rabies so I could see what results this "test" gave me. Am I BETTER than everyone who installs an app? No, I install apps. Am I better than glitter graphics lovers. Probably. I'd need some empirical data to prove it, though, which definitely won't happen.
b.) Who says my posts are my own? I often share interesting things I find or maybe I'll post an interesting quote. In addition to this, my tweets are also posted to my Facebook feed and I often manually retweet things (copy and paste vs hitting the retweet button) which will cause it to show up on my feed.

Thursday, September 27, 2012

Interviews & Podcasts



Wall Street Journal


Tuesday, July 31, 2012

HubPages vs My Own Site

I've been thinking about leaving HubPages and have been giving this whole thing a lot of thought. Should I continue on HubPages or create my own site and post articles there? Here are some pros and cons of creating my own blog, to kind of help flesh things out a bit:

Blog Pros
  • I get 100% of the earnings
  • I have complete control of the site from the design to the SEO
  • Sharpen my web dev skills. Chances are I would use Drupal (I don't care for WordPress.) I would want a lot of customization in the way of plug-ins.
  • It could be a lot of fun managing my own site.
  • I wouldn't have to worry about a bunch of crappy or stolen content dragging down my domain. I would be the only one posting.
  • Having your own site is something to be proud of.
  • No Westside story Facebook drama.
  • I think I could make a pretty strong domain. I've done it before. I think a lot of the "crap" weighs HubPages down. Cutting the crap wouldn't be a matter of hitting a report button, but rather, just deleting it.
Blog Cons
  • I would have to pay for a domain name and hosting
  • Creating and maintaining a site is a lot of work.
  • I would have to rely on AdSense clicks again.
  • I'm really sick of the whole SEO thing. As lazy as it sounds, I feel like I'm on autopilot with HubPages.
  • It would get lonely. My comments would come solely from search engine visitors.
  • Too much control could lead to micro-managing.
  • No more eBay... not that I earn a ton from it, anyway.
  • No HubScore. Even though HubScore is generally worthless, a score below 70 does kind of let me know, "Hey, Melanie, you really need to work on this on."
So, what's the verdict? Well, I'm going to give my own site a trial run. I finish the apprenticeship here soon and I think, while I'm finishing up some of those last hubs, I'll work on starting my own site. I already own a good domain, so I think I'll be good to go.

What do you think? Should I stay with HubPages or develop my own site?

Thursday, July 12, 2012

Watermelon Slushie

I made this watermelon slushie the other day (it was that super hot day we just had) and it was amazing! I made it from a half of one of those smaller sized seedless watermelons, a syrup I made, and ice. It was fab!

I'll publish the full recipe in the next few days for those of you who are dying to try this.

Monday, July 9, 2012

Embarrassing Technology Story?

What's your most embarrassing technology story? What's something you did with your computer that was super dumb?

When I first started using the Internet (this was 1997), I went to the library in town and their homepage was the State of Michigan website. I couldn't figure out how to get off that site. I kept searching in the site's search box for "Hotmail", but it kept taking me to State of Michigan search results. I knew nothing of the address bar.

I told you my story, now tell me yours. :)

Funny Dinosaur Pictures

This post has been moved. You will be redirected to Funny Dinosaur Pictures shortly. :)

Christian Words for Vagina

My sister and I were bored so we came up with some Christian words that mean "vagina." This list is the result of snarky moods and being up at 2AM. What do you think? Anything funny that we missed? Let me know! :P Enjoy and share! (Note: She's a Christian, I'm atheist)

Cave of Commitment
The Holy Hole
Mop of Matrimony
The Promised Land
Covenant Cavity
Pledge Pocket
Passage of Promise
Sacred Split
Obligation Station
Marriage Land

(Copyright 2012, Melanie Shebel)

Friday, July 6, 2012

Let's Install Ruby & Learn to Program!

If you've never programmed, you should really give it a shot! It's a lot of fun and even if you don't really know what programming is useful for... even if you know you'll never want to become a developer, just try out Ruby.

I don't write software professionally, but I still have fun programming. I've also noticed throughout my school career that I have really poor math skills. After learning to program, I went back to school and there was a noticeable difference in my ability to learn math. I really believe it has sharpened my logic and reasoning skills.

If you're 100% lost in what to do with Ruby once you install it, there are a bunch of easy-to-follow guides that will get your started. This is how I started!

To get started, you'll need to install Ruby. Here's how to install Ruby in Windows. I promise programming will challenge you in a fun way! Enjoy!

Wednesday, July 4, 2012

Stepping Into Some New Shoes

I've really been missing niche blogging. I really loved managing multiple blogs on different themes. I know that sometimes it can get a little hectic, but I think it's time I stepped back into it -- I loved it too much!

I just started two niche blog. One will have a ton of content I've recycled from some of my now defunct niche blogs. I put a fresh perspective on the content and found a really nice way to tie it all together. I'm really excited about it. I don't have the domain on this one yet. I'll have to shop around for something nice for it.

The other blog will be on a topic that I've never tried a niche blog on, so it'll be a new experience. I'm really excited about this one too. I've the domain name for this one already, I just need to start putting content on it.

I'm going to kind of do these blogs the same way I do my HubPages account: quality. I'm not going to make it a "Melanie's gonna talk about nothing" thing like I do here on CodeGurl. :P

In other news, my legs are in some bad muscle pain. Two days in a row of ballet legwork and I feel pretty wobbly. :S

Listening to: "New Shoes" by Paolo Nutini

Thursday, June 28, 2012

DMCA Takedown Notice Template

The following contains information on how to find the contact details of the company who hosts a website. This can be used to contact hosts in regards to copyright violation. Here are the step to follow in finding contact details and a sample DMCA takedown notice.

You can find out the hosting company of the website that's stolen your content by doing the following:

Step 1: Go to or any other whois site of your choice.

Step 2: In the box, type in the url of the offending site and hit "lookup."

Step 3: Click the "server stats" tab.

Step 4: Click the blue numbers by "Ip Address."

Step 5: Look for an "abuse" email address, usually under "OrgAbuseEmail." If there isn't one, then use the "OrgTechEmail."

Step 6: Compose an email to the email address you acquired from above. Remember to be polite. The host usually has no involvement in the stealing of your work. Plus, being polite will get you much further than being angry. BE PROFESSIONAL!

DMCA Takedown Notice Example
I just send the following message and have had a TON of success in getting stolen content (and entire sites) taken down.

Use the subject line of: Notice of Copyright Infringement
Put the following in the body of the email, replace the #### with your information:

I am writing to you to avail myself of my rights under the Digital Millennium Copyright Act (DMCA). This letter is a Notice of Infringement as authorized in §512 of the U.S. Copyright Law.

1. The copyrighted work at issue is the text that appears on:


2. The URLs where my copyrighted material is located include:


3. My contact information is as follows:


4. I have a good faith belief that use of the copyrighted materials described above as allegedly infringing is not authorized by the copyright owner, its agent, or the law.

5. I swear, under penalty of perjury, that the information in the notification is accurate and that I am the copyright owner or am authorized to act on behalf of the owner of an exclusive right that is allegedly infringed.


Tuesday, June 26, 2012

There Are Four Lights

I don't know if I would have continued to say or or if I would have gone with what Madred wanted. I'm pretty stubborn, so I hope in that scenario, it's be the four.

I've got six more articles to write and then it's vacay for a while. I'm super happy about that. I start ballet next Monday. I tried on all my old stuff and it still fits which is awesome.

I did some editing to CodeGurl... mainly just fixed the bullet points. They were red and I wanted them to match the rest of the blog, so I made some new ones using teh GIMP. I also changed my picture on the sidebar. I figured a color picture would be a nice change.

Unfortunately, I've been so busy with work and this Greenpeace campaign that I've really been unable to relax. I love it all, but this is one of those time where I sooo can't wait for the weekend to come (and it's only Tuesday!)

Sunday, June 24, 2012

Pancake Art

So, I came across a bunch of delicious looking pancake designs. These look really fun and tasty. I'm going to have to try some of these!

Some of these actually remind me of the smiley face and Mickey Mouse pancakes my mom would make us as kids.

Have you ever tried making any fun or creative pancake designs? Which of these are your favorite? I can't decide!

This one is so cute and looks fairly easy-to-make
Star Wars, anyone?
This looks like a great way to get children
to eat fruit in the morning!
Totoro? Now that's just dang creative!
A bit of food coloring and a ton of
artistic skill and you have an amazing
breakfast you'll never forget!
Have I mentioned that giraffes
 are my favorite animal?
So creative and so simple! Great for breakfast
on Thanksgiving day!
So cute! I almost wouldn't be able to bite into it!
These are perfect because they hold extra syrup! Yum!
This must have taken forever to make.
Pigs in a blanket! Too cute!!

Turtle pancake = awesome!
Okay, this is the coolest idea ever!!
Is it "pancakes for breakfast" or "breakfast for pancakes?"
So these pancakes are pretty awesome, right? Check out some of these weird cakes, for more cake fun!

Thursday, June 21, 2012

Oldies, But Goodies

So it has finally come to this:
I heard Depeche Mode on an oldies station today.
"Enjoy the Silence"

Kind of depressing to find music I know and love on an oldies station. Great station, though.

When did you start hearing your childhood faves on oldies stations?

Proud of This

I am proud of this. That is all. Hoping to repeat this next fall when I take way too many courses!

I'm in:
Biology Seminar
Algebra II &  Trig
Italian I
Ecology & Evolution
General Chemistry
Diversity, Ecology, And Behavior

I'll also be going to Chicago three days a week for ballet. I'm going to continue on as treasurer of the PNC Robotics Team.

By next fall I'll be finishing up my apprenticeship, so I'll have a lot more extra time on my hands than I did this Spring! Plus, since I'll be taking the train, I'll do some homework during the commute.

Wednesday, June 13, 2012

The Weirdest Song I Love

I'm not really all that big on embedding videos into blog posts, but there's this one song that I've found oddly alluring throughout the past few years. I'm not sure where the "pull" is... if it's the lyrics or tune or if it's the music video!

Now that I think about it, the guy kind of looks like the dude who plays Peeta!

"Always" by Erasure.

Tuesday, June 12, 2012

Melbel's HubPages Milestones

As you may already know, I'm a writer on HubPages. There, I write under the name "Melbel." While I joined HubPages in 2009, I only really gained an interest in writing there sometime around January of 2011. As I wrote more, my writing skills really improved. Some hubs saw great success, some never saw the light of day.

This year, I've embarked on a journey in HubPages' Apprenticeship program. While, many of my hubs written before the program still receive MUCH more traffic than my newer ones (they're so new, it's really too early to tell how they'll do), I have a LOT of faith that they're do really well. In fact, some of the hubs I've written last month have already started to show a bit of promise.

Since this post is inspired by MissOlive's Milestone post, I want to follow a bit in her footsteps by sharing a few of my milestones.

Melbel's Milestones

Published Hubs to date: 169 (I deleted a few)
Number of Hubs in Draft: 27
Total Hub views to date: 1,110,498 views
Total Hubs with over 1k views: 70
Total Hubs with over 10k views: 20
Total Hubs with over 100k views: 2
Comments to date: 3244
Followers to date: 1380

My goals for 2012
To reach 1.5M views
To reach 80,000 views per month

Advice from Melbel
  • Keep working at it. You're not going to make ANYTHING at first. I made almost zilch for quite a while. Just keep writing.
  • Don't write poetry or things on "how to do well on HubPages."
  • Write for people coming in from the search engines, not for other hubbers. Other hubbers are nice, but don't really bring you any money.
  • Don't put your amazon products at the very end of your hub. Nest them near relevant text.
  • Only put relevant products in your hubs. Unless your hub is related to reading or the kindle, don't sell kindles on your hub.
  • Find hubbers that write fabulous hubs. Learn what elements of their hubs you love and what makes them so successful.
  • Make friends with other hubbers, but don't get overly involved in "office" politics. There's drama everywhere and there's no need to let it get in the way of your writing.
  • Pay attention to what you do in everyday life. You'd be surprised the things you're able to do with ease that many people have to look up (on Google... your hub) directions for. Things like "how to scrub a pan clean" and "how to check if your water heater is leaky" are things people do in their daily lives... and have already made some awesome hubs!
  • Keyword research every hub you write. Even if you've already got an idea for a hub, you'll want to find some ways to give it the best chances in Google search.
  • Soak up everything in the learning center.
  • Avoid bad/all SEO advice. Just write your hubs and pay attention to what's in the learning center. There are a TON of "SEO" idiots that appear very authoritative. No SEO is better than huge SEO mistakes.
  • Do the WTI. It's the best way to write an article without having to do the keyword research... all the research is done for you, all you have to do is use one of the handy titles given by Simone!

Monday, June 11, 2012

Retro Cycling Jersey... Pour Moi?

I have been thinking of getting one of those more retro style bicycle jerseys, but aren't sure what to get. There are a few fabulous ones that I've got my eye on. At their price, I think I should really only get one.

The Spiuk La Vuelta one is definitely near the top of my list. It's really attractive. Unfortunately, I have no idea what "Spiuk La Vuelta" is/means! That's one I'm going to have to look up!

Another jersey that I found kind of cool was this Chiquita one, but it's a little bit on the flashy/ridiculous side. The thing I don't like about it is that the back is blue and so it does this half blue and half yellow thing which I find kind of strange.

This Zanussi Peugeot one is kind of cool. I really like the colors and it really does have this "retro" look about it that the Chiquita one doesn't really have. I do think the NASA one is kind of retro, though.

The one I want the most is this NASA one (or maybe the La Vuelta one), but it appears that my size is really hard to come by. It's a shame because this is probably the jersey I identify with the most.

There are a lot of other really cool jerseys I found, but these are the ones that really screamed "awesome" to me. Which one do you like the most?

Friday, June 8, 2012

Competing Against Yourself on HubPages

In for a little competitive hubbing?
Here's a fun game for competing with yourself in hubbing:
In track (running), there is this "game" where everyone runs in a line and the person at the very end of the line has to pass everyone else. Once he gets to the front, the new last person in line has to pass everyone (and so on.)

Let's try that with hubs!

What's your lowest scoring hub?
What score does it have?
How can you revamp it to make it one of your top hubs?

Example: My hub "How to Make a Threaded Running Stitch" is a 68. It's really short (only 511 words) and it needs better pictures. I could add more sections and perhaps a video. I will make these changes this weekend and report back in the coming weeks how this hub is doing.

So what hub are you going to revamp?

Note: I know hubscores are somewhat inaccurate. There are fab hubs that aren't 100 and not-so-hot hubs that beat these fab hubs. That said, I think we can all agree that hubs with scores in the 50s and 60s (and below) need a lot of work.

Monday, May 28, 2012

Where It All Meets

For several years I've been chasing a dream. The reasoning behind the dream would change, but the dream never did. When this happens, it really confirms in your mind that this is something important to you. You really think it is something you should pursue... strongly.

I did. At every turning point I would stumble. I would get so frustrated at every wall and give up, even when the walls were easily torn down.

After a while I realized that these were walls I was building. But why? I found the answer and it was more simple than I'd thought.

It was someone else's dream.

I have a dream now. A real one. It's not a new dream, but it's mine.

At first I'd felt pressured to program. Of course I liked computers, but I didn't necessarily want to code. I did it to get close. Then, I used it to impress. I used it to hang on. I programmed to get something back. And, finally, I programmed in anger, as if it were revenge... to show that I could be better. Am I a better programmer? I'm better than I was before by a long shot, but probably not better than anyone else.

All the while I'd convinced myself that I wanted to be a programmer. I just don't.

Do I blame anyone? Yes and no, but I'm thankful for it... and I'm also to blame for it.

I suppose I could use programming in the future and it really helped me not only become stronger in math, but actually love math. I seriously learn more math for fun now! Do I feel like I wasted a bunch of time? Yes, but I suppose that's life. And I don't mean that in a bad way. It really is life. Don't we all stand in line at some point?

The funny thing is that before this whole thing started, I tested an INFJ (MBTI stuff.) Then, during this whole thing, I tested as an INFP. I genuinely did. They say your personality doesn't change, but perhaps your perception of yourself can.

One day, last November it happened overnight. It LITERALLY happened overnight. I seriously woke up in the morning and just suddenly felt different. I suddenly felt good. It was like years of negativity and low self-esteem had suddenly been sucked out of my body. (I tested INFJ again in January.)

I have no idea what made me feel better. I have no idea what made me feel so horrible for so long. I can't say if it was someone else that made me feel so horrible for so long or if it was me. Sometimes I feel as if I could shout from the rooftops, shout it to everyone, or shout it at a particular person... that I really feel good.  I wish I'd been like this, felt like this for an old friend. Sometimes I feel like I owe that to that person... to at least know I'm okay... or to be able to see this wonderful light. Maybe even catch a ray and glow too. And then sometimes I'm buried in deep resentment. That's probably something I'll feel forever. Sometimes I feel like contact was the cause. Do I owe it to anyone to say that I feel good? Maybe. But I also think I owe it to myself to continue feeling good. And so I keep it to myself, to those who sat by my side while I slept for so long, and finally to new friends who will only know who I have been buried underneath black paint for so long.

And I smile. A real smile.

It's been a few!

So, I may write some code here and there. It's something I enjoy with no real seriousness. I'd like to say it's been a sudden stop, but it's been a while to realize this is not my dream. The good feelings started overnight, but this took me a while and then a while to admit.

I think this is ultra appropriate.

Wednesday, May 23, 2012

Domo Arigato, Pool Roboto

In robotics club, we made a robot that "swims" around in water. The intention was to test it out in a swimming pool, but we made do with a pond. This is the frame for the robot. (As you can see, it was difficult to assemble. Just kidding!) It just required a pool noodle, some pvc pipe cut into sections (with holes drills into parts of the pipe.) The holes were for plastic ties we used to attach plastic netting.

We waterproofed the motors with film canisters and exorbitant amounts of wax. The robot was controlled via cate5 cable, so he definitely wasn't wireless. Very primitive, but a lot of fun to put together.

Tuesday, May 22, 2012

Full Swing

Grades came in and I've managed to get an A in each and every one of my classes. So.... that puts me on the Dean's List. That paired with the $$$ from on my my articles going viral in May have given me great cause to celebrate.

On another note, I'm finally writing again. I've only just published my first article for the month. It's a humanities piece. I always love writing those. :)

Things have been pretty awesome lately. I've been doing some traveling (not happy about an upcoming 21 hour layover in Helsinki :( murrrrrrrr....), my cats have been well (Chip's nose has healed well), I've been cooking a lot, and I've even started running... something I never thought I'd be into! Things have been a bit slow on the writing front. It's hard to put things into words, a bit of laziness on my end. I just want to gab lately!

Debating on whether or not I should get a room for that time!

Thursday, May 17, 2012

Alligators? Sweet!

I was away in Florida and couldn't post for the lack of interwebs. I flew out there on a quick red-eye so didn't have time beforehand to warn ya'. :P

So, without internet what is a girl to do? With rumors that the woods/swamp near could have an alligator, I made it my mission to find it. I went out there alone a few times, but walked the top of the wall around the swamp to be safe*. I found that from this point that I could see quite a bit of the swamp, but wasn't close enough to see anything. I'd heard what I was told were alligator grunts, which helped me out with what I previously thought could have been a sick snipe hunting joke.

I saw a lot of big turtles in the water, lots of lizards in the trees, but no alligator. I climbed over the wall, like an idiot and walked along the water to get a closer look (not too close, I stayed on the high ridge so that nothing that was in the water could get me.) With the water on my left and thick bush on the right, something rustled in the bushes and spooked me. I ran all the way back to the wall.

In the night, I was sitting on the porch and heard a loud plunk in the water. I ran and got a flashlight and made my way to the wall where I heard more "alligator sounds." I shone the light across the area nearest to the wall, nothing. In the bush... nothing. I slowly went over the water with the light and an eye glowed back at me. I got a better angle as I walked along the wall. It was her. She grunted a few times while I was out there. Of course, since it was evening, I stayed on the safe side of the wall.

The next say I ventured out to the water, but she was nowhere to be found. I did see a few turtles, though. Since the area is heavily lit during the day, I imagine she ventures further into the woods and comes to the water at night.

So that's what I did on my internet-less trip.

*unless I fell from the wall, then I'd be screwed.

Monday, May 7, 2012

Foreign Language This Summer

I made a goal of working toward learning a foreign language over the summer. Obviously, I won't be fluent by the end of the summer, but I plan on learning enough to get by. I was hoping to learn French since I have a few French books (and already know some French), but unfortunately, they're all packed away in the furthest reaches of the attic. I was able to find some fabulous foreign language learning resources, but they are for learning Italian.

I played around with the resources and found that I'm actually really cool with learning Italian. I might as well since I'm taking it in the fall... I guess I could learn a bit ahead of time! I already learned some. It's just basic phrases like "Gli uomini cucinano" and "Il bambino e l'uomo bevano dell'acqua." I'm having a lot of fun with it. I ordered a workbook to help me get better at sentence structure. I'm finding pronunciation much easier than French, but I am having a few issues with the letter "r", but it's much easier to pronounce than the French "r", so it should be so bad.

Sunday, May 6, 2012

Fibonacci Script in Ruby

I wrote a small script that calculates fibonacci to the nth number. The script doesn't use recursion, but it's still awesome. It's, of course, written in Ruby and it looks awesome. I've decided to make this a part of a series of math related scripts that will do a few things for me:

     a. Teach me better math skills
     b. Teach me better programming skills

If you want to keep an eye on the rest of my algebra scripts, head on over to my Alg-scripts repository. Here, you'll be able to check out all those scripts as they come out. (More coming this summer.) Also, you can keep an eye on my other programming projects (you'll find my GitHub username on that Alg-scripts repo.) Feel free to fork my project. :)

When I ran my Fibonacci script (I chose to display the first 900 numbers), something interesting happened. Here is an image to show what happened. I know that this happens in nature, but in printing the numbers? Interesting, nevertheless.

Saturday, May 5, 2012

Logic Puzzle in Ruby

I wrote a puzzle that kind of takes some skill in the area of logic.

It's essentially a word puzzle that does a small bit to introduce a little bit of Ruby syntax. It's a string made up of characters.

There is one letter for each character given and one character for each letter. Meaning that if { = z, { ALWAYS = z and z ALWAYS = {.

Line 1 is the puzzle string. Do not edit this line or you will mess up the puzzle and you may be unable to solve it.

Line 3 shows syntax for inputting symbols (in this case it's "|") and inputting letters (in this case it's "i".)

Lines 5-7 are comments. You can edit these to look like three, inputting your own guesses at what symbols in the puzzle string mean. Use line 3 as a template. Your best bet is to NOT edit line 3 as, for this puzzle, it's correct. | does equal i. That's a huge hint that makes this puzzle significantly easier so don't edit line 3.

Remove the "#" at the beginning of lines 5-7 so they'll run. You can't put the "#" back in if, or some reason, you want to disable that line of code.

Line 8 prints the puzzle, including your guesses (as long as you've deleted the #.)

Of course, you don't NEED ruby at all to solve the puzzle. You can do it with good ole' paper and pencil.

Friday, May 4, 2012

Writing for May

I've chosen nine topics to write articles on this month which I'm really excited about. They're topics I'm really comfortable writing about, so they should be cake! I've also got a bit of editing to do on articles I wrote last month. (I was in a HUGE rush due to finals.)

Just got done with a little CS schtuff. Now I fear it's just time for bed.

I drew a picture of a kitty that I was going to post, but I don't have my phone with me to take a pic, so it'll have to wait until the next time I post. :)

Thursday, May 3, 2012

"Ahhhhhhhhhhhh" + "h" = "Ahhhhhhhhhhhhh"

Holy cannoli!
A grade came in. I got the HIGHEST A in Speech class. I'm feeling awesome. I should totally have an F since I'm uber shy. (Although I'm getting less shy and I did give an awesome speech.)

Yesterday I was taking my Geography final when my prof said I hadn't turned in an assignment. I told him that I promise I had. He said I could redo it, which I promptly did. When I was just about to email it to him, I saw that he'd emailed me and said he'd found it and that I'd received a 96 on it. I should have an A for the course, but that grade hasn't come in yet.

Right now I'm studying for my maths final/looking at funny cat pictures/listening to music/playing on my iPhone/browsing reddit. Srs biz.

Listening to "Silver Lining" by Rilo Kiley

Monday, April 30, 2012

Week 2

Week 2 of my summer courses with Stanford just started. It's also finals week at PNC. Right now I'm juggling six classes, work, and volunteering. In a few weeks I start my third summer course, but I'll be done with PNC until fall. I'm mentally exhausted, but this stuff builds character, right?

I just got done figuring (or at least attempting) my grades for the semester, as it closes. I have a solid 'A' in Speech. This surprises me as this is the class that I'd figured I'd do the worst in, given my shyness. English 102 could potentially give me a B, but chances are it's an A. Algebra is really up in the air. My grade in that class could be anything. I could still get an A in the course, but I will have to really work super hard. Geography is kind of at a see-saw between an A and a B. I definitely would like an A, like with all my other classes, I'll have to wait and see how it goes.

Tomorrow is my first final, fortunately it's in the evening. I've also got two articles due tomorrow, which brings me to my eight required for the month. I've already got the topics selected, I just need to write them.

Wednesday, April 25, 2012


So my Stanford course (CS) just started. Things are due the day of (most) finals at PNC. I also still have four articles due by the 30th. I've mainly got outlines for those done. No math ones assigned for the remainder of the month which is good. Got some oddball ones... a linguistics one, gardening, the Titanic, and a travel one. Next month is probably going to be all employment topics. :)

Just started a new volunteer job which, perhaps, will make summer somewhat interesting, two summer courses... one doesn't start until July. I might add another course, depending on what my advisor says. Basic Drawing. And... I've gotta' work, too, of course.

Coffee will power me through it. In fact, I'm actually already dead. All physical movements are chemical reactions due to exorbitant amounts of caffeine. Ooh! Like a zombie. Except not a brain eating zombie. More like a zombie who is getting an education... so sort of the opposite.

Friday, April 13, 2012

One of My Linguistics Articles Went Viral!

The last week has been a real surprise! Last Thursday, I started receiving a large bit of traffic on one of my articles, which is unusual, but not unheard of. I was definitely excited, but expected it to wane over the next day or two. However, traffic went through the roof and is only just now subsiding a bit!

Thus far, I've receive 64,000 Facebook likes on my Michigan Accent article alone. There were also several hundred tweets, Pinterest pins, etc. I'm definitely excited about this! Since the article contains links to a few of my other articles, those articles have also received several thousand views a piece.

I know my traffic will go back down to normal within the coming days, but it's always nice to have a jump in traffic (and earnings.) Maybe it'll strengthen my subdomain! :)

Saturday, March 17, 2012

How to Identify Bad SEO Companies & SEO Scams

Having a website is a great way to spread the word about a company, but without proper optimizing, a website may never be found in the search engines. Search engine optimization companies work to bring websites more traffic by improving the site's ranking in search engines.

There has been a lot of negative press about SEO, in general, and it's because of SEO scams and terrible SEO companies. While there are a lot of scams in the SEO business, search engine optimization is still an extremely important aspect in building a website. This is why it's important to give a lot of thought in selecting a company to do the work.

Bad SEO companies work under the assumption that business owners know nothing about the Internet. All the company has to do is dazzle with graphics and use a bunch of flashy tech jargon to convince business owners that they know what they are talking about. However, by understanding what red flags to look out for, it's easier to confidently select the right SEO company for the job.

They Guarantee a Top Ranking
While there is a lot of appeal in a company that can guarantee a top ranking for a great keyword, this is impossible. An SEO company cannot guarantee this -- AT ALL. Many scam SEO companies blatantly say that they can get a website ranked for amazing keywords, but there is no guarantee, even for the best SEO companies, that this can happen.

Some companies go so far as to say that they have an inside person at Google who knows the algorithm. This is one of the oldest tricks in the book. Sadly, this is a really appealing promise, so many of these companies make a fortune with their "guarantees."

One-Size-Fits-All Packages
Different websites have different needs. Because of this, an SEO company cannot use the same exact methods for one site as they used for another site. The work required for site optimization for one website will likely be totally different because of varying content management systems (if a site even has one), what optimization has already been done on the site, and even because of the wording on a site. Furthermore, a site may require many more (or less) backlinks in order to rank based on what keywords are selected.

Many companies sells packages such as "on-site optimization and 100 backlinks for $600." While it is likely the company will actually do the work, will 100 backlinks be enough? Does the website even need 100 backlinks? A good SEO company will research a website and its keywords in order to custom tailor a package that fits that particular site.

Their Idea of Backlinking is Article Directories
The best backlinks come from reputable sites, however, it takes a lot of work to get a backlink from a reputable source. For example, writing an excellent press release takes a lot more work than just churning out a quick article. It's also more difficult to get access to great backlinks. Because of this, many SEO companies resort to article directories and even link directories as a source of backlinks.

Link directories are perhaps the worst places to get backlinks and article directories are not far behind. Having a handful of articles floating out there isn't a bad idea, but they should mostly be at reputable sites. Any articles should be well-written and should offer interest to actual readers (not just for the search engine to see the link.) A good SEO company will help a business obtain reputable backlinks from a wide variety of sources including press releases, blogs, news articles, and more.

They Don't Rank for Anything
Many SEO companies don't actually rank for anything themselves. While many keywords are nearly impossible to rank for, the company should rank for something semi-competitive. By finding out what keywords an SEO company is trying to rank for and seeing whether or not they rank for them, it's easy to find whether or not the company is worthwhile.

It's very important to note the keywords the company ranks for. If they rank for competitive keywords like "INSERT_STATE_HERE SEO", then maybe it's a good company, but if they only target and rank for something extremely long-tail that nobody searches for like "We do SEO in our underwear" then look for someone else.

They Sell Mass Quantities of Backlinks
Along with the one-size-fits all packages, many bad SEO companies like to just sell backlinks. How does this make them an SEO company? The only thing they offer is backlinks and no insight as to whether or not they will do any good for a specific website. While many of these backlink packages seem reasonably priced (100 backlinks for only $35!!!!), many of the links purchased are actually worthless and offer no real value to a site's SEO efforts.

The folks at good SEO companies are fully aware (and will even tell business owners) that the quality of backlinks is a billion times more important than the quantity. A good, strong backlink from a reputable source will far outweigh any mass package of tons of easy to obtain back links.

They Won't Reveal Their Methods
Tons of SEO scams work under the premise of "our trade secret." This is code for: we won't tell you what we're doing. SEO isn't a huge hush hush secret. Why would a company hide what their doing? It's a fairly simple, yet extremely monotonous process:

Figure out what a website needs
Come up with a plan for the site
Do any needed site optimization
Monitor progress
There's no reason a company should hide what they are doing for a company's website. Business owners should be be allowed to play a role in the planning process and be 100% aware of what techniques will be used.

A bulk of SEO companies love to hide behind the phrase, "trade secret," but there is no reason for this. There is an enormous amount of information on search engine optimization on the Internet freely available at anyone's fingertips. Why all the secrets?

There are a lot of SEO scams on the Internet, but that should not deter a a business owner from looking for someone to optimize their site for search engines. Search engine optimization, when done right, is an amazing long-term marketing method.

When looking for a company to do SEO, it's important to do the research and ask questions. Before working with a company, look them up in the Better Business Bureau. By getting the facts about a company before doing business, it can make all the difference.

Tuesday, February 21, 2012

Disguising Load Times w Information

So I'm writing a script that essentially allows people to enter a url of their writing profile on a particular site. The script will then give them a list of articles that don't meet their own quality specifications and also provides the writer with fun facts about their writing. Users can customize some pre-set specifications. For example, the word count specification, which defaults at 1000 words, can be set to equal 700 words. Then, the user can see a list of articles they've written that are under 700 words. In addition, the script will show users their average word count across their entire account.

I have a few problems with the script. One of the larger problems is that for users with large account (500+ articles), the load times are ridiculous. I would like to kind of disguise the load time by offering information about articles as the script is running. As is, nothing is able to show up until the script has completely run.

I would like the script to show on-page, the current average(changing with each article), the number of articles the script needs to comb (or at least a % complete), and a list of the article that don't meet a particular qualification as it fails.

Currently, my script takes ALL urls and opens them, puts the words into a hash of arrays and does word count calculations from there. Since much of the load time is in opening urls, pulling and cleaning text, my current design does not really allow for giving information during load time.

Here is the current script.

Another problem is the way in which I count words. It's way off. I've got to work on that, but I've already got a solution in mind. I just need to implement it.

Edit: Unfortunately, at this time, HubPages is testing several different layout changes. Because of the way in which I wrote the code (picking out bits of CSS), I've decided to hold off on this project. When HubPages calms down with the design changes, I will continue with the project. See you then! (June 2010)

Friday, February 10, 2012

Why Search Engine Submission Can Be Harmful

The first thing many so-called SEO "pros" do when they create a new niche site is submit it to all the search engines. This act seems to make sense, because how else is the search engine going to know the site exists? There actually is a way for search engines to find out about sites other than search engine submission, which is covered in this article.

In actuality, the practice of search engine submission, however common, may be harmful to a site. Many SEO firms even offer search engine submission services for a fee. This is a good sign of an SEO firm who either doesn't know that search engine submission can be harmful (which shows they know enough about SEO to be harmful) or they don't care about the needs of their customers.

#1 It's a Waste of Your Time/Money

It can take hours to submit a site to all the popular search engines. We're talking Google, Yahoo, Bing, Ask, etc. Don't forget foreign search engines, either, as they can account for a large chunk of traffic! Those who like filling out forms, solving CAPTCHAs, and clicking verification links in email would LOVE search engine submission. There are also many sites that allow, in one web form, for users to fill out some basic information and submit their sites instantly to several different search engines. Don't forget, you're still going to get to click on verification links in emails.

Some SEO firms offer this as a service. They may do this manually or use a form that does the submission. Either way, it's still pointless. Some offer this for prices as low as $10 on up to $150. The average price for this, however, is $50. To me, $50 is a lot of money for something you don't really need. $10, at that, is a lot of money for something you don't need.

#2 Being Indexed Doesn't = Traffic

Just because a site is in a search engine, doesn't mean that it will get traffic. When was the last time you've searched for something and looked further than the first two pages of search results? Usually, when I make a search and don't see what I'm looking for on the first page, I edit my search terms and search again! This is what SEO is for. A site that has been properly optimized for SEO will place on the first page of the search results for a particular term.

There are literally thousands of sites that are in the search engine that seldom get traffic. This shows that it's not just about being in the search engine, it's about being at the top! The best way to get in the search engine is to get back links. When a website is linked to, even on your MySpace profile, or in a public Live Journal post, a search engine is going to see it and say to itself, "Ooh, this is new, I'm adding this." When the search engine finds a link to your website somewhere else, it begins to think, "Wow, this must be important," and it starts to rank the site higher in the search engine.

Anyone who knows what they are doing when it comes to SEO will not waste their time submitting their site to a search engine. Search engines WANT to index as many sites as they can! By spending time doing SEO and making a site the best it can be, your efforts in these areas will pay off many, many times more than spending the time telling search engines that your site exists.

#3 It Can Harm Your Marketing Efforts

Search engine submission either costs time (which could be used to get back links) or money. Remember that time is also money. Also, rumor has it, that some search engines (such as Google) see a search engine submission as a sign of desperation by the webmaster and thus docks the website for this. While this is just a rumor, it is a real clincher when it comes to whether or not it's a good idea to submit a site to search engines.
Because it is a waste of time, a waste of money, and has possible negative effects to SEO work, there really is no point in investing anything into search engine submission. If it's a decent site and has back links, it'll be indexed in the search engine in no time!