Profile

Cover photo
Bryan Schuder
Attended Middle Tennessee State University
57 followers|4,173 views
AboutPostsPhotosVideos

Stream

Bryan Schuder

Shared publicly  - 
 
This is good.  Very good.  I hope this keeps progressing.
 
One step down, two to go. Big thanks to the city for bringing Nashville one step closer to Google Fiber.
1
Add a comment...

Bryan Schuder

Shared publicly  - 
1
Add a comment...

Bryan Schuder

Shared publicly  - 
 
I've always wondered how hard it could possibly be to create an electronic voting machine that has moderate amounts of accountability and security.  So... I sat down and thought a quick one out.  Turned out, it's really not that hard to do.  The companies making these electronic voting machines are just morons.

Here's the first rough draft of the concept:
Device Equipment:  
Raspberry Pi
USB hub
HDMI LCD monitor
USB touchscreen overlay
Simple B/W laser printer
Small Battery backup
100mbit Ethernet connection to the Internet

Software:
Device: Custom Linux OS, open source on public places  (US Government site, SourceForge, GitHub, etc..)
Server: Custom Linux system scripts and a vote tabulation software available on public places

Initialization Process:
1. Initialize hardware and verify all needed components exist and nothing more. If hardware components are missing, it shows what is missing. If there's an extra device, it'll absolutely refuse to continue further initialization, make note of the unauthorized device, and will attempt to contact authoritative servers to alert of the infraction.

2.  The system will attempt to make contact with the three primary voting server farms. Each of these servers are housed in different locations under the care of different organizations, for example:  DoD - Colorado, FBI - Washington DC, Berkeley - California. The three server farms maintain constant connections to each other. The voting machine MUST make contact with these three primary servers, otherwise it will not continue. The device makes the connection via SSH using SSH-key authentication.

3.  This first connection is with an initial login for the purposes of device identification. The SSH login will also provide a tunnel so each server farm can log into the device, which it will.  The device and server will run various hardware profiling, hashing of system files, other checksums, and measures to make sure the server and client are connected to each other.  The results are sent to the servers. After this point, the servers compare notes and determine if this is a valid device. If it is a valid, a generated username, SSH-key/password is relayed. This combination is stored in a RAM drive setup by the OS on the device and the servers make proper permissions and directories for the account.  If the device is unauthorized, the IP is flagged and all relevant information is immediately forwards to all law applicable law enforcement agencies.

4.  The device drops the connections using the generic login and reconnects using the new login. Once it has established the connections, it will request a the appropriate voting layout files from all the servers and verify all copies' match. This process can be automated by device ID determined by where the device should be located or where it is detected by hostname and IP.  The shell provided by the login is extremely limited. Only connectivity test commands and SFTP are functional. Even SFTP functionality is limited, as the device will only be able to see the voting layout files. It can write files, but not view any files written.  Consider it a blind drop box.

5.  System goes online ready to accept votes. Through a system with multiple methods of feedback and verification votes are entered via the touchscreen and LCD display.  The touchscreen cursor is visible during vote entry to detect calibration problems and recalibration tools are available at any time.

6.  Upon confirmation of ballot, the system shows the ballot side-by-side the XML data file being sent. The filename will be the effective SHA-512 hash of the file's contents (votes, time, device ID, location, IP, random salt value, etc..). All information is in view and the system will allow scrolling over the file. Being an LCD display, this should allow the voter the ability to photograph and/or video the information if they please.

7.  The voter confirms the final viewing. The system creates the data file in the RAM drive of the device and then sends via SFTP to all three servers. It then waits for a confirmation message from each server verifying the file data. The three servers then compare notes to make sure they all received matching copies and the data is parseable and sensible enough.  Upon final verification, the device gets an okay from each server.

8.  Finally, the printer prints out a ballot and data file copy, three times. A copy is for the voter, the local voting center's records, and the US Government election offices.  The copies are clearly labeled for who they are for.  The voter on the way out of the voting area drops a copy in each of the two clearly labeled boxes.

9.  The system then purges the data file from the RAM disk and awaits the next voter. If at any time during the voting process it loses connection with any of the servers, it'll immediately alert that is has lost connection to a server and not allow further voting.  If there is a disconnection mid-vote, it'll still allow the voter to continue enter their ballot up to the point where it sends off the vote to the servers. It'll won't complete the process until it can regain connection with all three servers.

As the votes are received, the vote file are transfers to a proxy site for public viewing.  Via a web interface, users will be able to sort via different factors such as location and even exact voting machine.  There will also be a search function to allow the voter to enter their vote ID (The SHA-512 hash of their data) and see both the summary and raw XML data of their vote to verify the vote has been received.

This example doesn't address a number of issues, but it's better than what I've seen from the companies that get paid millions over several years for.  So where's my damn multi-million dollar cost plus contract from the United States government?!
1
Add a comment...

Bryan Schuder

Shared publicly  - 
 
I really hate being denied something because of technicalities... It really doesn't help when those presenting an opportunity really want to give it to you, but can't because of a technicality... that they THEMSELVES made and now regret doing so.

Presenters: "We'd really like to give you this!"
Me: "What's the problem?"
Presenters: "You don't have enough of X."
Me: "Despite not having enough of X, you still want to give me the thing?"
Presenters: "Yes."
Me: "Who said I needed to have so much of X?"
Presenters: "We did."
Me: " . . . "
Presenters: "Yah, requiring so much of X was really stupid thing to do."
Me: "I noticed."
1
Cliff Taylor's profile photoLucas Dummitt's profile photoBryan Schuder's profile photo
4 comments
 
Exactly right Cliff.
Add a comment...

Bryan Schuder

Shared publicly  - 
 
I'm looking forward to fan funded, publisher free games. Kickstarter is an excellent catalyst for this so far. If the Double Fine Adventure is any indicator of what is to come, then things are going to get interesting in the near future.

http://www.kickstarter.com/projects/66710809/double-fine-adventure

Especially, now there is the Wasteland 2 kickstarter project:
http://www.kickstarter.com/projects/inxile/wasteland-2
1
1
Add a comment...

Bryan Schuder

Shared publicly  - 
 
I'm always a fan of good analogies. I've stumbled upon this one:

"It's like playing Chess with a pigeon; no matter how good I am at Chess, the pigeon is just going to knock over the pieces, crap on the board, and strut around like it's victorious."
1
Emily Watson Taylor's profile photo
 
That is fantastic. I have definitely been in a situation like that before (figuratively, not literally).
Add a comment...

Bryan Schuder

Shared publicly  - 
 
Since I needed a new trackball, I browsed NewEgg.com for anything else I might want/need. "Hey! 12GB Triple Channel kit of DDR3 RAM with good timings for $70." I've been operating my computer without a swap file and 6GB has proven to be a bit cramped for that. (Windows starts to panic if there's less than a 1GB left and will open a non-stop fest of warning pop-up messages.) So, why not get some more RAM, too!

Well... I've inadvertently revisited my childhood of computer upgrade yesteryear. As many times with many upgrades before... What do you do with (ridiculous amount) of (metric)?

Yes... With my original 6GB and the new 12GB. I have 18GB of RAM in my computer. Definitely won't have to worry about needing a swap file and have plenty of room... a lot of room. What do you do with 18GB of RAM in a home computer?! I guess I'll keep a few VM's at the ready in the background. Thought about doing a RAM Drive, but that seems too easy now that I think about it.
1
Lucas Dummitt's profile photoBryan Schuder's profile photo
2 comments
 
Indeed. I have.... I still have unused RAM... This is frustrating. I even set Skyrim to be LAA (Large Address Aware) and vastly increased the caching it can use. Minor damage in comparison.
Add a comment...
Have him in circles
57 people
Kevin Yeargin's profile photo
Theresa Dummitt's profile photo
Jody Ferrell's profile photo
Jason McClanahan's profile photo
Cody Smith's profile photo
Ice T's profile photo
Chrisila Pettey's profile photo
Steven Gaddis's profile photo

Bryan Schuder

commented on a post on Blogger.
Shared publicly  - 
 
Don't forget the cities to the south of Nashville in I-65/I-24 southern corridor:  Murfreesboro, Franklin, La Vergne, and Smyrna!  If Nashville/Davidson county alone isn't enough, the easy expansion to other cities around should be worth it.  Franklin has many established tech companies, La Vergne/Smyrna has a variety of industries in it, and Murfreesboro is a rapidly expanding college town that'd put all that fiber to good use.  What's more is that most cities in the area are either sitting on top of or near existing infrastructure fiber or dark fiber.  And you'd have an easy time hiring a local workforce to fill all the ranks to support the project.  I know I'd like to put my C.S. degree to something other than healthcare software.
Over the last few years, gigabit Internet has moved from idea to reality, with dozens of communities (PDF) working hard to build networks with speeds 100 times faster than what most of us live with today. People are hungrier ...
1
Add a comment...

Bryan Schuder

Shared publicly  - 
 
In light of the recent SimCity fiasco...  Please refer to this video to understand how EA really works:  EA in a Nutshell (Similar applies to Activision, etc.)
1
Add a comment...

Bryan Schuder

Shared publicly  - 
 
After reviewing some info about the Loudness War:
http://en.wikipedia.org/wiki/Loudness_war
http://www.cdmasteringservices.com/dynamicdeath.htm
http://www.cdmasteringservices.com/dynamicrange.htm
http://www.cdmasteringservices.com/warandpeace.htm

I decided to fire up Audacity and take a good look at the audio waveforms for some of the bands I listen to...   There are some mastering engineers that need to beaten savagely for their butchering of good mixes.  Big names, too, by bands I thought would have the clout and knowledge to prevent that this kind of stuff.  A band I found more recently that I have found to quite enjoy before this point surprised me further.  The Megas, http://en.wikipedia.org/wiki/The_Megas_(band) , have some very responsible and careful sound and mastering engineers in their employ.  If you have some good audio equipment, I'd recommend getting a copy of one of the Megas's albums because it'll be quite the treat.  This especially true if you are an old NES Mega Man fan.
1
Add a comment...

Bryan Schuder

Shared publicly  - 
 
I've come to appreciate the effort and craftsmanship put into the costumes for the steampunk craze. While I'm not that much in the steampunk fandom, I do like the Fallout universe's retromodern tech. That being said, I'd love to create/acquire this particular armor: http://fallout.wikia.com/index.php?title=Elite_riot_gear&image=EliteRiotGear-png

Now if I only had the leather working and tailoring skills... and a machine shop with a 6-axis CNC machine.
2
Add a comment...

Bryan Schuder

Shared publicly  - 
 
Fellow coworker thought of this one. Those who have the misfortune of working with terrible database designs will understand this one.

http://qkme.me/35nm4v
1
Add a comment...
People
Have him in circles
57 people
Kevin Yeargin's profile photo
Theresa Dummitt's profile photo
Jody Ferrell's profile photo
Jason McClanahan's profile photo
Cody Smith's profile photo
Ice T's profile photo
Chrisila Pettey's profile photo
Steven Gaddis's profile photo
Basic Information
Gender
Male
Education
  • Middle Tennessee State University
    Computer Science, 2002 - 2008