Color Spaces: The Model At The End Of The Rainbow

When I learned about colors in grade school everything started with red, yellow, and blue and getting fancier colors was easy. I mixed some blue into my yellow to get green, or into red to get purple, and so on. After painting enough terrifying “art” for my parents, this made intuitive sense. That is until my mind was blown by the revelation that this wasn’t always true! 

To make the same colors with light instead of paint I had to use red, green, and blue, not yellow. It was until much later when trying harness banks of RGB LEDs that this knowledge became useful. I was struggling to make my rogue diodes look quite the way I wanted when I stumbled into the realization that maybe there was another approach. What did the numbers representing R G and B actually mean? Why those parameters? Could there be others? [Elliot Williams] has written about the importance of gamma correction and adjustment for human perception of color, but we can ask a more fundamental question. Why do we represent color this way at all?

Continue reading “Color Spaces: The Model At The End Of The Rainbow”

Oracle V Google Could Chill Software Development

Unless you’ve completely unplugged from the news, you probably are aware that the long-running feud between Oracle and Google had a new court decision this week. An appeal court found that Google’s excuse of fair use wasn’t acceptable and that they did infringe on Oracle’s copyrights to Java. Oracle has asked for about $9 billion in damages, although the actual amount is yet to be decided. In addition, it is pretty likely Google will take it up to the Supreme Court before any actual judgment is levied.

The news is aimed at normal people, so it is pretty glossy about what exactly happened. We set out to try to make sense of it all. We found a pretty good article from [Michaela Barry] about what the courts previously found.  There were three main parts:

  • There were 37 API (Application Programming Interface) declarations taken verbatim from Java. This would be like a C header file if you aren’t familiar with Java.
  • Google decompiled 8 security files and used them.
  • The rangeCheck function — 9 lines of Java code — were exactly the same in Oracle’s Java and Android.

Continue reading “Oracle V Google Could Chill Software Development”

This Is How The Fonz Would Play MP3s

Here at Hackaday, we love to see old hardware treated with respect. A lovingly restored radio or TV that’s part of our electronic heritage is a joy to behold, and while we understand the desire to stream media from a funky retro case, it really grates when someone throws away the original guts to make room for new electronics.

Luckily, this Seeburg jukebox wall remote repurposing is not one of those projects. [Scott M. Baker] seems to have an appreciation for the finer things, and when he scored this classic piece of Mid-Century Americana, he knew just what to do. These remotes were situated around diners and other hangouts in the 50s and 60s and allowed patrons to cue up some music without ever leaving their seats. They were real money makers back in the day, and companies put a lot of effort into making them robust and reliable.

[Scott]’s first video below shows the teardown of this unit; you can practically smell the old transformer and motor windings. His goal in the second video was to use the remote to control his Raspberry Pi jukebox; he wisely decided to leave everything intact and use the original electromechanically generated pulses to make selections. His analysis led to a nicely executed shield for his Pi which conditions the pulses and imitates coin drops; happily, the coin mechanism still works too, so you can still drop a quarter for a tune.

The remote is working well now, but [Scott] still needs to finish up a few odds and ends to bring this one home. But we love the look and the respect for tradition here, as we did when this juke got a Raspberry Pi upgrade to imitate a missing wall remote.

Continue reading “This Is How The Fonz Would Play MP3s”