[via Reddit, via Consumerist] I’m sure Microsoft might object to the freebie being given away with the purchase of a Zune in this recent CompUSA promo:
You’ve got until the end of tomorrow to get your free $15 iTunes card!
[via Reddit, via Consumerist] I’m sure Microsoft might object to the freebie being given away with the purchase of a Zune in this recent CompUSA promo:
You’ve got until the end of tomorrow to get your free $15 iTunes card!
Over at BoingBoing, Cory points to a Lulu-published book titled
If (Sid_Vicious == TRUE && Alan_Turing == TRUE) { ERROR_Cyberpunk(); } on Amazon, noting that the book title is “awesome”.
The book’s already garnered one comment:
The title is enough to give a jobbing programmer a spontaneous fistula. Matters aren’t helped much by Amazon’s (apparent) mistranscription.
Which is true. Whenever you see a == true
or == false
in someone’s code, it’s a pretty reliable indicator that you’re dealing with a rank amateur. Better by far both code- and book-title-wise to simply code it as the one liner:
if (Sid_Vicious && Alan_Turing) ERROR_Cyberpunk();
(And really, most programming style guides say that variable names should begin with lowercase letters — they should really be sid_vicious
and alan_turing
. We programmers can be real pedants.)
According to this Gizmodo article, they are:
To the layperson, the name of Yahoo!’s new service, Pipes, might seem like a reference to Senator Ted Stevens’ ridiculous “a series of tubes” metaphor for the internet. The name is actually a reference to something a little older: a feature in Unix (and its spin-offs, including OS X and various flavours of Linux) called pipes, and their kissing cousin, filters.
If you look to the upper right-hand corner of the main part of most computer keyboards, you should see the backspace key. Just below that is the backslash (\) key, which produces a vertical bar when you press it in conjunction with the shift key (this key is pictured to the right). That vertical bar is called the pipe character, and it’s a useful tool in the Unix command line.
“Small pieces loosely joined” is a phrase that explains the organizing principle of the World Wide Web quite well, which is why David Weinberger chose it for the title of his book on the web. Since the origins of the internet and the web are Unix-y, it should come as no surprise that “small pieces loosely joined” also explains the organizing principle of the Unix operating system. Rather than provide large, monolithic systems for managing files and programs, Unix provides a series of what I like to call “small, sharp tools” that can be combined in a Lego-like fashion in whatever way its users see fit. To techies, programmers and tinkers, this approach makes Unix both workbench and playground, and the flexibility provided by this approach has led to all sorts of interesting and unforseen applications and tools.
If Unix commands and tools are the small pieces, pipes and filters are the way by which they are loosely joined. Pipes allow you to direct the output of one Unix program to another Unix program, whose output in turn can be “piped” to yet another program. Filters are programs that are used to process text; as such, program output is often piped through them to either filter out unwanted data or to augment the data passing through them.
I don’t want to bog you down with a complete Unix training course, but I do want to give you the sense of how pipes are used. Those of you with on Macs or Linux machines should feel free to open up a terminal application and follow my examples on the command line.
Suppose I have a text file in my home directory called series-of-tubes.txt that contains some of the choice bits of Senator Ted Stevens’ statements. I can use the Unix command cat
to print out its contents. If I type
cat series-of-tubes.txt
at the prompt, I’ll get this in response:
Ten movies streaming across that, that Internet, and what happens to your own personal Internet? I just the other day got... an Internet was sent by my staff at 10 o'clock in the morning on Friday, I got it yesterday. Why? Because it got tangled up with all these things going on the Internet commercially. [...] They want to deliver vast amounts of information over the Internet. And again, the Internet is not something you just dump something on. It's not a big truck. It's a series of tubes. And if you don't understand those tubes can be filled and if they are filled, when you put your message in, it gets in line and it's going to be delayed by anyone that puts into that tube enormous amounts of material, enormous amounts of material.
Let’s say I want a word count of that text file. It’s easy to do by piping the output of the cat
command through another Unix command called wc
, which is short for word count. If I were to type this at the command line:
cat series-of-tubes.txt | wc
I would get this as output:
1 135 744
That’s the wc
command telling me that the file series-of-tubes.txt has one line (I entered the text as one big line without carriage returns), 135 words and 744 characters.
Now let’s suppose I wanted to takes those line/words/characters statistics and mail them somewhere for analysis at a later time. Well, that’s a matter of piping the output of the cat
command through the wc
command to get the line/word/character count, and then piping the wc
command’s output through the mail
command. In Unix, I can very easily do this by typing the following at the command line:
cat series-of-tubes.txt | wc | mail -s "Stevens Stats" joey@globalnerdy.com
The parameters that follow the mail
command state that the mail should have the subject line Stevens Stats and that it should be sent to the email address joey@globalnerdy.com. A quick look at my Gmail account confirms thatmy piped commands did the job:
Not bad for a one-line command, eh?
I could go further. Suppose the text file was being updated regularly and I wanted a daily email update of its line/word/character count stats. This can be accomplished by sticking the commands I just typed into a shell script and then setting up a cron job to automatically run that script every day at 10:29 a.m., just in time for my ritual 10:30 a.m. email check. This is the sort of power that the organizing principle of “small pieces loosely joined” gives you.
In the example above, I showed what was possible just by using pipes to string Unix commands together. Imagine this sort of principle — small pieces, loosely joined — on an internet scale, with data online data sources as the “small pieces”. What does the loose joining?
Enter Yahoo! Pipes.
(Actually, I can’t enter Yahoo! Pipes at the moment. The tech world is so abuzz about this new tech that their site’s completely bogged down. Hopefully, this’ll clear up soon as they throw more servers and engineers at the problem.)
I’ll leave it to Tim O’Reilly to describe Yahoo! Pipes:
It’s a service that generalizes the idea of the mashup, providing a drag and drop editor that allows you to connect internet data sources, process them, and redirect the output. Yahoo! describes it as “an interactive feed aggregator and manipulator” that allows you to “create feeds that are more powerful, useful and relevant.” While it’s still a bit rough around the edges, it has enormous promise in turning the web into a programmable environment for everyone.
There is one important difference between Yahoo! Pipes and those of the Unix variety: while Unix pipes were made with programmers, sysadmins and tech tinkerers in mind, Yahoo! Pipes are made to be more user friendly. While you’ll still need a tiny bit of tech savvy to use Pipes, the user interface, which allows you to visually hook up pieces of code that provide an API significantly lower the barrier to entry for creating applications — you no longer have to be coder!
For example, take a look at this web app created with Pipes that aggregates news alerts from several sources and provides a search box that lets you look for news items with specific keywords. Until now, you’d have to be adept at a programming language and its internet and XML-processing libraries to build such an app. Now, you can do it with Pipes (click here to see it at full size):
This is pretty exciting stuff. I’m sure you’ll see more written about it by all sorts of folks, including George and me.
Links:
After a brief hiatus in December, the 12th DemoCamp took place on Monday at a packed-to-the-rafters No Regrets restaurant in Toronto’s Liberty Village, a neighborhood of factory-to-office conversions and a hub of many local high-tech businesses.
DemoCamp is a monthly “show and tell” gathering for Toronto’s high-tech community. Each DemoCamp features four or five presentations in which presenters have a set amount of time to demonstrate their current project and then answer questions from the audience. People are encouraged to stay at the end of the presentations to socialize, meet other members of the tech community and exchange ideas. DemoCamp has grown from an initial gathering of two dozen people in an office boardroom to an event that attracts more than 100 people a month, with up to one-third of the attendees being first-time participants.
One of the most important rules of DemoCamp is “No slides”! DemoCamp is really about design and technology, not marketing and promotion. The idea behind the “no slides” rule is that we don’t want to see people recycle their marketing deck. What we do want to see is a prototype or actual working project in action, with some explanation of how it works and why it was made. Any sort of project, from personal hobby or experiment to enterprise application, is fair game, as long as you can keep the audience interested and engaged.
DemoCamp is also a good place to make announcements to the community. Between presentations, we make the microphone available to anyone in the room. Many people use this as an opportunity to promote upcoming events or to announce that their company is hiring. Tucows, for whom I am the Technical Evangelist, has benefited at least twice from these announcements — we got a couple of great developers as a result of these announcements.
DemoCamp 12’s presentations were:
Distributed development for Mozilla by Dave Humphrey. Dave talked about the programming assignments of his Seneca College students in which they did work that may eventually wind up being rolled into the Firefox 3.0 browser. Among the projects he showed were his students’ work on support for animated .PNG graphics, the “Buggy Bar” bug-reporting extension, work to integrate better integrate buildbot with the Mozilla development process and porting their CSS Guide over to Mozilla. The demo provided a wide assortment of student contributions to the Firefox browser project, from code for the browser itself, to code that supports the development project, to documentation. Dave wrote more about his presentation in this blog entry.
What happened to Bubbleshare by Albert Lai. Bubbleshare is a web-based photo-sharing application that has been designed specifically to be very easy to use by non-techies and supports private photo sharing. Its design make it particularly well-suited to families who want to share photos and don’t want the entire world seeing them, and it also made it a pefect fit with Kaboose’s offering of family-oriented portal sites, hence the acquisition. Albert put it to a show of hands as to whether he’d talk about the deal or about Kaboose’s new features; the crowd voted for his story about the deal, so that’s what he talked about.
Talk-Now by Alec Saunders. Talk-Now is an interesting “presence management” application for BlackBerry devices that lets you specify when you are and aren’t avilable for a conversation and see the availability of your preferred contacts for a conversation. It ties in nicely and smartly with the calendar app on the BlackBerry so that it can make reasonable assumptions about when you’re available to take a call. This demo had an intersting twist; in order to show the screens of the collection of BlackBerry devices he used for the demo, Alec made use of a clever little videocamera rig run through our projector. He put on a great demo and showed us why he won a Demo GOD award at the Demo 2006 conference.
Flock by Will Pate. Flock is a Mozilla-based browser with sharing and blogging utilities built in. The internet connectivity wasn’t all that hot that night and Flock crashed the entire OS at one point (treating us to a very rare view of the Mac OS multilingual grey translucent screen of death), but Will still managed to put on a great demo.
We also had a number of “quick updates” in which people who presented at previous DemoCamps updated us on their projects’ status.
I’m very pleased that DemoCamp is still packing the house after a year in operation and especially since Monday was a bitterly cold night. It’s a testament to the enthusiasm and vibrancy of the Toronto tech community. My thanks to the presnters for doing a great job, No Regrets restaurant for hosting the event, David and Jay for always being there to get the ball rolling, Kristan for capturing the event on video, Bryce and Mark for their support and assistance and to the attendees for being there!
Links
Remember, we warned you ahead of time: you’re going to hear the phrase “nanny state” bandied about the tech- and gadget-focused sectors of the blogosphere for the next couple of days. That’s because of reports that New York State Senator Carl Kruger is introducing legislation that would make the act of crossing a city street while using a device such as an iPod or cellphone subject to a $100 fine.
The proposed legislation is apparently inspired by two pedestrian deaths in the past five months that took place in the Senator’s district. At least one of these deaths is said to be the result of a person “listening to his iPod”, a situation that the Senator refers to as “iPod oblivion.
In this television news interview, Senator Kruger said:
We’re talking about people walking sort of “tuned in”, and in the process of being tuned in, tuned out. Tuned out to the world around them, so they’re walking into speeding cars, they’re walking into buses, they’re walking into one another…
If you want to listen to your iPod, sit down and listen to it. You want to walk in the park, enjoy it. You want to jog around a jogging path, all the more power to you. But you shouldn’t be crossing streets and endangering yourself and the lives of others.
Engadget has already written what was my first reaction to the story: “If police can’t enforce jaywalking laws in NYC, how could they possibly enforce this?” There are also the logical follow-ups for the proposed law, such as banning any sort of distraction at crosswalks, from involved conversation and arguments to reading material to daydreaming. And hey, you’re just going to have to take down all those Times Square displays while you’re at it.
Links:
Artist’s depiction of the iPod user who syncs with iTunes on Vista.
My primary work machine is a 12″ 1.33 GHz PowerBook, which came with a 60GB hard drive. Since it’s the machine I rely on for my work as tech evangelist — a strange hodgepodge of marketing, blogging, schmoozing, coding, podcasting, video editing, accordion playing and graphic design — my hard drive space is as precious as water in the desert.
That means that my iTunes library — about 35GB — typically lives on my Windows machine with iTunes sharing turned on. One of the things I will have to say about Wintel machine vendors is that they aren’t as stingy with the hard drives as the folks in Cupertino are. My current Windows machine is “The Taint”, the Vista-pre-loaded Acer Ferrari sent to me by Microsoft just over a month ago. With a hard drive size of 160GB before formatting, The Taint offers almost three times as much ferromagnetic real estate as my main axe.
(In case you were wondering, my old Windows machine — a refurbed HP Pavilion of indeterminate model, 3.2Gig P4 and 640MB RAM — now runs Ubuntu. For the first time, I’m running Linux on my desktop on a decent developer machine rather than a cast-off. It’s nice.)
Having such a setup, I read the Telegraph article, Apple warns iPod users against Vista, with a mix of interest and amusement. After all, the article title certainly sounds like “General Electric warns consumers that they heard on a discussion board on the ‘net that Sylvania lightbulbs give off some kind of toxic gas, just sayin’.”
The gist of the story:
It claims some have found that songs bought on its iTunes Store will not play on the new system, and that other Vista users have even seen their iPods corrupted when they try to unplug them. The contacts and calendar functions on iPods are also said to be affected.
A statement on Apple’s website reads: “iTunes Store purchases may not play when upgrading to Windows Vista from Windows 2000 or XP.
“Ejecting an iPod from the Windows System Tray using the Safely Remove Hardware feature may corrupt your iPod.”
I use 2nd-gen 4-gig iPod Nano with The Taint, and haven’t had any problems with file corruption or playing purchases from the iTunes store. I’m running iTunes 7.0.2.16 and have a reasonably fresh (but not the newest) flash upgrade on the Nano, and it’s “so far, so good.” If I run into any of the difficulties that Apple mentions in the article, I’ll post them here.
Are any readers out there mixing iTunes, iPods and Vista? Let us know in the comments!