Skip to main content

Peacock Feathers Can Be Lasers

3 months 1 week ago
sciencehabit shares a report from Science.org: Peacocks have a secret hidden in their brightly colored tail feathers: tiny reflective structures that can amplify light into a laser beam. After dyeing the feathers and energizing them with an external light source, researchers discovered they emitted narrow beams of yellow-green laser light. They say the study, published this month in Scientific Reports, offers the first example of a laser cavity in the animal kingdom. [...] Scientists have long known that peacock feathers also exhibit "structural color" -- nature's pigment-free way to create dazzling hues. Ordered microstructures within the feathers reflect light at specific frequencies, leading to their vivid blues and greens and iridescence. But Florida Polytechnic University physicist Nathan Dawson and his colleagues wanted to go a step further and see whether those microstructures could also function as a laser cavity. After staining the feathers with a common dye and pumping them with soft pulses of light, they used laboratory instruments to detect beams of yellow-green laser light that were too faint to see with the naked eye. They emerged from the feathers' eyespots, at two distinct wavelengths. Surprisingly, differently colored parts of the eyespots emitted the same wavelengths of laser light, even though each region would presumably vary in its microstructure. Just because peacock feathers emit laser light doesn't mean the birds are somehow using this emission. But there are still ramifications, Dawson says. He suggests that looking for laser light in biomaterials could help identify arrays of regular microstructures within them. In medicine, for example, certain foreign objects -- viruses with distinct geometric shapes, perhaps -- could be classified and identified based on their ability to be lasers, he says. The work also demonstrates how biological materials could one day yield lasers that could be put safely into the human body to emit light for biosensing, medical imaging, and therapeutics. "I always like to think that for many technological achievements that benefit humans," Dawson says, "some organism somewhere has already developed it through some evolutionary process."

Read more of this story at Slashdot.

BeauHD

CodeSOD: What a CAD

3 months 1 week ago

In my career, several times I've ended up being the pet programmer for a team of engineers and CNC operators, which frequently meant helping them do automation in their CAD tools. At its peak complexity, it resulted in a (mostly unsuccessful) attempt to build a lens/optics simulator in RhinoCAD.

Which brings us to the code Nick L sends us. It sounds like Nick's in a similar position: engineers write VB.Net code to control their CAD tool, and then Nick tries desperately to get them to follow some sort of decent coding practice. The result is code like:

'Looping Through S_Parts that have to be inital created For Each Item As Object In RootPart.S_PartsToCreate If Item.objNamDe IsNot String.Empty Then If Item.objNamEn IsNot String.Empty Then If Item.artCat IsNot String.Empty Then If Item.prodFam IsNot String.Empty Then If Item.prodGrp IsNot String.Empty Then 'Checking if the Mandatory Properties are in the partfamilies and not empty If Item.Properties.ContainsKey("From_sDesign") Then ' I omitted 134 lines of logic that really should be their own function Else MsgBox("Property From_SDesign is missing or empty.", MsgBoxStyle.DefaultButton2, "Information RS2TC") Exit Sub End If Else MsgBox("Property prodGrp is missing or empty.", MsgBoxStyle.DefaultButton2, "Information RS2TC") Exit Sub End If Else MsgBox("Property prodFam is missing or empty.", MsgBoxStyle.DefaultButton2, "Information RS2TC") Exit Sub End If Else MsgBox("Property artCat is missing or empty.", MsgBoxStyle.DefaultButton2, "Information RS2TC") Exit Sub End If Else MsgBox("objNamEn is missing or empty.", MsgBoxStyle.DefaultButton2, "Information RS2TC") Exit Sub End If Else MsgBox("objNamDe is missing or empty.", MsgBoxStyle.DefaultButton2, "Information RS2TC") Exit Sub End If Next

All of their code is stored in a single file called Custom.vb, and it is not stored in source control. Yes, people overwrite each other's code all the time, and it causes endless problems.

Nick writes:

I really wish we'd stop letting engineers code without supervision. Someone should at least tell them about early returns.

.comment { border: none; } [Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.
Remy Porter