Friday, July 16, 2021

BOINC: Team: Project Blue Book

 Regarding the BOINC Team:  Project Blue Book

We're a "fun" group with international membership.

 We got started in September 1999 with the Classic SETI@Home Project. 

Everyone is Welcome!  

Gamer's Creed:  "All your Base are Belong to Us!"

 

Let's DO Science Together!

 

Join our Team on any of the BOINC Projects

Project:  PrimeGrid:

Project Blue Book (primegrid.com)

Project:  Rosetta@Home:

Project Blue Book (bakerlab.org) 

 Project:  SETI@Home:

 Project Blue Book (berkeley.edu)

Project:   World Community Grid:Project on the List that

World Community Grid

or Select any Project That Appears on the University of California/Berkeley's List:

BOINC Project List

Then:  we can track our progress together (optional) on

Project Blue Book (on WUProp@Home)

Be sure to allow this setting on your account page: "Should WUProp@Home show app hours statistics on your account data page and export statistics?"

https://wuprop.boinc-af.org/

 You can also (on your Account page) WUProp@Home ( WUProp@Home ). you can set notifications for messages posted there.

Community preferences

How should we notify you of new private messages, friend requests, posts in subscribed threads, and other events?
- On my Account page (no email)
- Immediately, by email
-  In a single daily email

Feel free to "Friend" me on WUProp@Home (on your account page) and join the team!

Feel Free to Comment Here! (Requires a Google Login.)

Check "Notify me" when you post comments. :)

// Brian


PS,  I welcome suggestions for Updates! :)

Friday, March 4, 2016

Python Programming for the Raspberry Pi

I found this video that introduces Python Programming.  Here are some notes from the beginning of the video to help get setup. (the video hits these points very fast!)

Python Programming

Tutorial:  Python Programming in one video (Derek Banas)
https://www.youtube.com/watch?v=N4mEzFDjqtA

Download for windows or mac: (python 3.4.2)
https://www.python.org/downloads

Use IDLE (included with Python) or PyCharm

Download PyCharm from
https://www.jetbrains.com/pycharm/download
(Community Addition)

Set Preferences:  (set the interpreter to downloaded version of Python)
>> Console  >> Python Console >> (select the Python Version that's installed)
>> Project Interpeter >>  (select the Python Version that's installed)

Video:  2:26:  begin programming:  create "hello World" program

"Cheat Sheet" for the video
http://www.newthinktank.com/2014/11/python-programming/

Recommended: Best Book on Python:
http://goo.gl/Cf4CT0

... Enjoy!

// Brian

Tuesday, February 23, 2016

Raspberry Pi and BOINC Projects

As I explained in my prior post, the Raspberry Pi is a small single board computer that runs on a special version of Debian Linux called Raspbian.  It can run on a number of different operating systems, even Microsoft Windows 10.  (apparently, it's a stripped down version of Windows 10 .. that doesn't have actual windows... so, what would that look like?  DOS?)  Let's just leave it that Raspbian is the most commonly installed OS.  ("OS" being the lazy guy's way of saying"operating system".)


Oh, wait... I didn't exactly go that far .. so I embellished.

The cool thing about the Raspberry Pi is that it has a bunch of USB ports and an HDMI (modern digital television connection) so you can easily plug in a keyboard, a mouse, a USB Wi/Fi stick, memory sticks, etc. and a modern monitor or television set.  Boom!  It's a tiny desktop computer!

Oh, did I say that the Raspbian OS is a full "GUI"/window-like operating system.  Umm, yeah, just now.  .. and "GUI" is the lazy guy's way of saying "Graphic User Interface"... or simply:  a user screen that can use pictures and a funky screen layout.

One last thing.... the Raspberry Pi runs on an "Arm" spu (central processing unit) ... like the processors that run an iPhone or Android phone or tablet.  The "Pi 2" (what I have) is a four core cpu... that's like having four cpus running.  (Most current desktops run multiple cpus.. eight cpus is common.)

What is BOINC?

Maybe it's just a little easier to go back in time and see where it started....

Back around 1999 (or probably earlier), some astrophysics at the University of California, Berkeley were playing around with computer programs that would analyse radio telescope data from outer space.  The idea was that, if you found "intelligent" patterns in the data, you could deduce that some intelligent life form created it.  from this, they decided that we could go on a systematic search for intelligent life in space of out part in the universe.  They called this effort the SETI project. (search for extra-terrestrial intelligence).  One problem:  this computer analysis takes a huge about of processing power... and with college project funding, as it is... there wasn't much chance of getting the computer power that they needed.  One of the scientists on the project came up with the idea that the internet contains thousands, if not millions of computers online all that time that had spare processing power that was available, and all they needed to do was to get people to "donate" some of their computer processing power. .. so they came up with the SETI@Home project.  Being rather geeky, I got into the idea and participated with some other geeky friends.  Participation in this early project was huge.

Other univserity scientists and professers saw the potentian and started their own projects on the same concept.  Stanford University started a project called Folding@Home, where volunteers could be involved in a project that would analyse how proteins change shape.  This could help in medical applications and find answers to problems in findcures for diseases.

Realizing that the potential was huge ... and that many schools might not have the funding to build their own systems and promote their projects, the guys back at Berkeley decided to take their original project the another level:   so they developed "BOINC". .. or the "Berkeley Open Infrastructure for Network Computing".  or simply, it's a platform for any project to get in on this new game of "distributed computing" over the internet.

Here's their website so you can dig in and look around:  BOINC Project Main Page

The "Choose Project" link on the main page lists a number of projects that are current running under the BOINC umbrella.

Being a numbers game (i.e. number of computers on the internet, most projects develop programs to run on specific computers and operating systems.  Predictable, Windows and Intel or AMD based computers are number one.  but also, there are many projects that support the Apple Mac computers and computers that run on Linux.  The column onf the right side of the project page indicates the computer platforms that are supported.  Some even support some specific graphics cards, since some of there offer some pretty amazing computer processing power.

A fairly small number of projects also are supporting the Raspberry Pi. These are indicated on the chart with the "raspberry" logo.

I have been running a number of these on my Raspberry Pi ... and got me pulled in to obtain a second Pi to join in on the fun.

If this will work right... here's my project status page for my Raspberry Pi account   :-)



Yeah, so far, the SETI and SETI-Beta projects aren't doing so well.  This is because the Raspberry Pi isn't set up to run "natively" and there's a bunch that you have to work on to get it to work.  Another project:  Milkyway@Home also shares this problem and has yet to post any  good results.  The whole idea of the BOINC platform is that it's supposed to be "easy" for the average person to run.

Oh.  I forgot to say.... These blog posts were done from my Raspberry Pi.  The prior post was done from the default web browser for Raspbian called "Web" and this post was done from a web browser called Iceweasel (which is a version of Firefox)

Are we learning?  Are we "entertained"?  Feel free to comment:  corrections, suggesting, ask questions, offer better answers, goofy comments ... all are welcome.  The ony "dumb question" is the one that was never asked.

Disclaimer:  My story of the history  of the SETI and BOINC projects was not meant to be the difinitive story, but rather a summary of the story for getting the basics.  Back around 1980, I was managing a Radio Shack store (yeah, that was a humble start).  I met a retired engineer ... let's just say that he was an actual "rocket scientist".  He was using the lowly Radio Shack TRS-80 computer with a cassette tape data drive and was collecting raw radio signals from a long wire antenna.  He said that it was five miles long!  Then, he would run the data through a fast fourier transform algorithm.  This had to take a really long time to run!  He never said, but I suspect that he was looking for "little green men" in the same way that the SETI project runs.

Cheers!

// Brian

Raspberry Pi Project: Starting with setting up an ADC chip

The Raspberry Pi is a small single board computer.  Pretty powerful and has hooks to the real world... expect that the ports are all  "digital"... solution:  get an Analog to Digital Conversion chip (ADC)

First attempt:  The MPC3008.  This is an eight channel - 10-bit device that supports the SPI Interface of the Raspberry Pi.

Lost already?

Einstein said that if you can't explain it in simple terms, maybe you really  don't  understand it that well yourself.

Digital:  the world of the computer only understands "off" and "on".

Analog:  the "real" world is much more complicated.  we see and hear things in many tones and textures, colors and frequencies, pallets and choruses.  The idea of Analog to Digital conversion is to convert the complexity into a series of "on"s and "off"s for the computer to understand and therefore process.

Eight Channels:   Simple enough!  We can read data from up to eight different sources at the same time.   In simple terms, this means that we can hang all kinds of sensors on this chip for conversion to digital form that the computer can use.  Sensors can be in any form:   light sensors, sound sensors, touch sensors, temperature sensors... etc.

10-Bit data:   This of course, refers to digital data... a set of "on" and "off" sequences... and 10 of them in the set.  A sensor, such as a temperature sensor, would send an analog voltage down the wire to the chip, and the chip would interpret the voltage  as a sequences of "on"s and "off"s to be passed on to the Raspberry Pi computer.  All "off"s would be the lowest value. (we would call this "zero") and all "of"s would be the highest value.  In 10-bits, there are 1024 combinations of "on" and "off".  (Did I say that "On" represents the number "1" and the "off" represents the number "0"? .. Now, I did.  Done!)  In 10-bits, we can have the lowest number represented as "0" and the highest number as "1023".

SPI:   This means "Serial blah blah blah".  (yeah, whatever!).  So, we took a single analog connection (one pin on the chip) and the chip converted it to 10-bits.  This would mean that we would need 10 pins on the Raspberry Pi to use it.  That's neither efficient nor convenient.  What SPI does is takes the 10-bits and sends them in single file (serial) like a tiny army  to one pin on the Raspberry Pi.  To keep the army in sync and in good marching order, there is another pin that acts like the drill instructor that sets the cadence.  OK, don't like the military style?  Then we'll just call this second pin a "clock", and it ticks and tocks the bits in single file to the Raspberry Pi, where it's clock pin is expecting it. .. and the digital data is received in good order and ready to be processes.

Thanks to Tony Dicola for his posting on the Adafruit Learn page... I got it all together and working without a glitch.  As they say... "It's as easy as pie"... or should I say "as easy as Raspberry Pi"?

Here's the link:  Raspberry Pi Analog to Digital Converters

I just did the page  on the MCP3008 chip .. I'm thinking of getting the other two breakout board on the next page to experiment with as  well.  These are both 4-channel converters:  one is 12-bit (4096 combinations) and the other is 16-bit (65536 combinations) .. more precision & accuracy!

Interestingly enough, there are two ways to connect the MCP3008 chip to the Raspberry Pi:  One method is to connect it to the pins designated for SPI on the Raspberry Pi, and the other method is to use the GPIO pins on the Raspberry Pi to grunt out the logic in your program of what SPI does for us "by magic".  They like to call this "bit bashing"... and that works for me.  The libraries for the example programs supports both methods of setup.  I set mine up for  "bit bashing", but I'll probably switch it over to SPI just for fun.  I like the example program "simpletest.py" because it just sends the data for all channels to the display.

Tony's instructions are complete quite "do-able" for someone that's new to this stuff.  While I've been in the computer programming circles for a long time, I'm a relative novice at Linux (Raspbian on the Raspberry Pi) and the Python programming language is new to me.  I walked through his "step-by-step" instructions pretty easily.  (Whoa, there!.. actually, I wrote then next paragraph BEFORE this one...so it might  look a bit twisted around.. yeah, because it is!)

.. and finally:   This is written in the programming language called Python.  While I'm new to Python, so far, it looks like any other programming language .. and it's strength lies in that it's easy to use and readable.  Yeah, I like that.

One note about Adafruit Industries, LLC :  I love this company!

OK, then there's ... I like the way the website works, the product selection and price structure, the "learn" pages and blogs.. and the YouTube videos that they post.   In simple terms:  their leaders (management) and people (staff) make a difference. .. and the big surprise:  They're located in New York City.  Have a look at their "about" and "privacy" page on their website, I think you'll be impressed too.

I recently placed my sixth order with them.  I'm expecting delivery in a couple days.  My first order was in December of 2015.  Everything has gone smoothly and as expected.

As for "shipping charges":  Yeah, who doesn't like "free shipping". .. I go for that with Amazon all the time. .. but isn't it better to have a cheaper "real price" for an item than a price that has been "bumped up" to cover that free shipping?  If nothing else, by charging actual shipping charger, it's a more "honest" way of doing business.  I feel that this is what I get from Adafruit.

Cheers!

// Brian

Monday, February 22, 2016

Legaleze: Blah-didi-blah-blah

Here we go, friends... eat it up...

European Union laws require you to give European Union visitors information about cookies used on your blog. In many cases, these laws also require you to obtain consent. 

As a courtesy, we have added a notice on your blog to explain Google's use of certain Blogger and Google cookies, including use of Google Analytics and AdSense cookies. 

You are responsible for confirming this notice actually works for your blog, and that it displays. If you employ other cookies, for example by adding third party features, this notice may not work for you. Learn more about this notice and your responsibilities.

Did everyone get that?


Cheers!