Wednesday, December 21, 2011

Why Google Instant is a dumb idea

Every time I get on any computer I use, I turn off Google Instant, well, instantly. It has never made sense to me and has actually been extremely distracting. The whole reason I see Google Instant as being absolutely foolish in design is this: I think of searches in words, not letters. To me, if I want to find results for "ternary operator", I'm not going to type "t", look through the results, "e", look through the results, "r", look through the results, etc. Furthermore, how long does it take you to type "tern", guestimating? Ok, now how long does it take to type "terna"? How about "ternary"? I'm not the fastest typer in the world but it still does not make enough of a difference for me to actually be to look through the results as I'm typing.

Plus, there's the whole factor of "tern" meaning something completely different than "ternary", which also means something completely different than "ternary operator." The point is that a search is an entire entity; you can't split it up, and you can't substitute a part. Every word is there for a reason, and looking at parts of that word is just looking at a completely different search than was intended. It's hard enough with Google fucking with searches by trying to "guess" what we are trying to search for, how is doing it instantly with an incomplete search entity going to help?

Google Instant just proves that Google is completely wrong in the head when it comes to how they think we search: they think that we don't know what we want. So we need to swap out words for similar words like showing results for "like" when you searched for "similar", even though with social networking the definition of the word "like" has evolved far beyond just a synonym for "similar", and thus skews the results beyond any usability. Similarly, that's why they decide that we need help every single letter, even though (a) no one in their right mind thinks of searches letter by letter and (b) changing a word by 1 letter drastically change the meaning of it 99% of the time, resulting in not just skewed results, but absolutely wrong.

I just am dumbfounded by Google -the company that seems to usually be very smart about what the user wants- can be so blind by this continued negligence toward the intelligence of the user. I don't want to admit it, but it has got to be money oriented, because there is simply no way that some of the brightest minds in the world can look at the results of these searches and think that the "enhancements" they made actually help.

Let me lay something down for you, Google. Before you introduced all these features, it took me maybe 4-5 searches of about 5 pages each to find something that I wanted of normal obscurity. Usually my search progression would be "banana tasty", then "banana delicious", and so forth. Granted, that is not that great, so I understand your desire to enhance the experience, and it is kind of annoying to try to search for synonyms, but at least I had complete control over what results I would get. Now, I have only one search (because all of those above mean the same thing now), about 15 pages, and I cannot find my result. Stop acting like Microsoft; I don't want a "decision engine", I want a search engine so that I can look through results and then decide. I am the decision engine! So unless you can come up with a new algorithm that can decide what I want better than me, I recommend you cut the crap and give the internet the useful Google Search back.


PS - Don't even get me started on Google Instant on mobile. Just....don't.

Monday, December 19, 2011


I really hope it goes without saying that I am 100% against SOPA and PIPA. First, I want to kind of give a brief overview of just what they will do, and then why I think it's wrong. I feel like a lot of sites tend to give a brief dumbed-down summary, speculations on what it will do (e.g. "killing off eBay"), and then a link to write your congressman. Well, my brother recently asked me to explain them to him, so here's what I come to understand them as:

The crux of them is that they basically upgrade piracy to the status of a federal crime, and both the user that uploaded it and the website can be taken to court. You can actually be sentenced to 5 years in prison just for violating a copyright, and then the website that hosted that material, whether or not they knew it was there, is blocked by all ISPs by order of the government, no questions asked. Plus, the government can also order Google and other search engines to de-index the site as well. (That alone should scare people.) One guy on Youtube said it's basically "guilty until proven innocent." Pretty much everybody in the country is against it except for the entertainment industry. Google, Mozilla, Facebook, Twitter, and literally millions of individuals have voiced their opinions, and these are people who actually know how the internet works. I still find it funny that people are allowed to vote for the SOPA when they don't even know what a DNS is or how it works. The only groups I've seen support it are part of the people who think that they can gain money from it, like Comcast (a cable provider), and NBC. It's not even that this bill is that entirely terrible, because all you have to do is just use a DNS outside the country and you can get past all that blocking stuff, but it scares me because I know that the entertainment industry won't just stop there. This is capitalism, and if they can push the law to make more money, they will.

The thing that makes me uncomfortable about these bills is the level of power they are trying to wield to get rid of the problem. It's like nuking a city because there's a cockroach under the fridge, or as the same guy on Youtube said, "burning down your house because you have an ant problem". It very well may stop piracy, but the force being used is too excessive. This bill is not designed to fight piracy, it is designed to end piracy by squashing out way more than in needs to just to be sure.

But even that is being too nice for this bill because to think that one single bill could end piracy is absolutely moronic and shows that people who are in support of it do not know what they are talking about. How many times have we seen "the death of piracy" over the years? The death of Napster? The PirateBay founders being imprisoned? Every single time, these actions that were supposed to be catastrophic to the idea of piracy have left barely even a dent. Do you know why? Because pirates finds a way. If you shut down torrents, they will use Usenet. If you shut down Usenet, they will create some other protocol. If you unplug the internet, there will be millions of CD exchanges. The goal of eliminating piracy is not only ridiculous, but it is so wrong that it is actually damaging the fight against the real problem.

I am against piracy. Ask anyone at my work that, all of whom who "dock in the Pirate Bay", as I like to say, and I am pretty much the only person there who actually still buys his music. I do not take the stupidity of many of the reasons for piracy, such as supporting them from buying merchandise or "it's not stealing, it's sharing". Piracy is stealing, and if you do it, you do it because it is free and you don't want to pay. But this act is taking the complete wrong approach. It's just hacking away at the leaves when it really needs to go for the root.

DRM failed miserably and it is finally all but gone on digital media, and the only thing it did was cause many people disdain for the companies that enforced it. I find that people tend to work with you much more if you treat them with respect, and that's what there needs to be: a new entertainment industry model that treats both the artists/creators and consumers with respect. I'm not going to pretend to know the answer. I'll gladly admit, I don't know what that new system is, but I do know that it is not SOPA. SOPA is internet censorship, pure and simple.

And sure, today, it's DNS, but what comes next? Comcast has already been caught blocking BitTorrent traffic and the Pirate Bay as well. I'm still no expert in networking, but isn't it possible to not only block the DNS of a site but also all traffic to and from it? And the most terrifying thing of all is that it plays under the guise of something that is so righteous. When I tell people that there is something called the "Stop Online Piracy Act", most of them (unless they are pirates) are in support of it, because most people agree that Piracy is wrong. But putting a pretty face on it doesn't make it any more valid, it only makes it more deceptive to those that don't know any better. We that do know better cannot let acts like this pass. It is our responsibility to stop it.

"Yes, it's bad that piracy can happen. But it's because we are free that it can happen. Think about that. If you remove one, you remove the other." -PhantomAlucard
"SOPA: sacrificing the rights of the many to protect an industry that is too stubborn and greedy to evolve." -Me


Saturday, December 17, 2011

The Operating System User chart

I made this a while ago and I guess I forgot about it.

The "OS Triforce"
I think it's kind of a neat representation. I would say that I'm about where the "e" is in "Linux User", but eventually I would like to make sure that I am somewhere in the middle triangle; it's perfectly fine to favor one OS more than the others, but you still have to accept and be ok with the others as well because nobody likes a fanboy.

Feel free to use this image/modify it/recreate it/etc. Also feel free to leave a comment below to where you think you fall on the chart. :)

Thursday, December 15, 2011

FINALLY fixed Apt!

As usual, I'm not responsible for the accuracy of this post, or the results you might encounter from attempting to imitate it. You're a Linux user, you should know to be careful, or accept the consequences. And I'm only going to say this once: don't copy and paste a command unless you know what it does.

Turns out the Apt problem that's been plaguing me -the same that seemingly fubared my graphics driver and left me using Windows for a few months- apparently wasn't gone. Every time I tried to install or remove something, I would get hella error messages about nothing being configured. Well, first I tried to fix cups, which was first on the list. The method one person suggested was purging it then reinstalling it, which worked, but I do not recommend it. Cups is decently unimportant. The next on the list was udev, which sounds important just by the name, and I did not want to purge it. Plus there were a ton of "lib___", some that sounded very necessary, at least to KDE.

I looked around and eventually found a thread on Linux Questions about this very problem: something was wrong with udev which threw off initramfs-tools, which in turn threw off around 195 packages that needed them to be configured. The major consensus is to try to get Apt to configure the packages that are unconfigured, but for me, all that yielded was about 2.7 billion errors (massively trimmed down because you don't care):
$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree      
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 40 not upgraded.
192 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.

Setting up udev (173-0ubuntu4) ...
udev start/running, process 5104
info: unrecognized option '--convert-db'
dpkg: error processing udev (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on udev (>= 147~-5); however:
  Package udev is not configured yet.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.

Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)
The solution? Reinstalling force. The poster in that thread mentioned that there should be a backup in /var/cache/apt/archives/udev*.deb, but that didn't exist for me so I downloaded it the Ubuntu archive from It's important to use the same package that your system is set up for; originally I downloaded them off Debian's website but there are certain Mint-specific packages that have dependencies to "0.99_7ubuntu" instead of just "0.99_7". It also lessens the chance of things breaking. Anyway, however you get the DEB, find the correct one for your system and use the force:
dpkg -i --force-all ./udev*.deb
 HEY. LISTEN. This is important. After doing that I tried another install -f, there was another missing dependency so it was prepared to remove....well, damn near everything except udev:
After this operation, 1,371 MB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
 If you get this, you'll need to update libudev0 as well, which is the same deal: get the DEB, and run a:
dpkg -i --force-all ./libudev0*.deb

After that I ran another install -f and BEHOLD: packages were configuring! Unfortunately I got one more error message still:
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)
Again, I tried another --force-all with the initramfs-tools DEB, Which of course lead to yet another error:
cp: cannot stat `/usr/lib/pango/1.6.0/module-files.d/libpango1.0-0.modules': No such file or directory
cp: cannot stat `/usr/lib/pango/1.6.0/modules/': No such file or directory
 Which I learned a fix for in a Mint thread, but I actually suggest the method prescribed in this blog that uses a symlink instead:

sudo ln -s /usr/lib/*-linux-gnu/pango /usr/lib/pango
(The * is your architecture: either i386 for 32-bit or x86_64 for 64-bit.) After this, try another force with initramfs-tools, and -for me- the issues with the 20,000 errors under the sea went away.

This fixed the issue for me, though I've got a few more problems I need to solve:
  1. for some reason I still get "The following packages have been kept back", which lists a crap ton of xserver* packages.
  2. When attempting a dist-upgrade, it says it's going to remove kubuntu-desktop and xorg
It looks like I just won't be able to do a dist-upgrade right now but hopefully I can at least do a regular upgrade.

I did all of this to attempt to run Illumination Software Creator on Linux, but I then got sidetracked trying to get fgrlx working again. In any case, the Apt problem seems to be solved, so one down, two to go.

Wednesday, December 7, 2011

Note: Do not double define your DNS

I've been forced to use Windows since my Linux install is out of commission and I haven't had the time to fix it, but the internet has been painfully slow. I scanned for viruses and spyware, cleaned the registry, checked the DNS on my router and network settings, and did all the standard stuff, but no fix. Then today, I loaded up a Jupiter Broadcasting video. It took several minutes to load the page, but when I pressed play, I noticed that it loaded very quickly, which made me realize that it wasn't the data speed, it must be the DNS.

It turns out while I had set the DNS to "auto" for IPv4, I had not for IPv6. Switching that immediately made web browsing pleasurable again. I didn't write down the DNS that was in that field so I'm not sure if it was the DNS that I use (Google DNS) or perhaps some spyware got in there and changed it. I'm going to hope it's the first one so that I was not tracked for all this time. I guess I've just learned not to define the DNS in your router and your network settings.


What to aim for: less errors, or "good" errors?

The thought popped into my head yesterday while waiting at the bus stop. Every technological device we use malfunctions at some time or other, we only notice when it's an especially "bad" error. For example, I got a new phone recently, the LG Optimus Slider which is basically the next version of my previous phone, the Optimus V. Both the Slider and the V have an issue with the 3G where it will stay "Connecting" but never connect, especially when switching off Wifi. I learned that toggling airplane mode tends to get it working about 90% of the time, and the other 10% requires a restart of the phone.

The point is, yeah, it's an error that I deal with pretty frequently, but I never even registered it in my mind as a problem because 90% of the time, it has a fix that is quick and easy. However, 10% of the time, it has a fix, but that fix takes a long time (relatively) and it keeps me from using my phone during that entire time. It's pretty obvious that the prior is better than the latter. Obviously, most tech users would say "Well the best case would be to have no errors at all," but both as a user and a future developer, I know well enough that there will always be errors. But how you handle the errors as they happen is a totally different matter.

The true question is, which should developers focus on: keeping the number of errors to a minimum, or  making sure that errors are "good" when they happen? One can't focus entirely on one or the other. Let's use some kind of game as an example: if you focus on lessening the errors, the game will be playable but as soon as an error is happened upon, the game will just exit and the player will lose saved data; if you focus on handling errors well when they happen, the game will be buggy as hell. Both are undesirable, so the solution must be in the middle, but which end does it favor?

Here are 2 examples of exceedingly "bad" errors:
  1. This dumb error message in Zoundry Raven 
  2. Microsoft giving no indication whatsoever why an installation failed (or useless vague error codes)
The 1st case is exceeding obvious. For the 2nd, the first installer did not give any indication at all as to why the installation failed. The second installer gave a crypted error code that apparently means a dozen different things, which does nothing for you except have you trying out a dozen different fixes. I only fixed the problem by checking the log for the second installer (the first installer did not give you the location of a log) which linked to another log that I had to scan through until I found the error message. Bad error.

Personally, I would tend to lean on the handling of errors rather than prevention. Almost every piece of tech I have has "quirks", and quirks are just errors handled better. (Except for the sticky keys on my calculator...that was Dr. Pepper.) Occasionally Firefox crashes or freezes, but if it starts up again with my tabs and tab groups, I can get back to what I was doing right away. Quirks become small bumps that you can just glide over whereas full blown errors make you slam on the breaks.

My thoughts, anyway. I'm sure they are to change as I get to developing more software and deal with errors.