I upgraded to Kubutu Hardy Heron recently, and found that it’s easier to get sound working on this lappy now.
You still need to use module-assistant to install alsa from source, and I’m finding that I still need to have
options snd-hda-intel index=0 probe_mask=1 model=benq
in my /etc/modprobe.d/alsa-base.
However, now sound seems to be more stable and you can control both the headphone and speaker levels independently in your mixer — the “Front” channel for the speakers, the “Headphone” for the headphones.
I got one of this delightfully cheap-ass lappies for Christmas and installed Kubuntu on it. Unfortunately, sound has always been a sore spot — my primary use for the lappy is on the train, so I need to use headphones and be able to mute the main speakers. While many folks figured out how to get sound working, none of the solutions seemed to be able to get the headphone jack going correctly.
So today, since ALSA 1.0.16 is officially out, I decided to upgrade and see what happened. Lo and behold, *everything* is working. I can:
- Play sound through the Front speakers
- Play sound through the headphones
- Mute/unmute either front speakers or headphones
- Record audio through the built-in mic
- Play the captured audio
Not only that, but the auto-configuration stuff seems to be the best way to configure this. So if you install the latest ALSA and try this, make sure you remove any “model=” options from your /etc/modprobe.d/alsa-base.
My guess is that any lappy with the Intel HDA hardware ( rev 03 ) and ALC262 codec will probably work like this. So enjoy, and thanks to the ALSA devs for getting this stuff figured out.
I was totally on board with the SixDegrees craze back in the day. And then Friendster. And then MySpace, which I tried and was bored with by 2005.
And then MySpace got a huge surge of popularity, and people created millions of profile pages with all sorts of snarky commentary and bulletin-board posts. They hacked their profile pages with backgrounds and (mostly annoying) music.
I admit, I went back and updated my profile, wondering if I’d meet any new or interesting people. And then I got bored.
Apparently, I’m not alone.
But why? These communities have millions of members, nearly every kind of interest under the sun, and have even spawned TV shows like Project: MyWorld where three unknown girls go and meet people they know from MySpace all over the world. Obviously there’s a lot going on, so why would people back off from all of this?
Here’s the thing: on MySpace, the point is to drive traffic to your profile. As a band, there’s a benefit there: you want exposure. As a Regular Joe, you just want to keep in touch with your friends. Sure, you may find some friends you haven’t seen in a long time, but once you’ve done that it’s far simpler to just email and IM each other, and on those venues you don’t have to wait for some crappy profile page to load, get bombarded with useless ads, and deal with friend requests from God-knows-who.
So. Me? You’ll find me at the same place you’ve found me for years: my email and IM addresses. See ya there, it’s the new-new-NEW thing.
Yesterday I took advantage of an opportunity to meet Scott Meyers and listen to him give a talk on one of his current pet projects, which involved the use of some creative C++ template meta-programming tricks to, as he put it, “generalize const“.
The talk was a lot of fun for a number of things: one, it got me thinking about the continuum between a code segment’s state of being ( having this feature ), through documenting that state as intentional (it *should* have this feature), to explicitly enforcing the requirement of that feature. Another was that it was very heartening to see the author of Effective C++ and Effective STL bang his brain against the complexity of Template Metaprogramming — now I don’t feel quite so bad when I’m digging in the bowels of boost::python or boost::mpl and end up staring at the screen and drooling — Scott’s been there too.
It also got me thinking about how iterative technology really is. Truly ‘revolutionary’ technology isn’t technically revolutionary — it’s an incremental improvement from the previous technical iteration. What makes it revolutionary is what it enables in real life. I write code all the time that uses things like std::sort, which is a relatively simple thing in itself, but it depends upon all the other things — the containers, the memory allocation, the memory manager, the bit order, the instruction set, and so on and so on down to the bare transistors simply behaving as expected. Good ol’ std::sort wouldn’t be very useful without that stuff — and each of those things were minor revolutions of their times — we’ve built on them and created meta-stuff, with meta-meta-stuff to specialize the meta-stuff.
So today I can do template magic to make the compiler do some extra work for me, and object-orientation to make my programs reflect the real world better, and I didn’t have to figure out all the details of how to make those things happen. I just had to learn how the giants before me organized it so I can reuse it.
Someday, perhaps, something that I build will be like that for someone else, a problem that I poke and prod until I come up with a solution will become another std::sort for someone to grab onto and turn a task from impossible to possible, and from possible to simple.
Whenever that happens, though, it’ll still be standing on the foundation laid by the giants who came before.
Now, this is how a virtual desktop should be. Fast, responsive, fully-featured remote access with standard ssh as the transport. I am duly impressed.
I installed the NoMachine server packages on my desktop at home (Debian unstable) and grabbed the client packages for my desktop at work and my laptop. Even at the slower non-EVDO speeds on my wireless internet plan I can get a usable desktop — full-screen, full-functionality. Over a fast link, it’s almost indistinguishable from being on the box itself.
So, yeah. I give two thumbs up. Only one quibble: The Windows client doesn’t seem to understand my dual-head setup and will only refresh the window on the primary screen. Odd.
Anyhow, hit up NoMachine and give it a try.
An anecdotal bit of evidence, which is interesting to me: when I commute to Chicago, riding Metra UP-West Line, with my EV-DO capable blackberry on Verizon, if I sit on the north side of the train, I get EV-DO speeds nearly the entire way to the city. If I sit on the south side, I get the slower “1x” rates.
Apparently even Verizon keeps the rivalry alive….
I recently acquired a Blackberry 8703e with tethered internet access, and thought to myself how great it would be if I could use said tethered access from Linux.
Of course, when you’re setting up something that isn’t officially supported, you’re likely to run into a few snags.
The first snag is: The 8703e doesn’t expose its serial modem over USB without a handshake of some sort. Luckily for me, there’s a brilliant guy who wrote a program to do it, called XmBlackBerry. You can grab it from Sourceforge.
The next snag is: XmBlackBerry uses OpenMotif 2.3. Ubuntu Feisty Fawn comes with 2.2. So, I grabbed the tarball from MotifZone, built it a nd installed it. I put it out in /usr/local so that I wouldn’t have to worry about the ubuntu packages freaking out over the different motif versions.
OK. So I can start up the program, it notices the blackberry, and I symlink the new pts ( /dev/pts/X ) to /dev/modem so that I don’t have to change the config each connect.
Now I fire up kppp (yeah, I could be a real geek and set up pppd directly, but kppp gives me a lovely little gui I can minimize to my panel and all that happy user-friendly goodness.) and punch in the settings. Unfortunately, though, the kppp default settings for pppd require LCP echoes to be responded to in a reasonable manner. Turn that off (lcp-echo-interval 0 ), and voila! We are connected!