Thursday, October 28, 2010

The Internet Explained


source:  Image originally obtained from here.

Tuesday, October 26, 2010

Twitter/ Identi.ca Project Ideas Part 2 ( AutomatedAgileDents )

so project 2.. which is the more sensible idea.  AutomatedAgileDents (initial wiki drafts).

Let's consider this in part parts.  


Part 1.  Input source:  Lets say identi.ca and twitter initially.  Identi.ca has more practical applications since it can be hosted internally.  (and is actually usable for itch I want to fix). 


Initially I was thinking of just a time management plugin/tool.  Given a user's public feed, in a specific format say:  Project: Task : Comment   which would account for the user's current task being worked on.  Or alternatively we could use the !group tag.  Though establishing hierarchy would be difficult. 


And a given a time period for example....   1 day, 1 week, etc... fetch all the the tweets and format them appropriately. 

Part 1 problems:  Ideally, I'd like to find something I can use where the user can write a simple template file that the core program would use to establish the parsing rules it will use when reading tweets. 


Part 2:  is the core program, takes in all the tweets, strips out what's not needed, and formats in the appropriate format.


Initial API that is more fitting to our needs? 



Part 3:  is the transport....   for my case i'd like the tweets matching the my user's info... for the time period .. maybe provided in my own in house API



Web Service Transport:

You could in theory have multiple transports.. so I can register a web service API that receives my message...  and pushes it to the appropriate host, translating it to JSON, XML, or whatever format is needed.  (example..  Tweet I need to see the doc on Sunday, push a web service request to your dentist requesting an appointment)


Wiki Transport

Format content according to <insert markup language> and publish to wiki.. or email to listserv.



(S)FTP:

Take the text, format it in... <choose format> and push to site.



Notes:  Do we want to have a pre-processing ?  Format my messages as MarkUp?  LaTex?  HTML?   

Twitter/ Identi.ca Project Ideas Part 1

So this project is mostly motivated out of a sheer laziness on my part. 

Talking to a few people I've gotten two potential ideas now....

1. idea which I'm not sure if there would be much use out of it or not.. is to allow some form of encoding.  ie.  Read a user's twitter feed given a starting tag in one of his messages  ie.  ==BEGIN== (or something more intelligent) followed by the message.. and keep concatenating the messages, interpreting html tags maybe and such for formatting, until a closing tag is found.  So I can push a 10 page essay divided into 140 chars bits and be readable on the other side, and be transparent to the user.. maybe click here link to link that stream to tweets as a single document.

the real question is why... twitter will probably spit fire at you if you do this.. and kill their already overloaded servers.. probably more applicable applications would be in an internal status.net server. 

Mainly, I'm getting really annoyed with the 140 char limits.. I'd like to be able to express a proper idea without having to sound like a mentally handicapped teen.  I can type full words, but I find myself using silly acronyms like 2 and ur and removing spaces in order to tag and fit the full idea across the 140 char.  If enough clients supported this new theoretical format..   then we could write full sentences and express a coherent thought...   this seems like a practical application of the project.  a 10 page essay via tweets is just silly..but it would be a fun little exercise just to watch smoke come out of twitter.. especially if enough users adopt it.

Saturday, October 16, 2010

Arch Linux vs Ubuntu

I have a very .. vivid love and hate relationship with Ubuntu.  Many times I love how easy Ubuntu is.. other times when it tries to bypass me and make up its own mind on how to do things for the sake of ease of use..... it does provide some strong incentive to throw my laptop out the window for the sheer amusement of seeing it being destroyed and shatter in 1000 little pieces.  Sadly, it would involve destroying my laptop as well.  :(
That being said.. I wanted to write my attempt at an unbiased comparison between Ubuntu and Arch.



Ubuntu:

Pros:
  • It is designed to be stupidly easy to use.  One of its strong selling point is that it just finds all your hardware, sets up your networking, and allows you to easily configure your operating system through a nice pretty and shiny brown...uhmm.. purple interface.
  • It seems that when someone says "Linux Support" these days it means Ubuntu more then any other distribution.  Fedora coming in a close second.  The ability to install .deb file makes it very easy to obtain and install certain software.  Goolge chrome for instance is not available for Linux Arch.  The Open Source version, chromium though is.  There are many packages that you'd have to write a PKGBUILD in arch in order to get it working under arch, or simple compile from source.
  • A huge community of support.. in theory
  • Theoretically the ability to buy a dell computer with Ubuntu would also provide you a phone number to call for technical support.
  • A large collection of software is available via apt-get/ aptitude
Cons:
  • Its designed to be easy to use.  So if you try to do something advanced.. you end up fighting the operating system.  Ubuntu Server works a bit better then the desktop edition for this.  Network Manager turns into an abomination from hell.  Disabling certain services like pulseaudio in favor of Alsa for example is a pain.
  • KDE support is minimal and is very much an after thought.  If you want to use KDE I would stay away from Ubuntu and Kubuntu.
  • If you run KDE or Gnome you're running the Ubuntu version of the window manager, not the upstream version.
  • Community support is probably one of the largest in the Linux world, the problem is that because much of the audience is very new to Linux you get a lot of bad advice.  Many of the solutions involve the GUI rather the giving you the proper way of fixing it.  Many solutions for KDE/ XFCE under Ubuntu based distributions turn into apt-get install ubuntu-package in order to fix a KDE/XFCE problem.  This is getting a bit better and it is very annoying to have to install 10, 50, or 100mb of dependency to fix a very simple annoyance.
  • If you want to stay away from the GUI for the most part and setup your OS via the CLI, Ubuntu makes it particularly difficult (granted this isn't an issue to most non-me users)
  • In my opinion a con:  6 month release cycle.  Updates are fairly slow to get to the end user unless you're running the alpha/beta.
SideNote:
As a side note.  I haven't given true debian a fair attempt in a while.  But the last time I tried it they made installing proprietary closed source software painful.  Things like sun's jdk, nvidia drivers, mp3 support was more complicated then I wanted it be.  I didn't like spending that much time setting something as rudimentary as java support.  Base on the very cursory look I gave debian recently, it seems to have added Sun's JDK into the repos, so debian might be worth a closer look if Arch isn't your cup of tea.

Arch Linux:

Pros:
  • Very clean, polished, simple distribution.  Everything is configured via the command line initially.  There are gui wrapper tools available, but for the most the CLI is the way to go.
  • Optimized for modern architecture.  I believe Ubuntu is compiled for i386 or above.
  • Rolling release.  Everything is release as it comes out.  Author makes an announcement for a new version of his software, it gets test, compiled, and packaged usually within a few days of release.
  • Creating your own package is incredibly simple in arch.  After working with both .deb and .rpm packages, I find aur packages simplicity so beautiful.  Everything is transparent and you know what is being done by the package.
  • Fairly well documented wikis / forums.  Not as large as the Ubuntu community or as good as the gentoo wiki used to be, but the content is usually better the the Ubuntu forums and less noise to filter through.
Cons:
  • Lack of packages.  Pacman the main package manager does not have nearly as many packages available as Ubuntu's repos does.  Some packages cannot be installed under Arch because no source is release, or the binary are provided as a.deb and built against different/older version then what arch comes with.
  • No easy rollback ability.  If the newer package breaks something, its not a simple task to rollback a package.  There is no support for installing older versions.  I don't believe that apt-get has this ability either though there are a few exceptions where the issue is solved using virtualpackages + multiple packages.
  •  
    Rant:


    I have a strong bias against gnome these days.  I find that creating features that are not accessible via the GUI is silly.  Then telling the user that in order to fix or enable this feature you need to run gconf2 and change some obscure flag to some even more obscure hexadecimal number is not a proper design.  Choosing "sensible" defaults and leaving everything out I find condescending if not insulting.  One of the bigger selling points of Linux is about choice.  You have the freedom to customize your environment, choices are not forced upon you.  *cough* mac, windows *cough*.  Actually, even windows provides more versatility to the end user then gnome in some regards.  If nothing else, the registry is better documented then gconf.
    Now.. to be fair.. Ubuntu inherits a lot of the work that Debian does.  Ubuntu is horrible at committing back upstream, but you tend to have a ton of packages supported.  So when trying to get closed source programs like skype to install, or chrome.  odds are that there is a version already packaged and available as a .deb for your architecture.

    References:

    Many of the views expressed here are my own personal opinion, experiences.  Feel free to try both distributions and any other and find your favorite one.

    Legal Threats, Lolz

    Google Rants


    So.. Random thought spurred on by a conversation on IRC.

    Given that so much information is online and google particularly.  Half the responses to most problems, particularly technical ones tend to be to "google" this.   Yes, we've turned a company into a commonly used verb in the english language.

    Give the amount of market data they have about any one individual, particularly one that uses a good bit if not all of their services; it would be feasible for them to develop fairly elaborate psych profiles.  Based on your web history, your entire email history for the past few years, pictures, webchat logs, friend circles (gchat).  It would not be inconceivable that patterns of behavior can be extrapolate that would predict certain actions that an individual has yet to take.


    Now, I'm not using any particular definition ....but you have a non-corporal entity (a network of cables, hard drives, and switches of information that mostly live in the cloud).  That has the ability to look into the future, and predict world events based on its data pool, If so desired, could easily manipulate the direction of world economics and politics if it had any interest to do so.  A simple omission of a particular topic could help mitigate a problem, or lead the sheep to a new direction which favors a particular party.  (The Chinese version of google proving that google has the ability to filter/prevent certain content from being exposed to a particular subnet/racial/local group).


    So, let's re-cap.

    We have a

    1.  Entity that sees into the future.
    2.  Capable of manipulating world events to shape the course of human history.

    For the sake of coming to a conclusion and to not having rant about this, I've chosen the definition of a Greek god.

    per:  http://www.thefreedictionary.com/Greek+deity a deity is defined as:

    "any supernatural being worshiped as controlling some part of the world or some aspect of life or who is the personification of a force"

    computers, clusters, and cloud computer are supernatural enough that by ancient greek standards they definitely fit the definition.  Even by modern standards, I believe that some of the magic that goes on at google's HQ is close enough to magic to count as super natural.  In an even more simpler terms.  the norm being the natural, Google exceeding expectations makes it above the norm, ergo, supernatural.

    worshiped:  A company that like apple has developed enough fan boys that a google product is making people water at the mouth like Pavlov's dogs.  To the point where an early invitation on a google service is starting to sell on ebay for a high premium, when the final product will be free.

    Arguably, as presented above.. it could control the entirety of the world, which is personified as a force to be reckoned with.

    We have a religious symbol:  Goog Holy Cross




    And in all honesty, would something that can cause a respected business man, head of the largest multi-billion dollar corporation to act like this:   http://www.youtube.com/watch?v=wvsboPUjrGc be anything but divine retribution?

    I therefore argue that based on all stated facts above, that Google is indeed a deity and should apply for a tax cut and qualify as a church.  I had a friend who used to pray to Sun Micro-systems, I don't see any reason why google should be excluded.

    FYI.  This was a complete and total ran of bull shit...which hopefully hasn't hurt your delicate sensibilities before coming this line.  Take it all in good humor.  :)



    IPad breakdown