The Future Of Search Can Be Found In Dungeon

Earlier today, I made a comment asking, “Could it be that Zork* is the search of future,” then deleted it. Louis Gray ended up calling me out on the deletion, which was for no real purpose other than not wanting to fully explain myself. I might as well lay out my thoughts on what I meant, lest I forget it.

A problem with search currently, is that we’re being trained to speak to the engine, with a penalty to using regular phrases as your query strings. Various terms are stripped from the query strings, and you end up with items that aren’t relevant or hardly related, when you just haphazardly place your key terms in.  This is an issue that I find frustrating; I often end up banging around for hours on end trying to get proper query terms to bring me the results I’m looking for. Search is simply hit or miss, even for the new guys, such as Blekko and DuckDuckGo, trying to beat the incumbent which is Google. The new guys have better quality, but it does come at a cost of having special syntax, Blekko with the slash modifiers and DuckDuckGo with the bang modifiers.

Why don’t we have a search system that uses a more intricate text parser, to parse the queries. It’s obvious that we have the technology, just look at how amazing the parser for Zork and other text-based adventure games were. Why can’t we use grammar that we are used to, and let the software parse the elements out, where necessary? Simply put, I’ll trade off the ability for instantaneous results if you provide a simple text parser that makes it easier for me to input my queries in a more natural form.

Let me put in something like one of these:

  • “Louis Gray’s latest post about Friendfeed.”
  • “Most recent blog post from Louis Gray about Friendfeed.”
  • “Latest blog post on louisgray.com containing Friendfeed.”

All of those should return similar results, but they all share a common set of elements, that humans often have to convert into their queries if they want to get a valuable response. A decent Google query for this would look like, {site:”louisgray.com” Friendfeed}, but this requires that you also select an option outside of the query box, to narrow it to most recent. All of those queries I would like to use return very noisey results, even the modified query is noisy, and is more closely related to “containing” than about.

My question is why don’t we have a text parser, probably client-side, that helps us out in getting the content we want? If you look at my preferred queries they break down in to relative elements.

  • A source. Signified by ”s,’ ‘from,’ and ‘on’ in the relative examples. They all signify that your looking for something from Louis Gray, in some form.
  • A temporal modifier. Signified by “‘latest’ and ‘most recent,’ in the examples. Signifies that the period is a significant element of your query.
  • A  source modifier. Signified by the ‘post’ and ‘blog post, in the examples; easily could be Tweet, Status, Image, to search for.
  • A search method. Signified by ‘about,’ ‘containing,’ or ‘with.’ These signify how the elements that follow should be interpreted.
  • A set of query elements. In my example I only used Friendfeed, but it is what follows the search method signifier.
  • A system of set logic. Using ‘and,’ ‘or,’ or ‘commas,’ as a way to modify the way the sources and queries are handled.

Why aren’t we using this now? Sure, some of what I suggest is harder to manage, because it requires the ability to know who Louis Gray is, and what sources he has, but this only requires having a somewhat decent image of his set of profiles. Google happens to have just that, as do many other aggregating services, but Google has the power here, being a search provider. I don’t know if it will enhance the results we receiver from such services, but wouldn’t it be wonderful to talk to the system in a way that is at least halfway normal, and get decent results even without a solidly designed query.

Search providers please give us a half decent text parser, even if it’s only as advanced as that of the 70’s. Hell, it’s already common enough to see simply text parsers that pull hashtags, and @user strings, and converts them to links. Why not something that takes a more English approach to the query, and does the conversion for us to get the perfect query strings, that the system wants?

“What a (ahem!) strange idea!”

Notes:

*= Zork’s original title after completion was Dungeon, but a trademark violation saw that it was changed back.

The Simple Styleguide I Follow

I was asked to provide an overview of a project that I was working on and I ended up providing a style guide in the overview documents and thought it was worth sharing. It’s in no way all encompassing, but it provides a good core for self documenting code, in my opinion.

Simple Styleguide
Naming Conventions
-   Files
   -   Always lowercase
   -   Words seperated by an underscore
   -   Controllers
       -   Named after the functional  area they are meant to add
   -   Models
       -   Named after the table they access in the database
       -   Tagged with a _model to denote the file as a model
   -   Views
       -   Named after the controller which requires that views
       -   At most 1 primary view per controller
       -   You can provide a sectioned views using the sections folder
       -   Sections should be stored in a folder named after the primary view
           -   e.g. /views/sections/{primary view name}/logged_in.*
       -   Tagged with a _view to denote the file as a view

-   Classes are capitalized version of file name

-   Function/Method
    -   Words seperated by an underscore
    -   Generally use a verb at the beginning to describe functionality

-   Variables
    -   Normally named after the field they access
    -   Create model objects as m_{model name}

Spacing
-   Indenting
    -   Uses spaces instead of tabs, 2 or 4 spaces
    -   Classes
        -   Brackets start on next line at the same level as the class
        -   Brackets end on the same level as the class
    -   Functions
        -   Brackets start on the next line at the same level as the function
        -   Brackets end on the same level as the class
        -   Add a new line to split functions up for readability purposes
    -   Control Blocks
        -   Brackets start on same line as the beginning of the block
        -   Provide one space between the end of the logic and the bracket
        -   Brackets end on the same level the control block

Extra Bits
-   Functions that have a similar focus should be close to each other

On Suicide and Negativity

This was published by accident, and as such is lacking in the actual content I wanted to add, so I’ve added an addendum. I’ve also thought of taking it down, but some people responded positively to it, so I’ll keep it up with only minor editing.

I have been thinking quite a bit about suicide lately. Just thinking about it, it’s not something I could follow through on, anymore. Life is absolutely worth living. It has caused me to make changes and continued thinking about what I’m doing and what I should do. It is also a leading edge in my personal views.

For some background, I’ve made 3 serious attempts over the last decade, though the last was over 4 years ago.

My first was when I was 11, at school; one day the teacher walked out of the class room and I climbed into the second story window, and leaned back to roll out onto the sidewalk. Luckily, two other students grabbed my arms just as I had leaned back, pulled me back in, and convinced me it was stupid. During this period, I also used to drag my head on the ground while swinging trying to use the force to snap my neck.

The other two attempts occurred when I was about 15 or 16, once with a gun, and another jump attempt. I took my stepfather’s .22, off of his workbench in the garage, out into the woods, and sat there thinking about what I would miss for a few minutes. I then placed it up to my temple and pulled the trigger. Nothing happened. My stepfather, keeps the magazine empty and the chamber clear, when it’s not on his person. I walked back to the house, placed the gun back on the bench, and went into my room and cried myself to sleep.

The other time, I walked out to cliffs near my house, and down to a little bench, that we used to look at the river from, because it was clearer there. I got ready to jump, but again decided to think about what I would miss, and sat down and thought about my girlfriend at the time, who was also suffering suicidal tendencies, and how much that might affect her. She had lost an ex, on her birthday a few months earlier, when he hung himself. I decided to walk away from this one, but almost accidentally succumb due to the slope getting back off of the shelf, and the leaves slipping from under my feet. This was, and will be, the last attempt I ever made.

I realized at that point, that my actions are selfish. I don’t just take my life, but I could ruin so many others. I also realized at that point, that death isn’t to be feared or fought against. To deny death, is to deny life. Life is to be enjoyed and filled with happiness.

My job of filling my life with happiness is often harder when I add socialization to the mix. I don’t like when people fearmonger, it’s one of biggest gripes, because it creates a negative mindset. I also try to avoid those with negative mindsets, because it doesn’t help anyone. Being positive, but even more so realistic, is the best that can be accomplished. Lately I’ve seen so much negative thinking, it’s bringing me down, and making it hard to keep the thoughts down.  Also people who say I can’t, make me sad, because I am filled with hope for individuals, and it shows that they aren’t filled with hope themselves.

*Addendum*

I am an optimist through and through, but I’m also a pessimist at heart; this makes it easier to tear things apart and find a solution. I see potential in everyone, this is why, “I can’t,” annoys me so deeply, and even I am prone to excuses, but I loathe them, and try to find ways to subvert them in myself and others. I only turn my back on people, when they take advantage of me or others, to my knowledge. I also realize that life is filled with negatives, and these can make it seem like you can’t, but there is often a way to spin the negativity with optimism or ignore it, if there is no real ramifications to that ignorance.

“Just be…” The only time you have is now. Be happy. Be inviting. Be courteous. Be free. Be you.

*Addendum fin*

I just don’t have time for negative space, and negative thoughts and arguments. So I’m done with it.

Living Last Mile

I apologize for any cursing I do, this is an issue I fight with daily, and it’s a ridiculous one.

I live in semi-rural WV, but I also live without adequate access to information, at a nominal rate. In order to get an internet connection, where I live it costs roughly $50 on top of a phone bill for 768kbps ADSL. There is also no means of getting television, besides paying for satellite service, which also doesn’t come with local channels f or some absurd reason. Ever since the Analog-to-Digital transition in June ’09, the reception which is known to be bad in mountainous areas, dropped completely off the map, because it became an all or nothing signal.

What you end up with is exorbitant costs for minimal service, even though people within a mile, have no such issues; cable is provided along the main road on the backside of the property, but it’s about 3/10th’s of a mile. Currently, the two bills are $80 for TV, for mid-range satellite service, that isn’t 2/3 Christian broadcast, receiver rental, and 2 broadcast station feeds, that should be locally provided, and $65 for Phone & Internet. It pisses me off to know that just because we live just outside, the service area of the cable companies, we are charged out the ass.

If our house was moved less than half a mile, we would have a more stable internet connection that is 10x as fast, basic enough tv with local stations, we really only need broadcast stations. For about half the price. This needs to be addressed, as well as anti-competitiveness in areas, companies trade off in areas and create virtual monopolies on local markets. I’m just frustrated at how close, and yet how far the access to information is, and I also know that I’m not the only one in the area that feels this way.

Our nation, has turned its back on those that live last mile, and the infrastructure required to provide its citizens decent access to information. We are solidly driving forward, in improvements, but those improvements are generally within the large metro areas, where they see maybe a 2x increase ever 3-4 years, while those living last mile slip further behind. I understand it’s not feasible for the companies to create the infrastructure, that they won’t see a return on any time soon, but there has to be a way to improve our nations information infrastructure(IPv6 should be included).

Super WiFi is probably the only decent technology for this area, considering everyone is stretched rather thin, the infrastructure costs would be lower, but that’s not a likely roll-out option for at least 4-5 years, if not a decade. That’s how slow progress is, when you’re living last mile. It’s infuriating to see improvements so close, and simultaneously know that it will be held right in front of your face, but out of your grasp.

25 Ideas To Live 25 Hours A Day

1. Sleep is unproductive and a waste of time.

Every hour you spend sleeping is one fewer hour you get to truly spend living. One hour a day is more than 2 weeks of extra time, every year. Obviously, taking it too far isn’t healthy, but a 4-6 hour night adds 1-2 months to your conscious living every year.

“Sleep is unproductive and a waste of time.” ~ Louis Gray

2. Be Childish.

Never take yourself too seriously, life is too short. Enjoy every moment, and don’t block your own path. Spend your time with making memories and friends.

“If it seems a childish thing to do, do it in remembrance that you are a child.” ~ Frederick Buechner

3. Acknowledge the inevitability of death.

Sooner or later we will all die, fighting for survival is ultimately a losing battle. Stop fretting, and focus on every moment you have in the present.

“This is your life, and it’s ending one second at a time.” ~ Fight Club

4. Money is less valuable than time.

There is no way to gain more time in life, and the clock never ceases. Stop trading your time for more money than you need, if your time is more valuable.

“Time is money says the proverb, but turn it around and you get a precious truth. Money is time.” ~ George Gissing

5. Ignore the little things.

Do only the 20% most import things or those that you feel will have the biggest return. The time and energy you save, can be spent on the things you really want to do.

“20 percent of focused effort results in 80 percent out come of results!” ~ Vilfredo Pareto

6. Never be afraid to challenge the ideas.

There is no reason to let anything stop you, particularly yourself. Rules are roadblocks with 3 options: follow the rules, break the rules, find a way another way around the rule. Choose your own path in life, and never stop learning something new.

“The Way of Mastery is to break all the rules—but you have to know them perfectly before you can do this; otherwise you are not in a position to transcend them.” ~ Aleister Crowley

I’ve Lost My Value, Now I’m Taking It Back

“Extreme hopes are born from extreme misery.” ~ Bertrand Russell

Somewhere along the way, I succumb to the narcissistic nature of man. My life has shifted into being about me, even though that is most definitely not what I wanted. When I first started focusing on Social Media as an outward motion, in August 2008, I set a goal, post at least one tweet a day. I later changed that goal, in October 2008, to pushing out a positive motivation, because it was what was necessary at the time, with the collapse of the financial sector. I also always tried  stepped out of my way to throw out a tip, or assistance when I had an answer.

I still try to help people with their questions or problems, but I’ve also  begun injecting my stories on top of their stories rather than listening. I’ve reversed my value proposition, I’m not listening anymore. I answer rhetorical questions. I project myself into stories. I fail at doing what I was good at. Listening.

I look at what I’m providing now, and it’s weak. I’ve become apathetic to just about everything. My passion towards life has been drained, to the point where I have to get that quick hit of social media bliss, a simple rise, a reaction at any cost. I need to change, something, anything, everything. I need to figure out what I want, from life. Life is short, too short, to live emptily.

“The fear of death is nothing compared to the fear of having not lived authentically or fully.” – Frances Moore Lappe

Starting tomorrow, I change back into Jimminy the Cricket, as much as I hate being called Jimminy Cricket. I will become the listener, again.  I will focus on my value added, and my value taken. I will skip the cheap laugh, reserving respect. I will be happy; it’s a hell of a lot easier getting through life when you’re happy, even when times are rough.

At the center of your being you have the answer; you know who you are and you know what you want.” ~ Lao Tzu

What Made Facebook Special

Why did people join Facebook; what made it special?* This is a though I have so often, it’s become funny, but my answer has never been precise enough, “critical mass.”

Critical mass doesn’t tell you anything, except that they manage to get enough people to use it, and as more did, it became almost invaluable to the rest. The problem with such a simple, and ignorant response is that doesn’t really help to understand how they generated that critical response anyways. That’s the real question that needs to be answered.

We all know about FaceMash, and the exclusivity presented by the college email restrictions in the beginnings. I think through every phase of the company it has held momentum by voluntarily limiting growth, and strategically raising the level of suspense, and necessity via critical mass in various markets.

One quote paraphrased as I remember, “When we went to add Baylor, they wouldn’t allow us on campus, so we went to all of the surrounding schools, and added them to the network. In effect, we built the demand within Baylor by adding most of their friends from other schools to the network, and then expanded to Baylor.” [Editorial Remark: It was from The Facebook Effect. The paragraph was about the “surround strategy.” Also, I originally thought it was BYU, and not Baylor.

I find that brilliant, they built demand in the market, before releasing in the market. The same can be said of Mark’s original FaceMash, which provided him with enough notoriety and acknowledgment within Harvard to release Facebook, as well as providing access to a tool that helped to keep up with your friends.

The whole reason I brought this up is I started thinking about how my friend made me create a new account** when I got to WVU, ‘because everyone uses it.’ I find it interesting that it had created such a critical mass at that point in schools, and it seems to have managed to maintain critical mass among it’s markets this whole time, I find it simply amazing.

Notes:

* = More general “Why did/do people use/join/verb X Company?” I ask these type of questions all the time.

** = I had one for a week or two in HS, because I got tired of fighting the school admins with proxies to get to myspace, and couldn’t remember how to access it.

(Original written January 29th, 2011)(Last Edited March, 17th 2011)