Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror

Comment Re:diybookscanner.org forum (Score 1) 122

I built a primitive single-camera scanner using a cardboard box, a piece of glass, and a point-and-shoot camera and tripod I had handy, after reading that site. It was a pain lifting the glass to turn the page, and I spent a lot of time trying different lights (and locations of lights), but It worked well enough that I decided to pursue it seriously.

I started looking at building one of the better scanners using plans on that site. But after a lot of time thinking about it, and reading about the many decisions that went into the Archivist scanner kits, I finally decided to just buy one of their kits. Yes, it was $1200, but in the end I decided that just getting good quality wood, glass, and lights wouldn't be all that cheap, and I don't have a lot of free time, so it was worth it to me.

I got a couple of refurbished cameras from Canon, and a raspberry pi to drive the cameras. I use the SpreadPi software, and connect to it via a web browser on my laptop (I don't have room for a monitor/keyboard near the scanner, but can lay my laptop on a nearby bed), and a super-cheap foot pedal that I use to trigger the cameras.

I can scan about 1300 pages/hour (about twice as fast as when I started several months ago). Spreadpi then lets me download a tar file containing the JPG images (from the web browser). I then spend about 2 minutes per book opening a few pages in Gimp (the front cover, back cover, one even page, and one odd page) to determine cropping regions, then use a Perl script that calls ImageMagick to crop and rescale everything and stitch into a PDF. I reduce the image size a bit to reduce file size without compromising readability much. I also convert to a grayscale colormap for B&W books to further reduce file size.

I save all the original JPGs because I expect later I may re-do the post-processing in a better way. E.g. for now I am not doing OCR. I'm mostly scanning children's books and math books, in preparation for an extended international trip. I didn't want to haul a bunch of my kids' books with me, nor the part of my library I need for my work. But for now, the 2 minutes or so of attention per book I need to devote (after physical scanning) makes this not feel like a chore.

Comment amazon doing it with sales too (Score 1) 144

Lately, occasionally when I go to buy something on amazon, it won't let me add it to my cart. I then notice it says "this item reserved ecxlusively for Prime members" or something like that. OK, my money is not good enough for amazon, I will buy it elsewhere. I don't know why they think I'm going to shell out a pile of extra money because of this tactic.

Comment Re:What about Confidence (Score 4, Interesting) 243

Unless kid #2 in fact had tried very hard but still failed, and says to himself, "Even my best attempt was not good enough. Next time I won't try so hard; that way, if I fail, I can just claim/believe it's because I didn't try my best." There are many ways to try and protect one's confidence in the face of failure.

Not that I disagree with the basic premise here, that it's better to praise kids for effort (something they can control) than intrinsic talents.

Comment Re:Sun Lab in '87 (Score 1) 204

I also started on X11 at RPI around 1987, first in the CS Dept Sun Lab and later the PAWL. The CS Dept had some cool stuff back then -- Sequent Balance 21000 16-node shared-memory machine, Intel 32-node hypercube with message-passing, an SGI workstation, and the CAM-6 (Cellular Automata Machine). And their main workhorse VAX running some flavor of BSD if I remember correctly. They also had some other machine running AT&T System V, but I didn't like it as much because of the differences from BSD.

I wrote some low-level X11 code to display raster images very quickly for lattice animation, and still use the code to this day (for a while I used it under Linux, now I use it under Mac OS-X). It's so low-level, the first version I wrote for 1-bit displays depended on the order of bits within bytes and bytes within words, and when I ran it on a DEC workstation one time I found that that architecture had things packed together in the opposite order, and I needed to tweak the code to make it work there. Later I eventually updated the code to use 8-bit colormaps. I got pretty spoiled, being able to write some code and then still use it 20+ years later.

Comment Re:Why tenure? (Score 1) 193

I wish I had mod points, as that was a very nice summary of the US system. The only slight edit may be to also point out that even when you get to the Associate Professor level, you're so used to working full bore that it's hard to step back and enjoy/appreciate the sudden release of pressure due to job security (that you've fought so hard for for so many years). That is, what you said about that at the Full Prof level also can apply at Assoc Prof level.

Also, as someone who grew up programming an Apple ][+, I love your username. I entered that command so many times, I guess I'll never forget it.

Comment Re:Grants-whores and publicists in academia?!?!? (Score 1) 233

When that happens, you revise the paper to make it more clear how the material differs from the earlier, smaller paper, and submit to another journal (if that journal won't consider a re-submission), and also in the cover letter to the editor/reviewers emphasize why this new paper is worthy of being published even with the existence of the prior one.

At least with journal articles you have the opportunity to provide these extra out-of-band communications, and there is room for back-and-forth exchanges between the authors and the reviewers/editors. With grant proposals, if you get rejected, that's it, there's no chance to respond to the reviewers and resubmit for them to re-evaluate. You wait another year (depending on the agency/program; the program I use at NSF accepts proposals once per year) and submit a revised proposal, and get a completely different review panel, which wants to see completely different things (and may even criticize things which were added to the proposal to address comments from the previous year's reviewers).

Comment Re:Another way to save money (Score 1) 851

Pretty much the same story here -- I have a TracFone Motorola V170 -- I think it's about 5 years old, and I paid about $30 for the phone back then. I buy a $100 card once a year, which has more minutes than I need (I still need to buy the card to extend the service for another year). My battery was dying on me a couple years ago, but a friend had the same phone and switched to T-Mobile, so I cannibalized his battery. I'd actually love to have a smartphone, but don't want to pay $80/month for one.

Comment Chinese version of this (Score 1) 203

Pleco Software ( http://www.pleco.com/ ) has a version of this for their excellent Chinese dictionary software. There's a video of the prototype at http://www.youtube.com/watch?v=x7VTo0656Rc

I'm not sure if the above works on the latest (4th-gen) iPod Touch with camera, or only iPhone.

I'm not affiliated with Pleco, other than as a very happy customer of theirs for about 8 years. I first got their electronic Chinese dictionary software for a Palm Pilot back then, and then more recently migrated (for free) to their iOS version for my iPod Touch. The dictionaries they license aren't cheap, but they're very good, and their software and support is great; I highly recommend them.

Comment Re:Show me some example code (Score 1) 382

I used to think R was very specific for stats as well, but eventually a colleague told me he was pretty sure it could do most of what I used Matlab for (spatial stochastic models, basically continuous-time stochastic cellular automata). See my comment and link to Matlab/R reference over at:
http://developers.slashdot.org/comments.pl?sid=1084091&cid=26371723

Comment Re:Show me some example code (Score 3, Informative) 382

I used to use Matlab quite a lot (mostly for prototyping simulations and for visualization; I use C for my "real" simulations which take a lot of CPU time, since they run so much faster in C). I learned R about 2 years ago, and found that it can do pretty much everything Matlab can that I need for my own research.

Anyway, I wrote up a "Matlab / R Reference" that translates the basics between the two packages. It doesn't have highly specialized stuff, but many people have found it handy. I use my own reference quite a bit myself, since these days I mix up commands between the two packages quite a bit. It's available at:
http://www.math.umaine.edu/faculty/hiebeler/comp/matlabR.html

Comment Re:Freak your colleagues out with "no loop" code.. (Score 1) 382

If you want to get the rows of an array (x) with 0 on column 1, you do x[x[,1]==0]. basically, x[,1] gives you a one column table with the appropriate column, x[,1]==0 gives you a vector of true,false values, which you can use to index into the array again.

While that does pull out the rows which have 0 in column 1, it packs those return values into a vector (the first element of each of the selected rows, followed by the second element of the selected rows, etc.). If you want to extract those rows of the matrix, and keep them in matrix form, then this will do it (note the extra comma):
x[x[,1]==0,]

Yes, R is pretty nice in that sense. Matlab can do many of the same tricks, e.g. the Matlab equivalent of my command above is
x(x(:,1)==0,:)
Matlab doesn't have a simple way to do your version that I know of, since Matlab doesn't automatically recycle a vector index to a matrix. You'd have to do something like x(repmat(x(:,1)==0,n,1)) where n is the number of columns in x -- or to avoid hardcoding the n, you could do x(repmat(x(:,1)==0,size(x,2),1)) which is starting to get ugly isn't it?

Slashdot Top Deals

DEC diagnostics would run on a dead whale. -- Mel Ferentz

Working...