Tag Archives: linux

The 2 tricks to installing your own dd-wrt router on FIOS

I finally got around to installing my own wireless router on my FIOS network, a Linksys e2100L with dd-wrt installed on it. After the router is setup (that’s beyond the scope of this post) there are 2 tricks to make this work.

First, Verizon FIOS gives out really long dhcp leases, and doesn’t want to give them up. So you need to not only clone the MAC address for your router, but actually set it to the ip addresses that your old router was given. I’m told that after about 2 weeks you’ll be able to start using DHCP again, but you can’t for the switch over.

Secondly, you have to set the upstream MTU. Presumably Verizon is doing some VLAN tagging, which would explain why your IP addresses can jump all over the place after a major network change on their side. 1496 should be a safe value, and it looked like it worked, but I left mine down at 1450, for no good reason other than superstition. This was the trick I was missing before, and since I’ve been dealing with bizarre networking issues at work recently the idea was still floating around in my brain.

It’s now working, and my port forwarding is setup enough that I can do any fixes I need remotely via vpn.

Google Chrome 9 for Linux

I realized last night at our replacement MHVLUG dinner that I was the only one there who was still using Firefox on Linux. Everyone else was on the Chrome bandwagon. And that’s where I thought it would stay, until Chrome 9 came out today.

Yes, Chrome is faster, and doesn’t die on javascript randomly, but the thing that pushed me over the edge was the fact that Google bothered to support WebGL on Linux with the release. I loaded it up to test and found the WebGL demos ran with barely any CPU usage. Ok, I’m sold for now. It’s my new default browser, and we’ll see if it sticks this time.

Open as a feature

I’ve been thinking about getting a new wireless router that I could install dd-wrt on, an open Linux replacement firmware, which gives you all kinds of nice features. I started this journey on the dd-wrt website to try to figure out what good options are right now. It was a confusing support matrix that I couldn’t really compare very well.

Then something occurred to me, perhaps there were some comments on newegg reviews for equipment about people doing this. Newegg is a pretty technically competent community, so this wasn’t that much of a stretch. I popped “ddwrt” into the search engine, and was surprised by the results, which looked something like this:

Linksys WRT54GL 802.11b/g Wireless Broadband Router up to 54Mbps/ Compatible with Open Source DD-WRT (not pre-load)

There are currently 11 routers on newegg that list DD-WRT in their title. Being open is now a selling feature of these products. How cool is that.

Linux Desktop Speedups

Phoronix recently published an article regarding a ~200 lines Linux Kernel patch that improves responsiveness under system strain. Well, Lennart Poettering, a RedHat developer replied to Linus Torvalds on a maling list with an alternative to this patch that does the same thing yet all you have to do is run 2 commands and paste 4 lines in your ~/.bashrc file. I know it sounds unbelievable, but apparently someone even ran some tests which prove that Lennart’s solution works. Read on!
More info, including the commands you need on Ubuntu, here.



Prettier fonts for Git Gui on Ubuntu

The default fonts for git gui (aka gitk) in Ubuntu are down right horrible.  Even Ubuntu 10.04 defaults to tk8.4, which doesn’t support font smoothing.  Fortunately there is a simple way to fix this and make a whole bunch of applications look prettier all at once.

# sudo update-alternatives –config wish
There are 3 choices for the alternative wish (providing /usr/bin/wish).

Selection    Path                   Priority   Status
————————————————————
* 0            /usr/bin/wish-default   10000     auto mode
1            /usr/bin/wish-default   10000     manual mode
2            /usr/bin/wish8.4        841       manual mode
3            /usr/bin/wish8.5        840       manual mode

Then type ‘3’ and hit enter.  Now you’ll be using tk8.5 by default, and miracle of miracles your eyes won’t be scarred by jagged ugly fonts in gitk anymore.

Rambling thoughts on C# on Linux

Livnat Peer just posted an interesting look at converting a large source base from C# to Java.  This was done because when Red Hat aquired the company that wrote KVM, they also got a huge .NET management application that they wanted to run on Linux.  It’s a pretty interesting look at the various approaches you could take, and how they were eventually successful.

C# on Linux is an interesting beast.  I like C# better syntactically than Java.  Properties are just too damn useful.  Having to have lots of getFoo(), setFoo() in Java when we’ve got this perfectly good key on our keyboard ‘=’ that everyone has known about since they were 7 bugs me architecturally.  It is a short coming that Java will probably never get past.

Mono, the open source C# runtime, was the only open source Just In Time Compiler (JIT) you could get your hands on a few years ago.  That made it a huge boon to language implementers, and was the defacto runtime that people would play with and hack on to build scripting engines inside over other applications.  It’s the reason you’ll see Mono specifically show up all over the place in the gaming industry.  Since that time Java went open source, under GPL, and LLVM, which is under a very permissive license, really grew up.  This gave developers interested in language design some options for VMs they could run on top of.

But, there is always another hand.  Microsoft casts a long shadow over C# on Linux.  The Mono project remains many years behind Microsoft on features, and many more years behind that on stability and performance.  While I was working on OpenSim, I was continuously frustrated by how much worse the environment performed on Linux than on Windows.  Any project that is written in C# will be relatively poor performing on Linux.  The word relative is in reference to the same code on Microsoft .NET, it’s still 20 times faster than if it was in Python.  Microsoft’s sword rattling over Linux infringing their IP ensured that the Mono community remained somewhat small and close nit, with no large organizations investing in it other than Novell.

Mono makes for some decent desktop Applications.  I use three of them on a regular basis: F-Spot, Tomboy, and Do.  I can’t function on a computer without Do any more.  But I still have a personal grudge with Mono over a simple fact: I can’t watch Netflix Instant on Linux.  There was this theory that because of the way the media framework worked that it was going to work “real soon”.  That was 3 years ago… and I’m still waiting.

C# has the basic issue that Java had for a long time, it’s a vendor language.  And that’s just a tough thing to really believe in, unless you have a sufficient reality distortion field.  Java has finally transcended that.  It took building a community process for future features and open sourcing the JVM.  Google’s entirely parallel Java implementation for Android was additional proof that it’s no longer in the hands of a single vendor.  And while Java remains far from perfect, if you are on Linux, and want performance, it’s a pretty decent approach.