jump to navigation

Making an Inch an Inch June 3, 2009

Posted by gordonwatts in computers.
add a comment

In one of my last posts I wrote about Bill Hill and his efforts to improve onscreen reading. For me this has always been about high resolution displays. It would seem that Bill, who has thought about this a lot more, agrees. When I buy a portable there are two criteria. First, it has to be a convertible tablet. Second it has to be high resolution. The high resolution is for one reason only: gorgeous rendering of PDF documents. The more pixels per letter the better the letter looks. It definitely works!

Bill is constantly raving about his brand new Apple (he is running Windows on it):

But I have to say, their displays were not in the same class as this 133ppi display from Apple. It’s stunningly bright and crisp.

The key here is crisp. I have a large 1280×1024 monitor at home. It has one of those glass screens – the ones that reflect and are really really bright. I’ve never seen my photographs look so good as on that screen. But pop-up a PDF and compare it to my 1080p 24” screen? No comparison. Looks a lot better.

There is one problem. The OS and web pages. They all render things much smaller than they are designed to.

In Bill’s blog postings, however, I discovered there was a way to configure Windows to set the DPI correctly. Basically, if you asked your computer to draw a line an inch long on your screen, it would come out an inch only if your screen was built at 96 DPI. My X61T is 147 DPI! That makes the text too small. So my 9 pt text appears as something much smaller, which can be a problem:

It’s especially complicated because humans need (not want, need) to read type which is between 9 and 13 points high. This dimension is dictated by the size of the foveal area in the retina of the human eye, which is only 0.2mm in diameter, with about 1.5 degrees of visual arc.

Ok. So at least Windows has something in it that will allow it to set the Pixel DPI. I set it to 147. Boom. The inch was really an inch (I’d never seen that before). But it was also clear that not much else would work! Web pages were a disaster. Many programs I depend on acted very oddly (who would have thought RealVNC would have so much trouble with a setting like this!?). Such a pity, but MS Office, and the OS itself looked pretty good. So I had to set everything back (to about 120 DPI). My impression from reading around is because most programming is done in terms of pixels, not in terms of actual sizes or lengths. I’d never given this any real thought when writing my own code.

BTW, I have a Lenovo X61T for my portable. The high resolution screen is great (hey, better than the Apple), but it isn’t as bright or crisp as I’d like it. Apparently that is because it is a tablet, so the digitizer takes the edge off it a bit. So it is a compromise machine in that sense.

ArXiv on the iPhone – Time to get rid of PDF May 28, 2009

Posted by gordonwatts in archive, computers.
19 comments

A friend of mine, Ann Heinson (thanks!), sent me a link to a UK Telegraph blog posting: ArXiv on the iPhone: a pocketful of Science. ArXiv is, of course, the main paper repository for physics papers of all sorts. The iPhone applications allows you to browse the latest papers, or perhaps search for a particular paper. It was particularly gratifying to note that the best written one was done by David Bacon, a fellow faculty member at University of Washington and also a great blogger. Included in his app is the ability to store papers for later offline reading.

Which brings me to my own personal soap box: offline reading. Here is an expert from the original text on the UK Telegraph:

As the full texts of the papers are not available and the PDFs are often divided into columns, reading on the iPhone’s small screen is not always a very pleasurable experience. The only way to change the font size for easier reading is to zoom in on the text, but as the columns do not change you will probably find yourself scrolling horizontally as well as vertically, which can be wearing.

Before I rant on PDF, let me say that when it arrived, and mostly to date, there isn’t much better than PDF. But it’s time for it to go. Its biggest sin, in my mind: static formatting. I’ve been known to read ArXiv papers on my portable 1440×1050 screen, my 1080p desktop screen, my 48 inch TV screen, a old 1280×1024 screen, and a tiny 800×600 screen. And that doesn’t include a Kindle or an iPhone. PDFs problem: it displays exactly the same way on all those screens! More next time.

Disclaimer: I do not own an iPhone myself, so I’ve not actually tested any of these apps.

The Kitchen Sink May 20, 2009

Posted by gordonwatts in ROOT.
3 comments

While the plane was bouncing all over the map, it occurred to me that ROOT is a lot like Microsoft Office (indeed, any product like Office).

Looking at the list of libraries/packages in ROOT you might be tempted to call it bloatware. You’d be right, of course, but, just like MS Word and other similar programs, the libraries you think are important are different from the ones that someone else thinks are important. And almost all the libraries are available for separate use as well! But you’ll notice that few people are using it that way.

The reason is obvious – simplicity.

The brilliance of large software packages like MS Office and ROOT is not that they innovate (though both certianly do), it is that they have taken tried and true ways of doing things and made them work together by packaging them up and building bridges between them. Take TMVA, for example, the package that allows you to easily implement various multivariate analysis techniques (like a boosted decision tree). You can get that software separately – there are lots of packages out there. But TMVA is specifically designed to work with a TTree and other things in ROOT.

Once you get yourself into ROOT you have access to all these tools – and the potential barrier you have to get over to use them is minimal. You want to switch to something else? Of course you can do it – but it will be a lot of work! Just like MS Office. ;-)

I think people complain about ROOT and how hard it is to use, but use it anyway for the same reasons they complain about MS Office and its daughter programs. Fortunately, for MS Office, there is real $$ involved so other companies are finally starting to compete – which I hope will make MS Office better. I don’t see anything like that coming along to challenge ROOT until after I retire (or there is a complete revolution in how we do data analysis in HEP).

Evil Computer Virus May 7, 2009

Posted by gordonwatts in computers.
6 comments

Ugh. I hate computer viruses. I hate them because they make me do extra work. I don’t like the work much because I don’t think of it as interesting – why spend my time programming security fixes when I could be trying to search for the Higgs or something similar to that. However, it must be done.

Up until very recently I’d always thought that putting a set of machines behind a firewall, and not letting anything through that firewall, was a great way to secure them. Since an attacker from the outside couldn’t penetrate, you’d be safe, right? A random port-scan of a computer behind the firewall will just turn up a “no one home” answer because the firewall will block it. This makes security a lot simpler.

Until the Phalanx2 virus came along. Actually, virus is the wrong word here. It is really a Trojan horse. Or perhaps a combination of a Trojan horse and a virus. It is insidious. Most viruses break into a computer and then start scanning for any other computer near by that might vulnerable, break into that computer, and then repeat. As a result they can spread very very fast. However, the firewall I mentioned above totally defeats them. They try to scan a machine behind a firewall and… well, the firewall blocks them. So those machines are safe.

But us humans have a way to get to those machines behind the firewall. We have a special set of encrypted commands that we execute that will poke a small hole through the firewall and allow us to access these machines. I use this technique all the time to access computers at Fermilab and CERN. It allows me to help maintain the data acquisition system at DZERO, for example.

And this is where Phalanx2 is clever. Once it gets onto a machine it watches for me to make these very types of connections, memorizes the keystrokes I used to make them, and then later, perhaps while I sleep, it will repeat the same actions and gain access to that machine behind the firewall. It then uses a bug in the Linux kernel to worm its way into the system and set up shop. Ops! Infected machine behind the firewall!!

The upshot is it is suddenly as important to keep those machines behind the firewall as up-to-date and patched as the machines that are outside on the internet. This is more work. A lot more work. And, frankly, it isn’t very interesting work. :( Bastard virus writers.

Knocked Back to the Dark Ages April 26, 2009

Posted by gordonwatts in computers, life.
4 comments

Ugh. A as-yet-undiagnosed hardware problem took our our group’s small mail server. I’m amazed at how much of a crimp this has put in my ability to get work done! I feel like I’m back operating in an environment about 10 years ago.

I guess the key thing about the way I work is I use multiple computers – regularly 3 of them (big machine at office, big machine at home, and portable). I’ve carefully set everything up so that if I do something on one machine about 5 minutes later I can look over at any other machine and see what I did. This is fantastic for traveling: I can be working on my home machine, finish. About 5 minutes later pack up my portable and jump in a taxi to the airport confident that the document I’d been editing on my home machine has propagated to my portable without me having to do anything extra.

One major component of this synchronization strategy is my Outlook mail server. It keeps contact lists, tasks (around which I organize about 80% of my professional life), and, of course, my email, all in sync across the various computers and my cell phone. This is now gone – which means when it comes to these three things each computer has become an island. All that work I did on making public versions of the paper – and the to-do lists I was keeping track of? Well, they are all back on my home computer. Not with me here in Geneva where I really need them.

There are temporary work arounds. I can log into my home computer from here and see what I was doing. I’ve redirected my email to a regular account run by the university, etc., but it feels like I’m spending real time keeping my computers in sync now, rather than getting work done. No wonder many of my colleagues have given up multiple computers and just carry a portable around everywhere, or split their computers by task so there is minimal reason for them to talk to each other.

BTW, I used UW’s web interface for email. Compared to the full interface I’m used to that wasn’t very pleasant! One of these days I need to spend some time trying out the various online services to see if anyone has done it better (I’m sure that is the case). Hopefully the hardware will be online Monday sometime! Of course, that is Monday USA time, by which time I will have already made it all the way through the day!

It’s the UI that counts (technical) April 24, 2009

Posted by gordonwatts in CERNVM, computers.
add a comment

In my last post I mentioned that I was using CERNVM. In order to use that I need a virtual machine program of some sort. I’m on windows (Windows 7 at the moment), and so the three main ones that are available to me (and free!) are Virtual PC, VMWare, and VirtualBox. I’ve talked about VirtualBox before. My opinion hasn’t changed about the thing.

But now I’ve done some speed measurements. For running and building software in the ATLAS environment, it seems like it is about 10% slower than Virtual PC (Microsoft’s edition). The networking seems to be about the same – at least as far as I can tell. So the question becomes: choose UI over functionality? For me the 10% hit isn’t big enough, so I’ll be sticking with it. But I thought it would be interesting to comment on this.

BTW, this was the 2.1.4 version of VB. The 2.2.0 version, which is the latest and sounds like it might be a bit more efficient, does not play with with Windows 7. Much as VMWare took over all my USB devices and wouldn’t give them back, VirtualBox 2.2 takes over my network connection and forces me to basically shut down and restart the networking stack in order to get them back. Hopefully there will be some bug fixes soon!

But something else came out of this. If you are planning on running virtual machines – run, do not walk, and buy/build a machine build on Intel’s Core i7 architecture (as I did). That home machine blew the doors off anything else I had around. x2 faster in many cases. When doing straight single-threaded calculations it was only 30%-40% faster than my other machines, so there must be some hardware improvements for virtualization in the hardware. Both Virtual PC and VirtualBox were able to take advantage of whatever improvements were there (err) out of the box.

Take What You Need April 22, 2009

Posted by gordonwatts in ATLAS, CERNVM, computers.
add a comment

cernvm I don’t know where this idea came from, but it was brilliant – CERNVM. It solves two big problems, all at once. And in such a elegant way.

Here is the basic problem: you want to build and run ATLAS (or CMS, ALICE, LHCb, etc.) software on your local university machine or laptop. This is painful for two reasons. The first reason is that it is not likely you are running the proper kind of Linux. Scientific Linux was designed to run science and particle physics code, not run email or have a nice gui (i.e. it isn’t a Mac, or Windows, or ubuntu). There are ways around this, of course – start up a virtual machine and install scientific linux on it, etc. But then you hit the second problem: you have to install the ATLAS software. I’m not sure about the other experiments, but for ATLAS this is a 6 gig affair. And, each time a new version of the release comes out you have to install it all over again. In a virtual machine this can be painful (take hours of your time).

This is where CERNVM comes in. The first realization was that when you compile, build, and test-run, you need only about 10% of that 6 gigs of software. Of course, everyone needs a different 10%, but in general, it is only a small fraction of the release that is needed. So why download everything? The second realization was: automatically install each release or file only when it was needed – and automatically add each release. This second bit means that I, as an end user, never have to install another ATLAS release. Ever! How sweet is that!?!? I can just use it. As soon as a new release is out, and CERN publishes it, then I can access it!

CERNVM is a virtual machine. For folks that have been around CERN a while, they will know that CERNVM refers to the venerable IBM system that CERN used to have as one of its mainframes. According to Predrag Buncic, so I believe is the lead on the modern CERNVM project, that choice of names was on purpose. See Predrag’s talk slides from CHEP for some more details.

CERNVM accomplishes its magic with a FUSE file system. This brilliant open source project creates a virtual file system. Whenever you try to access a file in it, FUSE hands the request off to some user-written code. In CERNVM’s case, this code looks for the file up on a master server at CERN, and then downloads it locally. Once it has been cached locally, the file is accessible like any other file. So, CERN can publish a whole ATLAS release on their master servers, and then when I try to setup that release, CERNVM will automatically bring down exactly the files that I need to get my work done. Better yet, if I’ve already got the files locally, then I can hope on an airplane and everything will still work! Not to shabby!

The virtual machine part of this gets around the wrong OS type – it is based on Scientific Linux. Thus, the two main problems with running local build code are solved! Very nice, eh!?

Pick The Trends March 27, 2009

Posted by gordonwatts in CHEP, Conference, computers.
5 comments

I’m at CHEP 2009 – a conference which combines physics with computing. In the old days it was one of my favorites, but over the past 10 years it has been all about the Grid. Tomorrow is the conference summary – and I sometimes play a game where I try to guess what the person who has to summarize the whole conference is going to say – the trends, if you know what I mean.

  • Amazon, all the time (cloud computing). Everyone is trying out its EC2 service. Some physics analysis has even been done using it. People have tried putting large storage managers up on it. Cost comparisons seem to indicate it is almost the same cost as using the GRID – and so might make a lot of sense when used as overflow. As far as cost goes, it is not at all favorable for storing large amounts of data (actually, transferring it in and out of the service).
  • Virtualization. I’ve been saying this for years myself, and it looks like everyone else is saying it now too. This is great. It is driven partly by the cloud – which uses virtualization – and that was something I definitely did not foresee. Cloud computing and virtualization go hand-in-hand. CERNVM is my favorite project along these lines, but lots of people are playing with this. I’ve even seen calls to make the GRID more like the loud.
  • Multi-core. This is more wishful thinking on my part, but it should be more of a trend than it is. The basic problem is that as we head towards 100 cores on a single chip there is just no way to get 100 events’ worth of data onto the chip – the bandwidth just isn’t there. Thus we will have to change how we processes the data, spending multiple CPU’s on the same data – something no one in HEP does up to now. One talk mentioned that problems will occur at about 24 CPUs on a single core.
  • CMS has put together a bunch of virtual control rooms. Now everyone in CMS wants one (80% in a few years). These are supposed to be used for both outreach and also remote monitoring. This seems successful enough that I bet ATLAS will soon have its own program. I’m not convinced how useful it is. :-)
  • It is all about the data! Everyone now says running jobs on the GRID isn’t hard, it is feeding them the data. Cynically, I might say that was only because we now know how to run those jobs – several years ago that was the problem. This is a tough nut to crack. To my mind, for the first time, I see all the bits in place to solve this problem; but nothing really works reliably yet.
  • And now a non-trend. I keep expecting HEP to gather around a single database. That hasn’t happened now, and so I don’t think it ever will! That is both good and bad. We have a mix of open source and also vendor supplied solutions in the mix.

Ok – there are probably other small ones, but these are the big ones I think Dario will mention in his final talk.

 

img_header

UPDATE: So, how did I do? Slides should appear here eventually.

    1. Data – and its movement was the top problem on his list.
    2. GRID – and under this was Cloud computing. He made the suggestions that some GRID’s should move to look more like cloud – no one reacted.
    3. Performance – optimization, multi-core and many core appeared under this as well.

So, I didn’t do too badly. The big ones I had were all addressed. He had a very cool word analysis of the abstracts – which I have to figure out how to do.

I’ve got some good notes from the conference, I’ll try not to get too distracted by teaching next quarter (ahem) and post some of them in the near future.

ROOT Builder v1.31 February 26, 2009

Posted by gordonwatts in ROOT, ROOT Builder.
2 comments

There are only three weeks left to term! I can’t wait! And now for something a little bit different…

This weekend I took a few hours off and finished up some remaining work on a tool Axel and I created a year ago, ROOT Builder. This is a very small windows utility that is useful if you want to build ROOT from source on your computer.

image

When you hit the “Generate Project” button it will create a VS 2008, 2005, or 2003 project that you can then edit and access in the IDE. Unfortunately, this is still using the ROOT make file and not a native VS IDE project (which means the build is a bit slow). However, if you decide to build debug mode then this will allow you to hit “debug” and step into ROOT right away. Very handy for those odd I/O bugs that you can’t solve with Philippe’s help! ;-)

Let me know if you have any questions.

VirtualBox February 11, 2009

Posted by gordonwatts in computers.
9 comments

I’ve recently become a huge fan of VirtualBox. This is virtual machine software – it allows me to run one operating system (like Linux) inside another (like my Windows box). I’ve tried two others – Virtual PC from Microsoft and VMWare. The nice thing is these are all free. This type of software is pretty cool – it lets you run a machine within another machine. I use these all the time – mostly to run Linux because I need it for work.

Virtual PC was my old mainstay, however its Linux support is barely functional (it doesn’t support a very good graphics card and so default installs of Linux often fail). VMWare took over my USB devices on my laptop and wouldn’t give them back until I rebooted. :-) But VirtualBox seems to be quite good. And of the three it has the nicest user interface of the three in my opinion.

There is one problem with it, however. Its license. I’d not caught this until today (despite using it for several months). It is free for anyone to evaluate. And if you are using it at home for private development work then you are safe. If you are in an educational institution you are ok. This covers my use of VirtualBox for my research. But what if you are at a National Lab – like Fermilab or CERN? As far as I can tell, you have to pay. This is too bad as a substantial group of people who would want to use this in research are at these national labs. I guess they are stuck with VMWare or Parallels (do people pay for this? Or is it free?).

UPDATE: As Jeff points out in the comments, the licensing FAQ makes it clear that folks at CERN/Fermilab can use VitualBox without problems… the problem only comes in if centralized CERN mgmt tries to install it on everyone’s PC. Very nice!