Great video done by WA State Department of Corrections to showcase the good work that incarcerated students are doing at Clallam Bay Corrections Center.
Great video done by WA State Department of Corrections to showcase the good work that incarcerated students are doing at Clallam Bay Corrections Center.
We built a skeeball table!!
This class project had the Green Building/Construction class assemble and paint the table while the CSE class setup the sensors and programmed the software.
The control box is a Raspberry Pi with a touch screen and detects ball drops using IR sensors on the GPIO pins. QT/C++ was used to write the control app.
We are excited that we are now a member of the C++ Institute Authorized Academy Program. This will allow our inmate students the option of gaining industry recognized professional certification in C++ to compliment the training they are already receiving.
Students work hard on their projects. I love to show off their work almost as much as they do. Here are some good examples of what students in the Mobile and Game Development program are creating.
Anonymous student id’s have been assigned to protect student privacy and are used unless otherwise noted.
This utilizes a relational data driven UI. It shows that the student was able to design the database for the NFL team schedule and use appropriate windows forms controls to present and manipulate that data. This project was created with C# and Windows Forms.
Some nice shots by a students work. These are levels being designed for a game.
This is a UI for the player select screen of a multiplayer paintball shooter. There is much more to this particular project which includes multi player network capabilities and good old fashioned FPS style action. I am sure we will have a movie of it in the near future.
We are careful to limit the level of violence in games we create so we avoid actual bullets and blood. The principles of detecting collisions and writing code calculate the path of a projectile don’t change much between bullets, paint balls, or arrows. All this code was written by the student using C# and the Unity3D engine.
A model that this student has been working on in Maya which is slotted for use in one of the games being worked on.
This student is writing an app that will let me as the instructor broadcast my screen to the class during lecture. This is easier than trying to read text on a projector from across the room.
This is written in QT/C++ and uses multicast capabilities to send a video of the screen. In addition, the student is writing his own custom video codec to compress and stream the data.
This is the result of a student working through one of the projects in a text book. The student is learning about animation techniques, input control, and tracking game state of multiple objects.
We see here a student learning to create fur in 3D. Clothing, hair and fur are particularly difficult to get correct.
In addition, you see a movie animation of the solar system created in either Maya or Blender (I forget which).
Written By: Ray Pulsipher
We use Linux quite a bit. Mono is a great tool if your app is built to run on it. Installing it is easy enough (yum install mod_mono, a2enable mod_mono, etc..) but you have to take 2 additional steps to enable it on each website before it actually works.
As an admin user in ISPConfig, go to the site and the “Options” tab. In the Apache Directives paste in the following code (replace website.com with the name of your site).
MonoAutoApplication enabled MonoDocumentRootDir "/var/www/website.com/web/" MonoServerPath example "/usr/bin/mod-mono-server4" MonoApplications website "/:/var/www/website.com/web/" Alias /mono "/var/www/website.com/web/" <Directory /var/www/website.com/web/> SetHandler mono MonoSetServerAlias website AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx </Directory>
After that, make sure to change the ownership of the web folder to www-data (or whatever username your apache web service is running under) .
chown -R www-data /var/www/website.com/web
Once you turn this on, throw an ASPX page in the folder and try it out.
If you have a problem you can look for errors here:
tail /var/log/apache2/error.log
Be aware that turning this on will mess with other scripts specifically PHP.
Written by: Ray Pulsipher
Article about indie game development covers much more than just us, but we get a good showing.
How Humans Took Back the Video Game
Written By: Ray Pulsipher
Slides from our presentation at the Serious Games Summit Sept. 2013
Games Behind Bars: Serious Play for those Doing Serious Time
Nearly two million people are incarcerated each year, many with severe educational and emotional needs. Learn how Peninsula College in Port Angeles, Wash. is using game design and development to prepare offenders at Clallam Bay Corrections Center for life after prison. Discover the challenges of providing high-tech education in a non-internet connected world and how the instructors have overcome it. Find out how you can be involved in serving this unique population.
Written By: Ray Pulsipher
Another good article highlighting the many good programs offered at CBCC and OCC.
Beyond License Plates: New Tech Skills for Prisoners
Written By: Ray Pulsipher
KALite is a great tool if you want to bring the resources available to an offline environment.
We run a virtual server with KALite. We point a DNS name at it an everything, but we don’t like that it runs on port 8008 rather than port 80. Here is a recipe to make it work on a Debian 7 server without having to change configuration of the KALite script.
Problem: You can change KALite to run on port 80, but you have to run it as the root user, which it doesn’t want to do.
Solution: The firewall can automatically forward all traffic from port 80 to port 8008. KALite doesn’t know anything has changed.
Step 1 – Create a file on the debian server:
nano /etc/network/if-pre-up.d/iptables
Step 2 – In that file paste this code:
#!/bin/sh #Redirect all traffic from port 80 to port 8008 # (khan port) iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8008
NOTE: The iptables command wraps here and it should be all one line when you paste it.
Step 3 – Chown file so it is owned by root:
chown root:root /etc/network/if-pre-up.d/iptables
Step 4 – Chmod file so it can be run:
chmod +x /etc/network/if-pre-up.d/iptables
Step 5 – Reboot:
Assuming you have KALite starting on reboot, you should be able to access it without the :8008 at the end now.
Written By: Ray Pulsipher
A nice writeup from last year when we were just getting things rolling. Students have really come a long way since then.
Convicts to coders: Maximum security prison teaches inmates computer science
Written By: Ray Pulsipher