Category: Rant

My ISP is cheating on speed tests

Noah Petherbridge
kirsle
Posted by Noah Petherbridge on Tuesday, June 04 2013 @ 09:06:15 PM
My ISP in Los Angeles is Time Warner Cable, and I'm pretty sure they're cheating on my speed tests. I pay about $39 a month for either 15 Mbps down or 20 (I don't remember which), and when I run speed tests on sites such as speedtest.net, I always get a download speed between 15 and 20, usually around 17 on average.

But, the entire rest of the Internet totally sucks. I'm using Google's DNS (because Time Warner Cable's have been absolutely useless, like making me wait several minutes just to resolve a domain name), so that's not part of the problem either. It seems also that on the general Internet, the entire network drops in pulses every 30 seconds for 5 seconds at a time. So if I'm on Reddit, and click to expand a dozen imgur links with my RES extension... all of the links take a while to load, and then all of a sudden they all load at the exact same time.

I was reasonably sure that Time Warner Cable was using traffic shaping to "put on a good show" for Speedtest.net, and throttling my network speeds for all the other sites. So that if I called and complained about my slow Internet, they'd say "go to Speedtest.net and see for yourself that you're getting your 15-20 megs down that you're paying for" when instead, they're cheating on speed tests and slowing me down on every other site in the world.

I just had to find a way to prove it. The idea I came up with was to proxy my speed test through a fast web server. My web server, though, wouldn't cut it. My server got 900 megs down, but only like 12 megs up... which I thought was absurd, because a web server's entire purpose in life is to upload web content to the end users. A server's upload speed is the bottleneck that controls your maximum download speed when downloading data off of it.

I migrated to a new web server that gets much better results on speed tests, and its upload speed is higher than my quoted download from my ISP. So, I used it to try and test whether my ISP is cheating on me.

The tools I used: speedtest-cli, a command line Speedtest.net client (so I don't have to worry about trying to proxy Adobe Flash traffic, which is notoriously difficult to do), and proxychains, a Unix tool that lets you force any other program through a proxy regardless if the program wants it or not. This way I could proxy speedtest-cli to run through my web server instead of directly hitting up Speedtest.net.

My web server is hosted in Kansas City, MO, which is a bit of a drive away from Los Angeles, so to remove any geographical bias from the equation, when I ran my speed tests from my web server, I selected Speedtest servers here in Los Angeles. This showed me that my web server was able to download and upload reasonably fast from Kansas City to LA, and that the opposite should be true as well.

Hypothesis:

Time Warner Cable is aware of the entire list of Speedtest.net servers, and when it sees traffic downloading or uploading to one of these servers, they shape the traffic to give you your quoted speeds. All other servers besides these on the list, they slow your traffic speeds immensely.

Expected results:

Assuming my ISP was honest, I would expect my speed test running through proxychains to be similar (perhaps a couple megs less) than a direct speed test, given the overhead of an SSH socks tunnel and network travel between my apartment and my server in Kansas City.

Experiment:

Run a Speed Test by proxying through a third party server that Time Warner Cable is not aware of, in such a way that the ISP does not know I am running a speed test, and therefore they do not know to shape my traffic in a way that gives me my quoted transfer speeds.

I'll let the results speak for themselves (note: I'm hosting these images here locally because I'm not sure speedtest.net hosts the results on their server forever. Clicking the images though will take you to the link that speedtest.net gave me). I did two rounds of tests for redundancy.

  • PC Speedtest: A speed test from my local PC to a local Speedtest server in Los Angeles.
  • Server to LA: A speed test from my server in Kansas City to a Speedtest server in Los Angeles.
  • Proxychains: A speed test from my local PC, proxied through my server in Kansas City, to a speed test server near Kansas City (local to the server).
PC Speedtest Server to LA Proxychains
PC PC PC
PC PC PC
I also ran a non-scientific test of simply downloading a very large file from my web server (I picked the Android 4.0 VirtualBox ISO from one of my blog posts which weighs in at 243 MB). The download speeds shown in wget initially spiked to about 500 some entire kilobytes per second (about 4,000 kilobits or 3.9 megabits) before quickly dropping to between 100 and 200 KB/s (or 800-1600 kilobits/s) for the remainder of the file transfer. Overall it took 22 minutes, 46 seconds to download. Given my quoted download speed of ~17 Mbps, and my server's upload speed of 35 Mbps upload to Los Angeles, this is inexcusable.

For those who like the dirty details, I copy/pasted my terminal outputs from speedtest-cli and you can see them here: speedtest-cli.txt. So you understand what you're looking at:

  • The hostname aerelon is my local PC.
  • The hostname debian is my web server.
  • The command proxychains ./speedtest-cli --share is me running the proxy through my web server.
My proxychains configuration, less comments:
[kirsle@aerelon ~]$ cat .proxychains/proxychains.conf | grep -v '^#'
strict_chain
quiet_mode
proxy_dns 
tcp_read_time_out 15000
tcp_connect_time_out 8000

[ProxyList]
socks5	127.0.0.1	8080
Where 127.0.0.1:8080 is a SOCKS5 proxy over SSH to the web server.

Windows 8 Rant

Noah Petherbridge
kirsle
Posted by Noah Petherbridge on Thursday, April 18 2013 @ 01:51:31 AM
So, I thought I liked Windows 8 a bit. The OS itself isn't absolutely horrible once you get used to it. I even bought the $40 upgrade to Windows 8 for my main PC, where I promptly spent 100% of my time on the desktop and not in the Metro apps. ;)

But, I just bought my first computer that actually had Windows 8 preinstalled on it: a Samsung Series 5 Ultrabook. It has a touchscreen and some nice features, and I wanted to dual-boot Windows 8 and Fedora Linux on it (giving Windows the smaller half of the hard drive, of course). Microsoft apparently went to great lengths to make this darn near impossible.

I came to find out, when you have Windows 8 pre-installed on your computer, it's probably the Windows 8 "Core" Edition. The only Win8 install DVD I had laying around was the Professional edition that I bought for $40. It was logical to me that I should be able to hopefully reinstall Windows 8 on the ultrabook from this DVD, maybe even using the same OEM product key that the laptop came with and not having to worry about any activation issues.

Apparently, Windows 8 PCs have their product keys "baked in" to the BIOS ROM. If you boot a Windows 8 installer of any edition, the installer looks for this product key in the ROM, and if the key is for a different edition than what the installer is intended for, it gives you some ugly error message about, "The product key you entered doesn't correspond to any of the install images. Enter a different product key." -- except it doesn't let you enter a product key anywhere, and just restarts the setup process from the beginning.

There also apparently is no Windows 8 Core ISO floating around the Internet -- not one that I would trust downloading, anyway. With the baked-in product key, the only Win8 installer that would work would be a Core edition installer, which doesn't exist. You can't install Windows 8 Pro on your computer, because the installer simply won't allow it.

Long story short, Microsoft has basically forced me to forego dual-booting completely and just install Linux on the entire hard disk. The built-in Windows 8 OS came bundled with a bunch of Samsung's crapware, and there's no way to "start fresh" with Windows 8 -- your only option of "reinstalling" is to use the Control Panel feature, which restores "to factory settings", which means your Samsung crapware is still gonna be there after the reinstall is done. And you can't install from scratch from a DVD for the aforementioned reasons.

You can even completely remove Windows 8 from your computer, maybe install Windows 7 or Linux across the whole drive, and you still won't be allowed to put Windows 8 back on there from an install DVD or USB again.

There is a workaround, though: if you make a bootable USB for Windows 8, you can add a text file to it where you specify the product key to use. For me to do this, however, I'd need to buy an additional Windows 8 Pro license, and that's not worth it to me. So, good riddance Windows 8, I don't care to have you on my ultrabook anymore, anyway.

Linux of the 90's

Noah Petherbridge
kirsle
Posted by Noah Petherbridge on Wednesday, September 26 2012 @ 06:45:29 PM
Let's look at some very, very old* desktop environments, which lack in some features we've had for at least a good decade now.

Gnome Shell

What sorts of things does this clunky old desktop environment not allow us to do, which every other desktop does (and has for a decade)?

  • We don't have a customizable panel. There's a panel on the top, and it stays there; can't be moved, hidden, changed in any way...
  • We can't change the widget (GTK) themes on the fly. The desktop environment itself provides no way of changing the theme at all, and changing it via a third-party tool requires you to log out of your desktop and back in for the change to take effect. How old school is that!
  • The same goes for the window manager theme. Every other window manager in the history of ever lets you re-theme it "live" without logging out. Not good old Metacity, though!
That's enough ragging on this one, let's look at another one!

Cinnamon

This one is based on Gnome Shell. Some people didn't like Gnome Shell and they wanted to make it look and feel like a more functional desktop environment known as Gnome 2. So let's compare it to that!

  • Oh no. The panels aren't hardly configurable. You have 3 options: one panel on top, one on bottom, or both. And changing that setting requires you to log out and back in. How ancient.
  • Panel applets? I hope you only want one of each applet, and that you're fine sticking them into pre-designated slots on your panel. You can't customize them beyond that. The applets don't even have their own settings--your app menu will say "Menu", and you can't change that.
  • Metacity strikes again! You can't change the window manager theme without logging out and back in.
Wait, what ever happened to Gnome 2, anyway? I used to like that guy!

Actually...

*These desktop environments aren't very old at all. They're current. Gnome Shell is the default desktop environment of Fedora, and Cinnamon is one of the defaults of Linux Mint. And who's really at fault for these two desktop environments being so 1995, anyway? The GNOME dev team of course!

Gnome Shell is just so, so awful that Cinnamon was spawned as a way to get a more traditional (read: Gnome 2-like) desktop environment out of the utter mess that is Gnome Shell, except that Shell's bad design decisions are rotten to the very core and Cinnamon has to suffer for it as well.

Just to pick on one specific problem, Metacity no longer supports re-theming the window manager without logging out and back in. How many window managers in the world follow this behavior? Let's count them:

  1. Metacity 3.x
Oh? And which window managers do allow being re-themed live?
  • Metacity from Gnome 2 and back
  • XFWM4 (the window manager for XFCE)
  • KWin (window manager for KDE)
  • OpenBox, Blackbox, Fluxbox, FVWM, . . .
That's right, damn well every single one of them.

I was very impressed with the MATE desktop environment when I tested it on Linux Mint... it is the exact same Gnome 2 that I used to love. The panels behaved the same way (read: fully effing configurable and requiring no log-outs to see your changes take effect), it had all the same applets and didn't come with the high-and-mighty "we know better than you and you may have ONE of each applet at most" attitude that Cinnamon has... and it doesn't use Metacity 3 so that all kinds of theming takes effect immediately.

So there's MATE, XFCE, KDE, LXDE and a good handful of window managers that exist here in the 21st century, and then there's Gnome Shell, and by extension Cinnamon, stuck back in 1995 which is the only place that their lack of features can possibly fit in.

</rant>

Chrome's Omnibar

Noah Petherbridge
kirsle
Posted by Noah Petherbridge on Wednesday, June 27 2012 @ 06:20:47 PM
I don't understand why people all over the Internet like to talk up the omnibar in Google Chrome and say how much better it is than everything else out there (the omnibar is Chrome's address bar). They say it's better than Firefox's, and I'm absolutely sure that everybody who thinks so has never used Firefox. Here's why.

What does Chrome's Omnibar do for you? It lets you type in URLs to websites like any other address bar, and it lets you search Google by typing in a search query instead of a URL. Oh and when you're typing the URL to a page you frequently visit, it auto-completes it for you. Is that all?

Well, Firefox's AwesomeBar (their word for the same feature) does all of the above just as well, and then some. Want to search Google? Just type in your search query. It all works exactly the same way as Chrome. Firefox has been doing this before Chrome even existed. Auto-completing URLs? Firefox does this too.

But then Firefox goes way beyond. You saw a post on Reddit 5 months ago, and you know it's somewhere in your history and you wanna find it? Just type one or two words that appeared in the page title. Firefox's AwesomeBar will show suggested results as you type based not only on the URLs, but also on the page titles. Bam. You can find any page in your history just by typing a word from the title. With Chrome, the only way to find an old page is to begin typing its URL out. This requires you to know a lot more about the link than you need to know for Firefox.

For a Reddit example, say you want to look up a post you saw recently about the Galaxy Nexus Android phone. Was it posted to /r/android? Or was it /r/technology? Maybe it even was mentioned on /r/apple? You don't remember, you just remember the post was about the Galaxy Nexus. Just type "galaxy" in your AwesomeBar and you'll probably find the link in 2 seconds or less. With Chrome, you'd have to begin typing out, "reddit.com/r/android" and try all the various subreddits that it might have been posted to. You're better off opening the history window and searching for it. There's just no easy way.

Firefox 1, Chrome 0.

Categories:

[ 1 comment | Add comment | Permalink ]

Please Don't Use Emoji

Noah Petherbridge
kirsle
Posted by Noah Petherbridge on Friday, July 22 2011 @ 01:31:21 PM
Update (4/4/2013): Linux distros don't support Emoji very well by default, but you can simply install the Symbola font and that will make Emoji just magically work.


Apparently, Mac OS X Lion supports Emoji icons like iOS does.

Please, nobody get in the habit of using these. Anywhere. Unless you're talking specifically to other Apple users.

Nobody else supports Apple's particular variant of Emoji icons as well as Apple does. For Linux and Windows users, all your Emoji icons you paste in Twitter updates don't work. Most of the icons will be completely broken for these users (rendering as a block character), and the few icons that do render, won't look nearly as good as on Apple devices: they'll just look like Unicode characters, i.e. using the same black-and-white font color as everything else. Not full color icons.

It's already bad enough that cross-platform mobile apps (iOS and Android) have idiots using Emoji icons everywhere (which do not display on Android at all, but show as broken block characters), but for desktop Apple users to be able to paste Emoji icons everywhere else is just the most terrible news as of late.

Don't use them. Period.

Update (2013-01-08)

I took screenshots from several popular operating systems showing an iTunes page that embeds a handful of Emoji icons to show how exactly the icons render on various different systems.

The album is here: http://imgur.com/a/WAKF2

  • Ubuntu 12.10 -- the most popular Linux distribution today -- fails to render most of the Emoji icons at all. Fedora 17, a bleeding edge Linux distribution, also fails to render most Emoji icons.
  • Windows XP fails miserably to render ALL of the Emoji icons, and most Unicode symbols besides. This is still a very popular Windows OS despite being so old.
  • Windows 7, Windows 8, and Android (tested on 4.0+) all show the Emojicons reasonably well, but what they don't do is render them with shiny, colorful Apple icons like Mac OS X does. You have to squint to see the Emojicons rendered in any reasonable font size. Android 2.2 and older don't render Emoji icons and show block symbols instead.

Categories:

[ 20 comments | Add comment | Permalink ]