Many products are being sold that are suppose to increase your energy. Unless your food is completely indigestible, this will always be true. Food by definition has calories which provide you with energy. But food manufactures have moved on and this trivial definition of energy is rarely used. These days energy food typically contains Caffeine. In particular energy drinks, such as Red Bull, Mother and V contain a considerable dose.Read More
Harry Davis and me built a cable to connect a LEGO Power Functions (PF) motor to a Mindstorms EV3. The goal is to enable the EV3 to control PF motors. In particular I wanted to control a RC train motor through an EV3.
LEGO produced a cable (8528) to connect old motors (RCX) to the NXT, but it is no longer in production. You can still get them through Bricklink, but it will cost you dearly. You still need a PF extension cable to convert the old motor plug (RCX) to the current PF plug.
Firgelli produced a cable that allowed you to connect an modern PF to NXT directly, but it is also no longer in production.
There are two more solutions but both are more complex and costly. First, you can use the PF Mate from Mindsensors (currenlty $35). It sends IR signals to the IR PF receiver and thereby allows you to control motors even at a distance. The second option is the GlideWheel PF (currently $38) that directly connects a PF motor to the EV3. It also features a rotation sensor so that you can control the PF just like you would control a Mindstorms encoded motor. Both of these solutions offer a great functionality but they are also expensive, in particular since the components necessary for a custom made cable only costs a few cents.
At Amazon you can get a book Make: Lego and Arduino Projects: Projects for extending MINDSTORMS NXT with open-source electronics that will show you how to do such projects, but for now it is time to pull up our sleeves and do it ourselves. TechnicRobot already showed that it can be done but detailed instructions were not yet available. We also built a casing for our cable so that it can be easily integrated into your model. Here is the final result:
And here is a video that shows our solution at work:Read More
Dexter Industries offers the DLight for LEGO Mindstorms. It allows you to control four full color LEDs through a sensor port of your EV3 or NXT. The first thing to do is to set the toggle switches on each LED to a unique address, so that you can control each LED individually. In the NXT-G environment you can still decide to control all of them at the same time if desired. The biggest nuisance is that only the first LED can use its red component. The other three cannot show any red light. Dexter acknowledges this bug in its forum and offers refunds. It is ridiculous that Dexter does not warn its customers on its product page, in particular since they do not intend to fix this problem.Read More
Recently me and my father digitized two large books. My father did the bulk of the work by photographing more than 1200 pages. He first photographed all the odd pages and then all the even pages. As with any repetitive task, errors occurred and he missed a few pages.
All the even pages were in one folder and all the odd pages in another. The goal was of course to merge them into a single PDF document. If it wasn’t for the occasional missing pages this could have been straight forward. Just use Apple’s Automator to rename all the files. Automator allows you to give a bunch of files a base name followed by a serial number.
The trick is to serialize the odd pages 1-1200 (e.g. drewes0102) and then the even pages in exactly the same way. This is possible since the even and odd pages are still in separate folders. Next you can use Automator again to add a suffix to the file names.
Give the “a” suffix to the odd pages and the “b” suffix to the even pages. You can then move all the files into one directory. They will be sorted as:
The last step is to either use Adobe Acrobat or Automator to merge the individual files into a single PDF document. For the automator option you first need to create a PDF document only for the even pages and one for the odd. The “Shuffling pages” options allows you in a third step to combine these two PDF documents into one.
Since there were certain pages missing this solution was not sufficient. If for example page 3 was missing then the sequence would be:
It would also be great if the book’s page number would correspond to the PDF document page number. Meaning that if you got to page 103 in the PDF file, you would like to see page 103 from the book. The solution was to include white dummy pages for the missing pages.
The following pages then all need to be re-serialized. Meaning that you first have to move all the good page into a dedicated directory, call it “good images”. Add the white dummy pages with the the right serial number manually. You then rename all the remaining files in the original directory. I decided not to use the a/b suffix solution described above, but to re-serialize the files with an increment of 2. That way I could continue to look at each page scan and ensure that the page number in the scan was the same as its file name number. Jürgen Brandstetter was so kind to help me writing a small script to rename the files:
declare -i i=1; for file in *.jpg ; do new=$(printf "%04d.jpg" "$i"); mv "$file" "rename/drewes"$new; i=$[$i+2]; done
In this script i defines the starting number of the renaming. The script searches for all the files that end in .jpg and renames them starting with i. In case of the missing page 3 it would have to be for all of the following pages i=5. It is also important to notice that a directory called “rename” needs to present in the image folder. The renaming is done by moving the files into this directory.
I created a simple text document and saved it as script rename_serial_odd.sh on the desktop. Use the Terminal to make that file executable with:
chmod +x rename_serial_odd.sh
You should then use the Terminal to get to the directory in which the files are that you intend to rename and that also include the rename folder. You can then call the script as:
You need to complete this process for both the even and the odd pages. The advantage of this method is that you can always check the filename against the page number of the book. Once you complete the adding of dummy pages and renaming the files, I moved the even and odd pages into one directory. The last step was to use Acrobat to merge all the files into a single PDF.Read More
Together with my father I digitized the German book “Die Chronik der Drewes” by Hans Troebs. It is 2127 pages of part one and two. It has been a major effort to photograph and OCR the whole book. This book is about the family history of the family Drewes all across Germany. Here is the German summary:
Die Chronik der Drewes, Dreves, Drews, Drefs, Dreffs, Drebes, Drebs, Dreps, Drewsen, Drewis, Drevsen, Trebes, Trebs, Troebes, Tröbs, Troebs, Tröps, Tröbus, Trebst, Trübst, Troebst, Trebitz, Tröbitz, Trebesius, Trebus, Trebbus, Trebuß, auch Drees, Drebus, Dröbus, Trebuth, Trebbuth, Tributh, Trips, Treibs, Trebsdorf.
Eingebettet in die allgemeine Geschichte und eingebunden in das Leben ihrer Heimat, mit der Entstehung ihres Familiennamens aus namenloser Zeit plötzlich auftauchen und dann fortleben durch die Jahrhunderte bis zur weitgefächerten Verbreitung in der Gegenwart. Mit Einblicken in die Ortschroniken, Rückblicken auf die früheren Jahrhunderte, mündlichen und schriftlichen Überlieferungen, Stammfolgen, Lebensläufen und Lebensdaten sowie Wappen und Bildern von den Familien, von den Wohnorten, Häusern und Höfen, in ihrer Mannigfaltigkeit erforscht, dargestellt und herausgegeben.
It is very rare book and not even available on the second hand market. So we took the effort to make it available for a small fee.
Askimet is a very excellent tool and it protected me from a whopping 80.000 spam comments on my WordPress based web site. That is for October alone. Those spam comments completely filled up my SQL database beyond the point where I could repair it following these instructions.
It was a classical Catch 22. To empty the database I had to “optimize” it, which does take some additional space. Which I did not have because the database was full. Askimet has just released their 3.0.3 update which might have solved the issue. Or it could have been my webhoster’s support worker I called that finally had mercy with me and hit the optimize button on his side.
In any case, getting from a “Warning: Creating default object from empty value in wp-admin/includes/post.php on line 567” error to the conclusion that my SQL database is full due to comment spam that Askimet caught was a rather interesting journey. And it only took me two days to figure it out.