You are here

Steven D. Brewer's blog

Raspberry Pi for the win!

A couple of years ago, Tom Hoogendyk and I set up systems to run digital signs using drupal sites at UMass using a simple recipe. We created a simple one for the Biology Department first, and then Tom went on to build a more robust one for the College of Natural Science. The signs are great because they mostly repurpose the same content you need to post to keep the website up-to-date.

Other groups on campus have used commercial systems (which are wicked expensive and finicky) or tried to just loop Powerpoint presentations (which are clunky and prone to freezes) and quickly find that building custom content is time-consuming when you have to build it especially for the signs. Our system has been really reliable and simple to manage.

The content is all managed in Drupal, but we still needed some kind of player. In my initial discussions with George, I kept going back and forth whether it made more sense to use a mac mini or a little linux box. George heard "mac mini" and told everyone to just buy a mac mini. So we built the first version using mac minis. Since we were already supporting lots of macs, it was easy to support a handful of mac minis the same way. We've been using radmind for years to support macs.

Radmind has been wonderful: much better than anything else for supporting unix computers. It works like a tripwire, calculating checksums for all the files on the computer every night and replacing anything that gets modified or removed -- or installing anything new that's placed on the server. My (somewhat limited) experience with software that trusts clients to install packages has been poor: its a recipe for having clients diverge over time and, eventually, become unmanageable.

Turning the macs into players was somewhat difficult because so much of the macos is a black box. There were a bunch of odd problems: e.g. how to make the cursor disappear, how to start a browser in full-screen mode. It was a nightmare finding a programmatic way to shut off the displays at night: there is no way to script having the mac power off the display. There is a magic keystroke, but you can't execute the keystroke with Applescript. But I found a binary someone had made that happened to work.

Our existing players are all still working, but the new mac mini that Apple is releasing now won't run that version of the operating system. And the new versions of the MacOS are less amenable to being supported by local staff. They want everything to be installed via the Apple Store. And the operating system complains if you try to remove or simplify stuff (like removing the other dozen languages you don't need). So when we started needing to build new players, I looked again for a simpler solution. Eventually, I decided to try building a player using a Raspberry Pi.

I started with the basic Raspbian Wheezy distribution, compiled radmind (you need to apt-get install libssl-dev first), captured a base transcript, and then configured the stuff I needed for a player: we used Chromium for the browser, I adapted the script (written in PHP) to manage downloading the configuration for the player and starting the browser with the correct URL, and solved a handful of minor problems. You can start Chromium in full-screen with command-line switches. We use unclutter to hide the cursor (although x11vnc doesn't like that). We use tvservice to power off the display at night. The one thing I haven't figured out: I can shut off the display at night, but I can't power the display back on without rebooting. That's not fatal: we generally only power off the displays at night and then update and reboot in the morning.

I built it all and did some testing with one Raspberry Pi. This afternoon, we got a second and I used radmind to install the player image onto the new device. I found one little snag, but it basically just worked. On Monday, we'll swap out the new one and I'll get my prototype back and can play with it some more.

I was worried that it might have trouble driving a 1920x1080 display, but it pretty much worked right out of the box. At first the display was using 16 bit color, which resulted in dithering on gradients. I tried 24 bit color, but there are bugs in the driver. But 32 bits works just fine (as long as you turn off the alpha channel). But I increased the amount of RAM allocated to the GPU to 128mb. You can play with all these parameters in /boot/config.txt. I tried increasing the VRAM to 256mb, but then the OS began to thrash when I tried to run Chromium.

I was worried that the GPU wouldn't be able to run the cross-dissolves in views_slideshow that we use for the signs. They're perhaps not quite as smooth as they were in the Mac, but they're entirely satisfactory.

It looks like it will all just work. I plan to build a new control system that's based on downloading a table and looking up configuration information based on ethernet address. Currently, we use reverse-dns, which we've outgrown. I have some questions about how long these will last: I worry a bit that keeping the browser cache will cause memory fatigue on the sd card. It may be possible to work around that by creating a disk image in RAM and using the for the cache. Still -- I'm not going to bother trying solve the issue until I find that its really necessary.

Next, we need to build one for the Climate Lab. And we want to put several into the ISB, so that each floor can have its own player. And there's the whole new Life Science Laboratory building coming online that will probably use them.

The most time-consuming part is probably removing the paper from the assemble-it-yourself machine-cut Lucite case. We could probably find a prebuilt case, but, as George says, removing the paper and assembling the case is like therapy. We can use more of that.

Information and Communication Technology Summit

As Interim Director of the UMass IT Program, I'm organizing the 2013 Information and Communication Technology (ICT) Summit. I'm excited because it's going to be awesome.

The heart of the summit will be a set of panel discussions that focus on how IT is transforming academic disciplines, education, and our everyday lives. We've got a lot of great speakers lined up. I've been involved in the IT Program nearly from its inception and the most striking thing to me has been the tension between IT as something on its own and IT as simply the transformation of how everything is done. What's the difference between "IT in Biology" and just "Biology"? I think it's a question that seems worth posing and reflecting upon.

The featured guests are three UMass Alumni that work at Industrial Light and Magic. I think students can really benefit from seeing where their degree can take them and to get perspectives from alumni reflecting on what they did as students that was helpful later on.

We're organizing a poster session during lunch. My goal is to invite students who may not have thought of their work as "IT" to reflect on the technologies they used to conduct their research, collect their data, prepare their imagery, and construct their poster. IT has become central to the academic enterprise and every poster now uses IT.

We also have spots for vendors to have a small exhibition in the Campus Center Concourse. We've got several lined up already and are looking for just a couple more.

The pièce de résistance will be a contest for Five College students to complete a series of IT Challenges. I'm having a lot of fun thinking up these puzzles and, pretty soon, will start building the infrastructure. I've got a great idea for a theme. We've got one grand prize lined up and I'm looking for more.

One thing the IT Program has always intended to do is build better connections with local business. I'm planning to use my time as Interim Director to try to make these connections. I've been meeting with anyone I can think of to find business that would like to sponsor the ICT Summit. I've found two so far (Thanks left-click advanced and HitPoint Studios!) I'm hoping to find more to help subsidize the amenities (food, etc) and to provide prizes for the contest.

Ten Years of Blogging

I saw an article today that mentioned that its been 10 years since the run up to the Iraq war. It reminded me of blog posts I wrote during that time and, when I went to look, realized that I've been maintaining a blog for ten years. Ten years ago today, I was writing about day to day minutiae. But some of the posts are interesting and insightful.

Ten years has shown that Bush and his puppet masters manipulated the evidence and lied through their teeth to conduct a war of opportunity. But they did so with the collusion of many people in the US who were led down the path without the due diligence that citizens should bear. Our responsibility does not end in the ballot box.

I continue to be horrified by the actions of the United States. The drones may have been effective at killing the al queda leaders, along with the women and children and village elders and first responders killed in accidental "bug splats" alongside them. Not pursuing terrorists with such vigor would undoubtedly result in some increased risk. But the risk of dying from terrorist attack is already infinitesimally small when compared with other causes of death. Killing people on the other side of the world with flying death robots does not make us safer.

New odious SPAM technique

A few weeks ago, I noticed a new odious SPAM technique. I started receiving email with the real name of someone from my "friend" list at Facebook with little or no text in the email -- just a link -- sent from a spammy random yahoo email address. At first, I just ignored them. I have hundreds of friends at Facebook, very few of whom routinely send me mail. Then I got an email marked as coming from "Philip Brewer" with just a link. Phil and I use google chat frequently during the day to exchange links and, when one or the other isn't online, we sometimes send a link via email so that it doesn't get lost -- sometimes with little clarifying text being necessary, since its often just part of an on-going discussion. It turns out that on iPhone, the email client doesn't show you people's email addresses: just their name. So, one day, I actually clicked on one of these links. Big mistake. Evidently, the spammers now know which name "works" for me, because I now get email frequently with his name matched up with different yahoo spammy email addresses. For the moment, I've set up procmail to flag any email coming from yahoo.com with a [SPAM???] in the subject line, to warn me. In the long run, Yahoo should be shut down for running such an insecure mail service. And spammers should be consigned to the lowest circle of hell.

Poking fun at slogans

I find slogans an almost irresistible target for mockery. This morning, I saw an article in Google News or Google Search Results that had an odd summary. The headline looked interesting, but the summary said

Melissa lives the tech-driven life she writes about. She's always on the hunt for the next gadget that will wow us with its design.

I went to the article, but discovered that this text actually isn't in the article. I puzzled about this until I found the Google Authorship page. If you follow those guidelines, even if your Google Profile isn't public, Google will wreck the results of searching for you replacing helpful summaries with your sloganish byline. It made me desperate to want to tweet the following version:

Melissa lives the tech-driven life she writes about. She's always on the hunt for the next gadget that will fill the empty place where her soul used to be.

Luckily it was 10 characters too long to post at Twitter, or I probably would have posted it. But I don't even know her! I certainly don't bear any ill will towards her: I like gadgets too! But that slogan just cries out to be made fun of.

I am similarly tempted by the excellent twitter feed Yes, You're Racist, which routinely retweets ignorant statements on twitter where people say something like "I'm not racist, but [something really racist]". This is a great public service. I even replied to one recently. At the same time, I have an intense temptation to poke fun at the idea by linking "I'm not a racist, but…" with something totally not racist, like

I'm not racist, but injustice anywhere is a threat to justice everywhere.

or

I'm not racist, but freedom is never voluntarily given by the oppressor; it must be demanded by the oppressed.

These are both quotes of Martin Luther King Jr (except for the "I'm not racist" part.)

Slogans and mockery: Maybe that's what makes me like twitter so much. It's not really long enough for serious dialog, but it's perfect for cheap shots.

Rules Committee

At the last Faculty Senate meeting, I was elected to the Rules Committee -- the group that sets the agenda and holds monthly meetings with the leadership of the administration. I will complete a one-semester term of the "at-large" seat left vacant when the previous occupant accepted a position in the administration.

The first issue brought before the Rules Committee was from the Writing Committee, which I've previously served on. The Writing Committee wants to make College Writing a prerequisite for Junior Year Writing. The General Education and the Academic Matters Councils have been consulted and expressed their support. Now, according to the chair of the Rules Committee, what's needed is a formal motion and a paper trail through the councils.

Always remember to be careful what you wish for…

The Stupid Party

Recently, Bobby Jindal said that Republicans "must stop being the stupid party":

It’s time for a new Republican party that talks like adults. It’s time for us to articulate our plans and visions for America in real terms. We had a number of Republicans damage the brand this year with offensive and bizarre comments. We’ve had enough of that. (via Real Clear Politics)

I think the problem runs a little deeper than that and, with apologies to Jeff Foxworthy, I submit that:

  • If you don't believe in evolution, you're stupid.
  • If you think "global warming" is just something scientists made up, well you just might be stupid.
  • In fact, if you use the word "believe" to question scientific conclusions and you are not, yourself, a scientist, you're very probably stupid.
  • This list could go on and on with the "offensive and bizarre" talking points that have become the mantras of the Republican party. I'm reminded of Rachel Maddow's excellent statement after the election. We need Republicans to stop disputing the facts and start proposing constructive solutions on how to approach solving the real problems we all face.

    Another Awesome Drupal Camp

    We pulled off another Drupal Camp yesterday. It was awesome -- definitely the best one yet. Everything went as smooth as silk and, although I was utterly exhausted when I got home, I will filled with bliss and the after effects of a whole day spent in "flow".

    I woke up very early and couldn't get back to sleep, so I got up around 5 and started getting ready. I made some last-minute adjustments to the schedule, tweaked the opening remarks a bit to reflect that, and had the first of many cups of coffee.

    The setup went smoothly. I went early and walked around to unlock everything. John Parker and Rick Hood showed up early. Cheryl Handsaker arrived and set up the registration table. People arrived. Everything was great.

    Kelly Albrecht and I gave the opening remarks. Kelly welcomed people and thanked the sponsors. I had two small statements that I had wanted to add:

    (Kelly) Welcome to the third Western Mass Drupal Camp! We have a great program lined up -- hopefully with something for everyone. We have a great keynote speaker this year: Jason Pamental is here. In addition to talks we also have trainings and a BoF track and some good panel discussion. So whether you've been here before or this is your first time, we're glad you're here and we hope you have a fun and informative day with us.

    (Steve) Some of you may have noticed that we added a "code of conduct" to the site this year. This was not in reaction to any problems we've ever had here, but rather to comments about other tech conferences elsewhere in the world, including the recently 29c3 conference in Germany, where a number of women expressed concerns about harassment and misogyny. After consulting with the "Women in Drupal", we've posted the Drupalcon Code of Conduct and have identified some specific people who are available if you have any problems while you are here: Josh Beauregard is our designated community volunteer, but feel free to speak with me or Cheryl Handsaker or Kelly Albrecht. We want you to have a great time while you're here.

    (Kelly) There is huge list of people to thank for making Drupal Camp happen. We need to thank Steve Goodwin, the Dean of the College of Natural Science at UMass Amherst, for providing us with this amazing venue. And our many sponsors: Left-Click, Acquia, Own-Sourcing, Knectar Design, User25 iDonny, Clearbold and Origin 8. Coffee is thanks to Knectar and bagels are thanks to OwnSourcing. Pizza and soda by left-click Advanced will be for lunch, User25 iDonny has provided funding for this years various marketing materials. Finally, we'd like to acknowledge the Drupal Camp Steering Committee that worked behind the scenes to make everything happen from managing the website to building the schedule to requesting the wifi to making the nametags -- we couldn't have done it without these folks: Cheryl Handsaker, Rick Hood, Matt Mattingly, John Parker, Jim Skowrya, Tom Hoogendyk, Josh Beauregard.

    (Steve) Finally, I wanted to take a moment to have remember us Aaron Swartz today. Even if you didn't know Aaron, you probably know some of the things he worked on, like RSS and the Creative Commons and Demand Progress, the organization that fought off SOPA and PIPA last year. Aaron was a tireless advocate for information freedom and the potential for technology to empower people and transform lives. Unfortunately, Aaron took his own life last week after the Department of Justice decided to make an example of him for his activism to make data created with public money available to the public for free. The current Computer Fraud and Abuse Act is currently so broad that all of us probably technically violate it every day. There is an effort -- called Aaron's Law -- currently underway to reform the act. I urge you to get involved. But let us please have a moment of silence to remember Aaron.

    I also wanted to let you know of another upcoming event: on March 28th, the UMass IT Program is having the ICT Summit with UMass alums from Industrial Light and Magic with technology demos and panels all day.

    I had scheduled an Open Atrium BoF for the first time slot in the Computer Resource Center, but decided to give over the lab space for the Drupal Training that was oversubscribed. Nobody came to the BoF anyway. But I made good use of the time, helping with some technical support issues in the workshop and networking with people.

    In the next slot, I sat in on Cheryl's Security Panel. I had recruited Gary Parker, the OIT Drupal sysadmin. It was a good discussion with thoughtful questions -- mainly from a practical site manager/sysadmin perspective. The only gap: We didn't really talk much about Drupal architecture or programming practices. But you can't do everything in 45 minutes.

    During the lunch hour, I hung out with Buzz Hoagland. We sat in a corner and chatted amiably about stuff. I'm trying to recruit him to participate in the upcoming ICT Summit. As lunch wrapped up, I organized a Group Photo taken by Matt Mattingly which turned out great.

    Based on a recommendation by Jim Skowrya, we'd invited Jason Pamental to deliver the keynote. He delivered a thoughtful, insightful lecture that was both highly theoretical and yet entirely practical about the role of design in web development and how the web is evolving. I thought it was great in that it had something for everyone.

    Jim also led the Business Leaders panel that followed. Being in academia, I tend to be insulated from a lot of the realities of running a business (for which I am unfailing grateful), but its interesting to have a window into that world from time to time.

    Next, Tom Hoogendyk and I gave our presentation about the digital sign system that we created. I was too busy in the weeks leading up to the presentation to spend much time getting ready. Tom and I met a week ago and sketched up an outline. And we got all the stuff together, but we hadn't really practiced the presentations, so we were a bit disorganized. Still, we had some cool show-and-tell stuff. We showed our existing system and told the story of how it was created, led people through the architecture, and then passed around a Raspberry Pi to describe where were going. Unfortunately, fact that the wired network is mostly turned off in the ISB bit us again. We tried to share our Wireless connection via Ethernet, but it claimed that since we were using 802.1X, we couldn't do that. FAIL.

    After we packed up all our stuff, I was just dead, so I mostly just sat during the last period and looked at my twitter feed, to see what people were saying about the camp.

    As the last session came to an end, I roused myself to help put the tables away, clean up, and then walk through everything one last time to power off projectors, lock up, and make sure everything was in good shape.

    I went to the after party briefly and had just one beer (that Cheryl bought me. Thanks!) It was nice to see everyone and then head home to rest. It was a lot of work, but the team has gotten really good at pulling these off. The first time, everyone was afraid that they'd get sucked in for more than they'd bargained for -- I know that's how I felt. But it hasn't worked like that at all. What a great bunch of people!

    I slept well last night.

    Lance Armstrong

    I've never been one for worshiping heros of any kind and, although I didn't start watching the Tour specifically to see Lance, it was exciting to watch him race. And those memories are now despoiled, knowing that he was just another cheater and liar.

    People are excited about his upcoming appearance on Oprah. I thought Dave Winer's response was the most appropriate:

    I can't imagine why anyone cares what Lance Armstrong says. He's a cold liar. I don't care why he says he lied. It's sure to be a lie.

    With this in mind, I saw CNN's 12 Lance Armstrong Quotes to Know and decided to create my own list:

    Top Ten Lance Armstrong Quotes

    1. I didn't use performance enhancing drugs.
    2. I'm telling you the truth.
    3. I'm not lying.
    4. I'm really not lying.
    5. I'm not lying to you now.
    6. I'm still not lying.
    7. This isn't a lie.
    8. This isn't a lie either.
    9. I would never, ever lie to you.
    10. I am not a liar.

    Protecting yourself from Ransomware

    I drafted this note for the faculty in the Biology Department, but others might benefit from it as well.

    Another recent Java vulnerability is being exploited and because it's Java, it can affect PCs, Macs, and Linux computers. Some attackers are using this exploit to install Ransomware.

    Ransomware encrypts your hard-drive (and attached devices) and makes your data unavailable to you unless you pay a "ransom". Sometimes the demands for money are made to look like law enforcement or legal threats. There may be no way to get your data back if you get compromised by one of these trojans. But there are strategies you can use to mitigate your risk.

    Last year, 50% of computer attacks exploited Java, but most people don't even need it. Unless you know you need to use Java applets, you can safely uninstall the Java plugin. This will still allow you to run Java applications on your computer, but will not allow a website to run Java code on your computer unless you download it and launch it yourself. If you google "uninstall java plugin ie8" or "uninstall java plugin mac" you can quickly find directions that will help you uninstall the java plugin. Be aware that subsequent operating system updates may reinstall the plugin in the future.

    I encourage everyone to consider using the "No-Script" add-on for Firefox. No-script prevents all scripts and plugins from running in a webpage unless you specifically allow them. This can be inconvenient, because many webpages require some scripts and it sometimes takes a few tries until you find out which ones are required for a webpage to load correctly. No-Script also blocks clickjacking and several other shady webpage behaviors. It isn't perfect, but it greatly reduces your exposure to being compromised via the web.

    Adobe Reader is the next most common vector (30%) for being compromised. Consider using a different application for viewing PDFs (like Preview or the Schubert-IT PDF Viewer plugin) and disable or uninstall Acrobat Reader.

    Finally, if you have a lot of irreplaceable data, you might consider hedging your backup strategy: instead of a single backup, consider making two. Or don't leave your backup drive connected constantly: disconnect it and only reconnect every week or so, after you've shut down all the other applications, then run it over night, and disconnect it again.

    There is no foolproof way to avoid becoming compromised, but it's worth reducing your exposure to risks as much as possible and trying to minimize the potential consequences.

    Pages

    Subscribe to RSS - Steven D. Brewer's blog