Saturday, December 31, 2011
Keine Nüsse für Kinder unter 10 Jahren
Sunday, December 4, 2011
Eisen-substituierte Babynahrung kann kindliche Entwicklung stören
Friday, December 2, 2011
Fenamiphos in Gurken aus Spanien
Die brandenburgische Lebensmittelüberwachung hat erhöhte Rückstände des Wirkstoffes Fenamiphos auf Gurken aus Spanien gefunden. Am 15.11.2011 wurde darüber über das europäische Schnellwarnsystem die Lebensmittelbehörden in Europa informiert. Das BfR (Bundesinstitut für Risikobewertung) hat geprüft, ob die Rückstände in Höhe von 0,11 Milligramm je Kilogramm Gurke die Gesundheit der Verbraucher schädigen können. Das Ergebnis: Die gemessene Menge des Pestizids kann eine akute Gesundheitsgefahr für Kinder darstellen. Für Erwachsene besteht keine akute Gefährdung.
Maßnahme laut BVL (Bundesamt für Verbraucherschutz und Lebensmittelsicherheit): "Mitteilung der Ermittlungsergebnisse". Das bedeutet wohl, die Ware wird ganz normal abverkauft - also Finger weg, wenn ihr Kinder habt! Ich denke, ich werde zukünftig die Meldungen im Europäischen Schnellwarnsystem für Lebensmittel und Futtermittel genauer beobachten....
Wednesday, November 30, 2011
Künstliche Säuglingsmilch ist nicht gleichwertig mit Muttermilch
Die Nationale Stillkommission am Bundesinstitude für Risikobewertung kritisiert sachlich falsche Werbeaussagen und unzulässige Abbildungen zu Säuglingsmilch.
Wissenschaft und Gesundheitswesen sind sich absolut einig in der Beurteilung des Stillens als unersetzlichen Wert für den Säugling, etwa durch die bedarfsgerechte Nährstoffzufuhr und eine Verminderung des Risikos für infektiöse Atemwegs- und Durchfallerkrankungen. Darüber hinaus zeigt Stillen auch wichtige langfristige Auswirkungen, da ehemalige Stillkinder deutlich seltener an kindlichem Übergewicht und Adipositas leiden sowie später eine bessere kognitive Leistungsfähigkeit entwickeln. [...] Werbung darf nicht geeignet sein, Eltern zu der falschen Annahme zu verleiten, dass die beworbenen Flaschennahrungen von vergleichbarem Wert wie das Stillen seien und damit das Stillen zu gefährden.
Thursday, October 13, 2011
Commercial dry petfood has significant benefits for oral health in cats and dogs
Monday, October 10, 2011
Measuring vital signs with a off-the-shelf smartphone
New imaging agents for PET to make inflammation and cancer visible
Saturday, September 17, 2011
Vitamin C therapy might prevent sepsis
Could an apple a day keep sepsis away?: (Lawson Health Research Institute) Sepsis kills more people than breast, colorectal, pancreatic, and prostate cancers combined. Outside of coronary care units, it is the leading cause of mortality in intensive care units. Every year 18 million people worldwide develop this potentially fatal disease. Thanks to a generous grant of $138,238.65 from the Jesse and Julie Rasch Foundation, Lawson Health Research Institute's Dr. Michael Sharpe is exploring a new sepsis therapy using Vitamin C.
Would be really great if something as accessible and side-effect free as Vitamin C helped against sepsis.
Playing outside reduces ADHD symptoms
For kids with ADHD, regular 'green time' is linked to milder symptoms: (University of Illinois at Urbana-Champaign) A study of more than 400 children diagnosed with Attention Deficit Hyperactivity Disorder has found a link between the children's routine play settings and the severity of their symptoms, researchers report. Those who regularly play in outdoor settings with lots of green (grass and trees, for example) have milder ADHD symptoms than those who play indoors or in built outdoor environments, the researchers found. The association holds even when the researchers controlled for income and other variables.
I always suspected that ADHD is just a symptom of activity deprivation. Although this might be a bit too simple, it seems to be partly true.
The nervous systems might be capable of repairs after all
New class of stem cell-like cells discovered offers possibility for spinal cord repair: (Allen Institute for Brain Science) The Allen Institute for Brain Science announced today the discovery of a new class of cells in the spinal cord that act like neural stem cells, offering a fresh avenue in the search for therapies to treat spinal cord injury and disease.
Tuesday, September 13, 2011
New hybrid imaging device shows promise in spotting hard-to-detect ovarian cancer
New hybrid imaging device shows promise in spotting hard-to-detect ovarian cancer: (Optical Society of America) By combining three previously unrelated imaging tools into one new device, a team of researchers from the University of Connecticut and the University of Southern California has proposed a new way to diagnose early-stage ovarian cancer in high-risk women through minimally invasive surgery. The new technique, described in the Optical Society's (OSA) open-access journal Biomedical Optics Express, may be better than the current standard procedure of preemptively removing the ovaries.
Monday, August 22, 2011
Visual Studio watch window
The watch window can do a lot more than simply displaying variables. The official documentation: "Variable Windows" in the MSDN. The article X64 Debugging With Pseudo Variables And Format Specifiers gives a few examples.
The watch window can also call functions. My favorites to display byte buffers in the watch window are:
BitConverter.ToString(buffer)
Encoding.ASCII.GetString(buffer, 0, buffer.Length)
And here are some tips mostly regarding the watch window GUI, but including also some other features: 10 Tips you should know about “Watch Window” While debugging in Visual Studio
If the format specifiers aren't sufficient, here are two articles that explain how to program Visual Studio to display your data structures the way you want using autoexp.dat:
- Customizing the Visual Studio Debugger Display of Your Data
- How to Write Native C++ Debugger Visualizers in Visual Studio for Complicated Types
See also Sara Ford's blog for more Visual Studio tips. Unfortunately she has left Microsoft.
Friday, August 19, 2011
Buchempfehlung: Baby-led weaning (BLW, Baby-geleitetes Abstillen)
Wenn das Baby mit aller Körperkraft und Geschicklichkeit versucht, am Tisch an unser Essen ranzukommen, dann will es was? Nein, keinen Brei in den Mund gesteckt bekommen: mitessen!
Bei BLW geht es nicht nur um's Abstillen - sprich wie schnell Muttermilch durch andere Nahrung ersetzt wird. Viel wichtiger ist die Entwicklung des Geschmacks an anderer Nahrung, der Fähigkeit selbstständig zu essen, dem Spaß dabei und das eigene Hungergefühl wahrzunehmen.
Es ist eine wahre Wonne, zu sehen, mit wieviel Freude und Geschicklichkeit unser 8 Monate alter Sohn, aussucht, was und wieviel er essen möchte. Und sich beschwert, wenn das, worauf er gerade Appetit hat, ihm ausgeht.
Die ausführliche Erklärung von BLW findet man hier: Baby-Led Weaning: The Essential Guide to Introducing Solid Foods and Helping Your Baby to Grow Up a Happy and Confident Eater
Das Kochbuch enthält nochmal eine kürzere Erklärung von BLW und dazu noch eine Menge Rezepte: The Baby-led Weaning Cookbook: Over 130 delicious recipes for the whole family to enjoy
Meine Empfehlung (auch wenn wir es andersherum gemacht haben): zuerst das Kochbuch anschaffen und wenn die Erklärungen dort nicht reichen, das dicke Buch nachkaufen.
Dazu empfehlen sich zum Beispiel diese Lätzchen.
Update 8.10.2011: Allerdings muss man sie einmal heiss waschen, damit sich die Schichten voneinander lösen; sonst sind sie zu steif.
Update 2.12.2011: Das heiße Waschen funktioniert nicht immer. Sowieso sind diese Lätzchen von Playshoes aber viel besser und auch wesentlich hübscher, auch wenn sie keinen Auffangbehälter habe wie die von J. J. Cole.
Top Agile Books 2011
Blogger: CSS for markup of blockquote and code
I recently decided to switch to a more semantic markup for my posts. For example, I wanted to use the code element for pre-formatted multi-line code. This is what I came up with.
Set in Settings|Formatting the option Convert line breaks to No. Otherwise blogger will insert br elements for every line break in your post, which makes proper styling impossible. OTOH, formatting your posts with line breaks instead of HTML markup will of course not work any more.
Open the template (Design|Edit HTML) and add the following to the CSS within the b:skin tags:
blockquote {
font-style: italic;
margin-top: 1em;
margin-bottom: 1em;
margin-left: 10px;
}
code {
white-space: pre;
font-size: 80%;
display: block;
margin-left: 10px;
margin-top: 0em;
margin-bottom: 1em;
}
Thursday, August 18, 2011
Visual Studio: Setting multiple startup projects via macro
According to the documentation, this should work:
Sub StartUpProj()
Dim sb As SolutionBuild = DTE.Solution.SolutionBuild
Dim startupProjects() As String = { "Project1.vcproj", "Project2.vcproj" }
sb.StartupProjects = startupProjects
End Sub
Unfortunately, it also says in the MSDN here:
The StartupProjects collection in the current version of Visual Studio .NET allows you to set only a single startup project, but future versions will allow multiple startup projects.This was written for Visual Studio .NET 2003 and still holds true for Visual Studio 2008. At least this works for setting a single startup project:
Sub StartUpProj()
Dim sb As SolutionBuild = DTE.Solution.SolutionBuild
sb.StartupProjects = "Project1.vcproj"
End Sub
BTW: Above examples are for C/C++ projects. For other types of projects the extensions vary.
Monday, August 15, 2011
ZY1000
Sunday, August 14, 2011
PC-Lint: Interrupt Service Routines
/*lint -esym(528,Interrupt_SCI0_ERI0) */
#pragma interrupt Interrupt_SCI0_ERI0(vect=VECT_SCI0_ERI0)
static void Interrupt_SCI0_ERI0(void)
{
...
}
But see how WET this code is? First you tell PC-Lint it's an ISR. Then you tell the toolchain it's an ISR. Then you write the function head, which - surprise! - has the signature of an ISR. We can do better than that:
/* Define this once */
#ifdef _lint
/*lint -e(961) Suppress MISRA warning for function-like macro */
#define INTERRUPT(VECT,HANDLER) \
/*lint -esym(528,HANDLER) Suppress warning for unused function */ \
static void HANDLER(void)
#else
#define DO_PRAGMA(X) _Pragma(#X)
#define INTERRUPT(VECT,HANDLER) \
DO_PRAGMA(interrupt HANDLER(vect=VECT)) \
static void HANDLER(void)
#endif
/* And define all your ISR like this: */
INTERRUPT(VECT_SCI0_ERI0,Interrupt_SCI0_ERI0)
{
...
}
More examples for different pragmas expected by other toolchains to follow.
Saturday, August 13, 2011
Language requirements for medical devices
Friday, August 5, 2011
PC-Lint: enum for constants
enum { C = 123 };Otherwise you'll get warnings like 641 when assigning from enum to integer or comparing enum and integer. This would trigger the warnings:
enum Tag { C = 123 };You still might experience warnings because Lint assumes enums to be signed, so assigment to an unsigned integer raises a Lint warning. Consider to use #define or const for defining constants instead. Then you can clearly indicate the type of the constant.
Thursday, July 28, 2011
You may experience problems with the Amazon currency converter
It first seemed like a convenient way to save a few cents, but turned out to be a bad idea: using the Amazon currency converter when ordering with Amazon.UK.
Amazon.UK offers to pay in EUR - the "Amazon Currency Converter". Seems nice:
- you see instantly what you are paying - in EUR
- you save the bank fee for not paying in EUR
- you have to type less in the expense report (you think)
But speaking of the expense report - that's where you need a correct invoice, and that's something you won't get. What you get on the printed invoice is:
- the total in GBP instead of EUR and
- a conversion rate that doesn't match what you were actually charged in EUR.
So first there is no way to match the amounts on the invoice to what you were charged and secondly you still have the typing effort to explain the relationship between foreign currency, conversion rate, and native currency in your expense report.
I already got the Amazon hotline to tell me that they
- have a different conversion rate for my transaction in their system than is printed on the invoice
- they charged me according to the conversion rate in their system not the one on the invoice
But up to now no corrected invoice - they still think I want money back, when all I want is a corrected invoice. Aaaaaargh!
Update 2011-07-31: The third e-mail was comprehended - they promised to send a corrected invoice. Jippie! Nevertheless I don't think I'll use the Amazon currency converter again.
Update 2011-08-18: Got no corrected invoice yet. Sent another email. Got the corrected invoice by fax after being called by Amazon UK and a short conversation on the phone. The real surprise here: there seems to be more manual work involved than I could imagine. I thought Amazon's system was not working correctly when it was just a everyday human error as it seems. Softened the title a little.
Sunday, July 17, 2011
Buchempfehlung: Schlafen statt Schreien
Baby sanft in den Schlaf helfen ohne Schreien lassen: Schlafen statt Schreien: Das liebevolle Einschlafbuch: Das 10-Schritte-Progamm für ruhige Nächte von Elizabeth Pantley. Eine liebevolle Gegenposition zu den Ratgebern, die einem erklären, wie man den "Machtkampf" gegen die Bedürfnisse des Babys nach Liebe, Aufmerksamkeit und Nähe gewinnt.
Siehe auch diesen klasse Forumsbeitrag zu dem Thema.
Friday, July 8, 2011
Windows error ERROR_ARENA_TRASHED - 7 - 0x07 - The storage control blocks were destroyed
Monday, July 4, 2011
Sharing a file system between Linux and Windows
I tried sharing an ext3 between Linux and Windows now for some months. For Windows I used the Ext2 Installable File System For Windows (IFS). The use case: my wife wanted her Firefox profile both under Windows and Linux.
I never had any problems with IFS, so I didn't expect any now. However I ended up with lots of errors in the ext3 file system twice. I suspect the little difference in the usage scenario (copying files back and forth between Linux and Windows vs. having an application constantly accessing it's configuration files) as the culprit. Perhaps Firefox had a few files still open or was manipulating them when Windows was shutdown respectively switched off the hard way.
This was especially cumbersome because Ubuntu doesn't seem to expect that fsck might ever ask for user input: the boot screen just gets stuck when this happens and no chance to get to the fsck prompt. Hence I had to boot from a LiveCD and invoke fsck then manually.
So now I try it the other way around: using a Windows file system (NTFS) from Windows and Linux. Let's see how this works out...
Sunday, May 29, 2011
Access the DOM of a SVG that is embedded by reference
Use either the contentDocument property or the (deprecated) getSVGDocument function of the embedding element to access the SVG document, for example:
var object = documents.getElementsByTagName('object')[0];
svgDocument = object.contentDocument;
See here for a more elaborate example. Note: For security reasons, the contents of the SVG document can be accessed from the parent document only if both documents are located in the same domain.
PC-Lint: Header files
- -i or -I
- synonym options, simply specify a directory to search for incldued files
- -i-
- clear list of directories specified with -i options
- --i
- like -i but directories specified with this option are search after directories specified with -i. Normally used to specify compiler and system include directories.
- +fdi
- Included files are searched first in the same directory as the including file.
-incvar(DONT_USE_ENVIRONMENT)
-incvar has to be given on the lint command line, not in a file.
PC-Lint: Read the message documentation carefully
PC-Lint
- discussion forum at Gimpel's website
- the user manual
- this blog (as soon as I posted a little more)
Tuesday, March 15, 2011
ING-DiBa und GnuCash/AqBanking
Seit einiger Zeit bietet ING-DiBa allen Kunden ohne besondere Anmeldung einen HBCI Zugang. Dazu werden die gleichen Zugangsdaten wie für das Internet-Banking verwendet. Dieser HBCI Zugang läßt sich auch mit GnuCash bzw. AqBanking nutzen.
Zunächst startet man den AqBanking Setup Wizard. Bei GnuCash 2.2.9 versteckt sich der im Menü unter Tools|Online Banking Setup...
Im Wizard legt man zuerst einen Benutzer/User an:
- Der Name kann beliebig gewählt werden, darf aber nicht leer bleiben.
- Die UserId ist die Kontonummer, mit der man sich auch beim Internet-Banking anmeldet.
- Die Kundennummer/CustomerId muß leer gelassen werden.
Nun muß man nur noch die Schritt "Get Certificate" und "Get System Id" erfolgreich abschließen. Dabei wird auch automatisch die Liste der Konten heruntergeladen, so daß man diese gar nicht mehr konfigurieren muß.
Wenn AqBanking nach der PIN fragt, muß die Internet-Banking PIN eingegeben werden - und nicht der DiBa Key. Hört sich logisch an, man kann aber trotzdem darauf kommen, es anders zu machen. ;-)
Update 2011-12-20: Mit Gnucash 2.4.7 ergeben sich folgende Änderungen.
- Statt eines Häckchens "Show Special Settings" gibt es im AqBanking Wizard nun einen simplen Knopf "Special Settings" um obige Einstellungen zu machen.
- Nach wie vor muss als HBCI Protokoll-Version "2.20" gewählt werden.
- Bei mir funktioniert HTTP 1.0 und 1.1 - am besten einfach die Voreinstellungen (1.1) lassen
- TAN Medium ID leerlassen, Überweisung mit iTAN funktioniert auch so.
- Ein Häckchen bei "Force SSLv3" ist nicht nötig, vermeidet aber ein paar Warnungen bei der Kommunikation.
- Meine PIN hat 10 Stellen (Großbuchstaben, Kleinbuchstaben, Zahlen, keine Sonderzeichen oder Umlaute). Funktioniert ohne Probleme, obwohl man immer wieder liest, dass HBCI nur 6-stellige PINs erlaubt.
Tuesday, February 22, 2011
About indirection
David Wheeler
All problems in computer science can be solved by another level of indirection. But that usually will create another problem.
Diomidis Spinellis
On the other hand, the effect that indirection has on the comprehensibility of our code is a very important concern, because over the last 50 years, in contrast to the dizzying increases in CPU speeds, the ability of humans to understand code hasn't improved much.
Steve McConnell
The primary goal of software engineering is to reduce complexity.
Corollary
Use the simplest implementation that solves the problem. If you think about using a more complex implementation for the sake of extensibility etc - what is the cost of adding the extensibility later? When you really need it? When you exactly know what kind of extension you have to add? What is the probability that you actually going to need it? (You ain't.) Compare with the increased cost for implementing and maintaining(!) the unnecessary complex solution.