Using Vim for Python
In the Worth Passing On department, this article explains how to set up tab-completion (which I don’t use, but you might), syntax highlighting and execution (as in: pressing F5 and having the program run) in Vim for Python.
In the Worth Passing On department, this article explains how to set up tab-completion (which I don’t use, but you might), syntax highlighting and execution (as in: pressing F5 and having the program run) in Vim for Python.
First, this thread comes up on Reddit about the failings of early computer education.
Then, Google tweets a link to “Getting Computer Science Into Middle School,” which talks about how MS students should, er, learn computer science–as in programming, not word processing.
I think that programming will only become more and more useful–even if the programmers never take a CS class in college or go into a career in development. Like Calculus, French, and being in the musical, learning how to program is great for the process involved, not just the end result. Critical thinking, creative thinking, problem solving, etcetera, etcetera, etcetera.
And I can even boast that a Python interpreter has helped me in almost all of my classes. Yes, it’s a good calculator, but it also lets you define a function (like Hooke’s Law) and then just plug different numbers into it. And sometimes I need specific documents–like a template involving the numbers 8-36 with four newlines between each one. That would be pretty annoying with a word processor, but it was a four line Python script. And one time I needed flashcards, and didn’t have paper or the internet. Ten minutes later I had a perfectly satisfactory program.
But I’m drawing attention away from the main point with petty examples. Learning how to program has radically changed the way I think, and has greatly increased almost all of my cognitive abilities. Teaching people how to make schlocky animations in a PowerPoint presentation is NOT helpful, and may even turn people off computer classes forever.
…just my $.02.
LinuxJournal tried to raise a good point the other day, suggesting that ChromeOS netbooks shold be given away for free–but with built-into-the-OS ads (via). Fine. They’re entitled to their opinion. But I’m entitled to mine–and my opinion is that it’s not going to happen.
The first issue is cost. Glyn Moody spends just under half the article building up to this sentence:
I’m no engineer, so I find it hard to come up with an exact build cost for a minimalist Chromium OS netbook, but I imagine we’re talking ten or twenty dollars, rather than one or two hundred.
Eh…excuse me? I’m no engineer, I find it hard, I imagine…Where the heck did that figure come from? Mr. Moody, I would forgive you if you were a blogger, but you’re a journalist! Investigate! Find out facts! I’ll even give you some: From various interviews, I have learned that there is almost no profit in the sale of actual computers–retailers make the bulk of their money on extended warranties and accessories. And even if we disregard that, selling computers for “one or two hundred” dollars when they cost “ten or twenty” is a one thousand percent profit. I find it very hard to believe that that’s being pulled off.
I could end this right here. I could say, “There’s no way Google’s giving away netbooks, because netbooks are just too darn expensive.” But there’s a few other points too:
Number two: Permanence. As in: ChromeOS cannot be grafted onto a device permanently. If the netbook has a USB port and a BIOS worth its electrons, it would take any reasonably technical person about thirty minutes to put, say, Ubuntu Netbook Remix on their free netbook. Good bye ads, hello profit loss. And even if Google tries to get tricky, I predict it will take the cracker/homebrew community less than a week to get ChromeOS off of there. Remember the DirecTV card cracking?
Numbers three and four: Quantity and use. Maybe you can correct me in the comments, but I really can’t think of a system in which Google could assure that every person could receive one–but not more than one–device. People would not be above faking their name, using a PO Box, borrowing their neighbor’s address or stealing someone’s identity. Which in and of itself wouldn’t be a problem, except that having multiple devices would result in using an individual device less frequently–meaning less ad views per netbook. I’m a blogger. I know how ads work, and you’d be surprised about how many impressions are needed for one person to accumulate ten to twenty dollars (using Mr. Moody’s estimate) or even more than that (my deduction). Then multiply that by two, three or six devices, and you’ve got a big chunk of cash that needs to be accumulated by one person seeing non-maddening ads in order for Google to break even, never mind profit.
Footnote: Keep in mind that part of Google’s mantra is having low-key, not-too-intrusive ads. Which just makes monetization harder.
So I really don’t think we’re on the Eve of the Free Netbook. But in case I’m wrong…can I have one?
—–
If you thought this blog was dead, read the New Deal.
Today this blog turns one year old.
It’s gone through three different domain names (wordpress.com, tmac.andrewmin.com and now tsmacdonald.com).
It had an identity chrisis when it was a few weeks old, where it was transformed from a personal blog about what I was doing to a techy blog about what I thought.
It’s had 39,635 visits when it was on tsmacdonald.com and 7,633 on tmac.andrewmin.com, for a total of 47,268 (nothing significant happened on wordpress.com).
The most-viewed post was the “Response to ‘9 features Ubuntu should implement’,” which made the Digg Linux/Unix front page and currently has 855 Diggs. I’m also reasonably sure it’s the most Reddited, with 41 (60 up, 19 down).
I got comments from people who loved me, people who thought I was brilliant, and people who were surprised I had the mental faculties to type.
I learned that good articles don’t always attract traffic, and traffic doesn’t always come to good articles.
I learned how to use Wordpress well. Which is a good skill.
I learned that if you don’t know what you’re saying, people will call you on it, and mock you for it.
I learned what bad writing is, and how to avoid it, and am still learning good writing.
And I learned that you’re probably reading the last post to appear on this blog.
Why?
So thanks for reading, but good bye.
A few months ago, I was messing around with my Thinkpad, trying to make it fast yet usable. Arch seemed the way to go, but X was uncooperative (note to self: try Arch again). Why? It didn’t get the driver right for my video card. Next up was SliTaz, and after that Ubuntu Server. Both of which wouldn’t recognize my PCMCIA network card (which Arch did). Ubuntu GTK 1.2 Remix also got the wired card down, but no amount of coaxing on my part would convince it to recognize my wireless card. I finally ended up putting Xubuntu on it, which was too slow despite swapping in Fluxbox (which was hideous) for Xfce.
In addition to problems like mine, people have all manner of trouble getting wireless cards, graphics cards and dual monitors to work. And most just give up on extra buttons on laptops (out of the four on my Vaio, only one worked). Forums and IRC are sometimes helpful–and sometimes not. Googling works fairly well for common problems…which are probably less than half of all problems. Unlike Windows, where you can get a 90% success rate by going to the manufacturer’s website and downloading and installing the right driver, there’s no clear method for solving driver problems in Linux. And even if there was, some hardware just doesn’t work in Linux.
Now let’s not get pessimistic–a lot of things do work, and they work out of the box, no less. Millions of people are having an absolutely charming time with Linux and their hardware. All of my “modern” (made on this side of the year 2000) computers work somewhere between great and flawlessly with some version of Ubuntu (Hardy, Intrepid, Jaunty, Xubuntu, CrunchBang…).
But on the other hand, it is really offputting to not be able to interact with your computer the way you want to.
“Linux is the answer!” people cry. “It even has Skype!”
And the answers:
“That sounds great. But my webcam doesn’t work.”
“Mine does, but my microphone’s out.”
“At least you can connect to the Internet.”
“Yeah, well be happy X doesn’t bork for you, and leave you at a bash prompt.”
A lack of hardware support is limiting people’s ability to properly use (and enjoy) Linux.
It’s like test driving a Ferrari with bad brakes. You should be able to have a nice ride, but you don’t even get to experience it properly since you can’t stop.
And if people were able to use Linux the way it’s meant to be used, they would be able to form a fair opinion on it, developers would be able to focus on real problems, and I would be able to sleep calmly, since I wouldn’t have to put up with idiotic reviews and forum posts that exclusively focus on how badly Linux stinks because it doesn’t work for them.
I can’t wait.
——-
Further reading: How I think the driver problem should be solved.
Today, Google linked to a site that had changed hands, so I got bait-and-switched to…I don’t even know what, but there was this large popup:
It might’ve been convincing if I wasn’t using Ubuntu (and hadn’t looked at the window decoration or left pane, and was completely ignorant of how anti-virus software worked). So I tried to close it, and got a lot of wonderful error messages:
(Hmm…didn’t really give me a choice there, buddy (I actually just Xed it out)).
So I guess the moral of the story is that Timmy encountered a ridiculous website.
And if you wan’t to get philosophical and/or upset, you could say that it’s for reasons like this that computer-ignorant people shouldn’t use Windows–that could’ve been a mess of nasty viruses. Even a Mac is better*.
*Unrelated: I had the chance to use a Mac for a few hours last week, to use the Internet and also write music in ABC. I won’t say it was unpleasant, but I did have quite a few what the heck? moments. So I remain unconvinced, but I might be beginning to understand why normal people like them.
Everyone in the Linux world has been in shock over the past few days over the fact that Microsoft contributed 20,000 lines of GPL-licensed code to Linux.
I’m not saying it’s a bad thing, but for everyone who’s excited: read this.
I really don’t want to build a reputation as some kind of bulldog guarding the gates of Ubuntu from articles from Digg’s Linux/Unix front page that try to point out Ubuntu’s deficiencies. We’ve already had this one, and I’m reluctant to write the one I’m starting right now.
But I would feel dirty inside if I let the “12 ideas Ubuntu should steal from Windows 7” slide by without a comment.
Before I get started, though, keep in mind that part of my problem is that Ubuntu “should” steal the ideas, and that it should be from “Windows 7.”
$ aptitude install thunderbird
...
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Final score: Ubuntu: 6. Windows: 5. On issues that were supposed to play to Windows’ strengths and Ubuntu’s weaknesses. Sigh.
Disclaimer: This is not a comparison of OSes. The numbers really don’t reflect anything significant about Windows–and are a greater indicator of Oxford’s decision-making when deciding what to include in his article.
The big news is that I’m leaving tomorrow, and will be gone until July 18th. Thanks to the wonders of Akismet, blog maintenance hasn’t been a problem recedntly: hopefully it won’t become one.
In other news, I’ve been having an epic struggle with the Thinkpad. Ubuntu and CrunchBang are way too slow. SliTaz and USE won’t recognize my wired network card. Arch flatly refused to make X cooperate, although I’m wondering if that wasn’t a human-based error…I might try that again once I get back. And currently it has Ubuntu GTK 1.2 Remix, which does recognize the network card, and let me very easily install Wine–let there be much LANing.
I’ve also been plugging away at Twirminal, a terminal-based Twitter client written in Python with curses. It’s looking kind of promising–if it enters Alpha, I’ll either make a Subversion branch here, or else just host it on Launchpad. And even if it doesn’t work, it’s very nice to be writing in Python, not Java. My brain is smiling.
I’m sitting here watching the Stanley Cup finals (Go Pens!), and I just saw a new Microsoft ad, in the same series as the one with Lauren. I missed the girl’s name–it was something foreign and politically correct–but she went to the store and said she was looking for a good video editing laptop for less than $2,000. There was one Mac that made the price cutoff, and it had less RAM (only 2 GB) than a comparably priced PC.
I have two main issues here:
Think about it: the average hockey fan does not read techy magazines and blogs, does not care about the freedom of his software, has misguided notions about security and performance, and assumes that if there’s anything “new” he should know about, he’ll hear about it. Quite frankly, I don’t blame him. And from a marketing standpoint, Microsoft is right to avoid it. The mere use of the word “Linux” would make a few people wonder what it was, do some research, and–at best–convert, or at least realize that Windows is not the only solution for their PC.
That’s not all though. I have a sticker on the lid of my laptop that says “Ubuntu: Linux for Human Beings” with the Circle of Friends logo. I’m sure a few people have seen it, and it may’ve been their first exposure to Linux. But seeing a random sticker on someone’s laptop–especially if they’re a geek like me–isn’t the most inspiring reference. People will probably assume that it’s something that’s not meant for them, much like esoteric three-letter vacation destination abbreviations on the back of cars: a reference designed for the “in” group (yes, we know OBX, but MDI? BB? SWH?)*.
But if Microsoft said “Linux” on the television, and put it in the same category as Apple, maker of the sexiest laptops on the market*…Linux is something real, it’s something major, and it’s something you should learn about. We’ll know Linux adoption is really making progress when Microsoft gets more proactive about shooting it down. I can’t wait.
——-
*That would be Mount Desert Island, Bethany Beach and Southwest Harbor.
**[citation needed] I really like Thinkpads right now.