======asm Journals======
==== January 21st 23rd 2013====
The first two days i worked on setting up a personal workstation. I started with the base optiplex 745 added 2gb of ram and a radeon x1600 GPU and am running two monitors.
==== January 28, 2013====
During class i continued to set up the computer i was using. I worked on getting the drivers for the radeon x1600 GPU i am using.
I was successful in getting them to work with the the help of mat ans running aptitude install linux-firmware-nonfree. Once the firmware was installed the GPU worked beautify.
==== January 30, 2013====
Finished setting up the minecraft server and the router for our network.
==== February 1, 2013====
Today we began work on our minecraft cpu. We were able to get a working 8 bit adder completed and began to understand the mechanics of redstone and how to make simple logic gates. In doing this we also experimented with optimizing space and connecting the bits together. One all 8 bits were created we began to work on a way to run all the outputs to a space for testing. Once we are done testing we will have all the outputs run out one side and the inputs on the other resembling and actual chip.
==== February 13, 2013====
Today i setting up hg on my mac. To do this I will need to install a package manager. I chose to use macports.
{{:opus:spring2013:eolson1:macports.jpg?200|}}
I am running mac OSX Mountain Lion. Once Macports is installed before you can begin to use your glorious package manager you will need to download xcode from the app store. This is free.
After xcode is installed you will have to install the command line tools as well this can be found on the Xcode Developer tools page.
Once you have downloaded the command line tools you will be able to use your package manager.
to install hg you will use the command
sudo port install mercurial
You will have to set up a .hgrc file in your home directory. If you preform an "ls -a" and you do not see the file touch one.
touch ~/.hgrc
This will create a file called .hgrc. Next you will have to edit the file to consist of the following information.
[ui]
#"User information here"
username = "FIRST NAME LAST NAME"
Once mercurial is installed it might be useful to have a repo clone to work with. cd into the directory you would like the repo to be located and run.
hg clone "HTTP OF THE REPO YOU WOULD LIKE TO CLONE"
Once you have done this a directory will appear with the name of the repo. You will find that this contains all of the files within the repo. You now within this directory will be able to edit the files and then manipulate the repo with the hg commands.
==== March 8, 2013====
Today I worked on researching more about the mincraft cpu simulator. After doing more research i think we will build the intel 8008. Finding schematics for the components is proving to pretty difficult though.
======hpc0 Journals======
====MONTH Day, YEAR====
This is a sample format for a dated entry. Please substitute the actual date for "Month Day, Year", and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
* What action or concept of significance, as related to the course, did you experience on this date?
* Why was this significant?
* What concepts are you dealing with that may not make perfect sense?
* What challenges are you facing with respect to the course?
===February 11, 2013===
Fixing the problem with the router in the network. The on board NIC was giving us problems. We changed the port from eth2 to eth0. Once doing this we rebooted the router and all was well... for Shawn. My computer was still unable to receive a connection. turns out this was a problem with the DHCP server. We had not configured it to run on the new port we were using. We re configured it by going into /etc/default and editing the file isc-dhcp-server. We basically just changed the port that the server was working in. Then with a quick reboot all the problems were solved.
After that we went on to work on getting a DNS server set up. First thing we had to do was install bind on the router.
apt-get install bind9 dnsutils
Then we will have make a directory in the location /etc/bind/zones/master Once there we will create a file called 10.80.2 (the network address)
DISREGARD ^
vnamed.conf - The main file for all of the other config files in the bind directory. Includes the other three named.conf files
named.conf.options - forwarders = If our dns server doesn't know how to service a request, it will ask the “neighbor” (the forwarded ip's) and see if they know. If they do, then it will send the user there, if not, it will go to their neighbors and check with them. Recursive turned on allows the process to be repeated until it is resolved. If it isn't on, it could and probably would stop at the first neighbor.
named.conf.local - Defines the local zone files.
==== February 15, 2013====
working on the DNS server:
Confirmed we are talking to the server.
problem within the name.conf.local
-full path was not defined and needed to be.
after that was resolved, using the service command to restart bind9
sudo service bind9 restart
resolving more problems checking /etc/nsswitch.conf
-everything seems good
/etc/resolv.conf configures the dns setting as a client
took out a few lines
Pinging now but far to slow
===February 13, 2013===
Today i worked on getting Diablo II to run via crossover on my mac.
I installed crossover gained access to a copy of Diablo II. Once crossover was installed i followed to flow of the app to install Diablo. As far as installing the game crossover was very easy. Unfortunately when trying to play the game it was automatically launched in full screen mode. When launched in full screen mode it didn't work and freaked. After asking a few questions around the classroom i looked into launching it in a windowed mode. To do this wi used the "run command" function of crossover and ran Diablo with the "- window" argument and that worked beautifully. Although small it was running.
====Touch Screen Project====
Feb 27, 2013
Today i began work on using a mimo imo ax-7 external usb monitor with touch capabilities.
-Step !: Research and find drivers for the device
\t I started this project on my mac, this will start out as a mac tutorial. After some initial research i found this cite "http://www.mimomonitors.com/pages/mac-os-x-install-procedures-for-imo-touch" That proved to be very helpful initially.
March 1st, 4th, 6th, 2013
After doing some more research into it and getting A LOT of help from Presley on the subject the aforementioned procedure was not the way to go. We began to dive into the idea of staring a separate x session on the AX-7 that was separate from the running x session with its own separate Xorg.conf file. We were able to create a sort of default one that we could edit. Once edited we gave it another shot but still not the output we are looking for.
March 11th, 2013
Moved the project to a dummy computer with a basic install of squeeze that contained no GUI. I then installed the x server manually:
root@evan:~#aptitude install x-window-system
And a lightweight window manager fluxbox:
root@evan:~#aptitude install fluxbox
===The Tutorial===
If you are following along you will first need to probe the system for a basic xorg.conf file. You can do this by running:
X -configure
This will place a basic xorg.conf file in roots home directory provided you are root. The file will be called xorg.conf.new
This file will have to be renamed xorg.conf and placed in the /etc/X11 directory. Once the file is here it will be utilized when x is run.
Now you will have to download the drivers that will allow you to use the touch portion of the device. The driver i used is "eGTouch_v2.5.2107.L-x" and can be downloaded from:
http://home.eeti.com.tw/web20/egalaxtouchdriver/linuxdriver.htm
All of the instructions on how to install the packages are included. If running the installation script does not work later on, it may be necessary to follow the manual installation to root out any issues.
Assuming you now have the driver installed we can be begin looking at the xorg.conf file. Also durring the course of fiddling with the xorg.conf and starting x get into the habit of reading the lag file. It is located in /var/log/Xorg.0.log. Learning to raed and understand this file will prove to be very helpful :)
Anyway back to the xorg.conf file.
There are certain sections you should focus in on when you open the xorg.conf file as if this is your first time seeing this file it may be a little overwhelming.
-Server Layout
-The Input Device sections
-Monitor
-Device (This section will become important later on but is probably looking a little crazy now. Just loook it over and keep it in mind.)
-Screen (Same as the device section, just keep it in mind.)
==Server Layout==
(example of my server layout section)
Section "ServerLayout"
Identifier "alpha"
Screen 0 "Screen0" 0 0
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
The server layout is basically defining an x server session and telling it what to use, such as the mouse, keyboard and screen. The Identifier section is what you refere to this server layout as, I named mine alpha.
When taking a closer look at the screen and two input device sections may notice that the syntax is much like the Identifier section. Instead of defining Mouse1, Screen0 and keyboard0 we are just referencing them. Mouse1, Screen0 and Keyboard0 are identifiers from other sections.
==Input Device==
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOption" "terminate:ctrl_alt_bksp"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Device" "/dev/input/mouse2"
Option "Protocol" "auto"
Option "ZAxisMapping" "4 5 6 7"
EndSection
The input device section is a little self explanatory. Again the identifier is what the section is known as. The Driver sections are telling the device what river they are to use.
Zaxismapping
ftp.x.org/pub/X11R7.0/doc/html/mouse5.html
==== Sandwich Lifting Project ===
It all began as a joke... as most good projects do. it was a chilly winter day and Todd, like usual packed his simple yet delectable PB&J. We jokingly came up with the idea of lifting it by means other than our hands.. a mechanical means.
{{:opus:spring2013:eolson1:resizedimage_1367893972321.jpg?200|}}
Then began the engineering, with an old reel and some very old line.
{{:opus:spring2013:eolson1:2013-04-17_12-24-31_496.jpg?200|}}
A zip tie here...
{{:opus:spring2013:eolson1:2013-04-17_12-25-59_285.jpg?200|}}
And a zip tie there.. It was nearly finished.
{{:opus:spring2013:eolson1:2013-04-17_12-26-36_353.jpg?200|}}
An overview!
{{:opus:spring2013:eolson1:resizedimage_1367895145167.jpg?200|}}
sandwich simulator
{{:opus:spring2013:eolson1:resizedimage_1367895188606.jpg?200|}}
URGRADE!!
======sysprog Journals======
====MONTH Day, YEAR====
This is a sample format for a dated entry. Please substitute the actual date for "Month Day, Year", and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
* What action or concept of significance, as related to the course, did you experience on this date?
* Why was this significant?
* What concepts are you dealing with that may not make perfect sense?
* What challenges are you facing with respect to the course?
====February 13, 2012====
Today i worked on getting git installed on my macbook. Many of the steps were very similar to setting hop mercurial. It also required a package manager. Again i used Macports and again xcode and the command line tools had to be install. Fortunately i had already done all these so it was simple.
sudo port install git-core
This command installed git. This is much like a linux system except replace port for "apt-get".
Once this is installed you then have to set up your username and if you would like you can set up and email to correspond with the git "profile".
git config --global user.name "FIRST_NAME LAST_NAME"
This command will set up the username this clone of the repository you you will clone. This does not have to be the same as your git account or any other repo account. All this will do is provide some information about the person committing to a project.
git config --global user.email "MY_NAME@example.com"
This command will set up the email you want to have associated with this clone of the repository. again this does not have to match your repository account. In fact this step is not required.
Next to make all this work worth while you will have to clone a repo.
git clone "HTTP OF YOUR REPOSITORY"
This will clone your repository to the directory you are in. And your set!
You can now use all the git commands to manipulate your repo clone.
Feb 15, 18, 20, 22, 25, 27, 2013
Working on the SDL library tutorials:
Tutorial 1: Learned how to initialize and set up a screen and blit an image to it. Also once you have created the screen and blitted the image to it you must update the screen. This can be done with the SDL_Flip() function. Then we learned how to delay the closing of the image. The delay functions units are in mili seconds and this is very important to remember or you may only get a flash of your image. After the delay you must then free the image and quit SDL.
Tutorial 2: In this we will initialize surface as well but we will be using a few more. We will use a background and a message also we will create a screen to apply the images to. Then we made a loading image function that will go through a series of steps to optimize the image when loading it. Then we made a function that we will use to apply the image to the surface. Thus function actually houses the function to blit the surface to the size of the offset also set in this function. This process will make sure that the image is properly sized for the screen. The rest is very similar to the forst tutorial just using the new functions we created to apply the image to the screen.
Tutorial 3:In this tutorial we learned how to use other image formats such as png. We used a different function to load the images in this tutorial. We used IMG_Load() as opposed to SDL_LoadBMP(). That was basically the only difference in this tutorial.
Tutorial 4: In this tutorial we learned how to check for an "event" such as if the user wanted to x out of the window. we created and "event" like this "SDL_Event event;" This event structure stores event data for us. nothing changes with the loading and blitting functions we created before. In the we now creata an initializing function that starts up SDL and the window and caption. in this tutorial we also make functions to load files and a clean up function. Then in the main we apply the surface and update the screen and make a loop to check for an exit event. if the exit even has been fulfilled the loop will exit and the clean up function will run.
Tutorial: 5