User Tools

Site Tools


opus:spring2013:thakes3:start

Thomas Hakes's 2013 Student Opus

I can fit my entire fist in my mouth, wanna see?

Introduction

Loading Swag… ████████████████ 100% Complete.

asm Journals

January 31'st, 2013

4:00AM - 6:00AM Working on logic gates for Joe's class. Right now I have a working not and a broken or.

2:00PM - 3:00PM we finished all the logic gates and have moved on to bigger and badder things

February 2'nd, 2013

10:00AM - 11:00AM finished building the individual programs for not and & or.

February 3'rd, 2013

4:00AM - 6:30AM slowly changing each program into a function so i can later add it to a larger program.

February 7'th, 2013

3:30AM - 6:30AM Worked on the user interface for my and or not implementations. I learned that by using getchar() you are able to get the new line character without it messing up your program. With that in mind, it can now pass numbers to the parameters and work from there. SEXY.

Feburary 11'th, 2013

2:00PM - 3:00PM Stopped into Joe's for help on the implementation of the half adder and full adder. I wasn't understanding the concepts of what the differences between them does.

A half adder only adds a single group of bits, while the full adder can add multiple bits with carry. If you have a full adder, you basically have a half adder.

Feburary 16'th, 2013

11:00pm - 12:00pm started working on my NAND, using stdargs to catch how many arguments i will be manipulating.

February 25'th, 2013

9:00AM - 10:15AM working on multiple and, catching a bit of crap from the program when i try to use full adder

March 26'th, 2013

I plan on working on a PISC computer simulator within the next couple of days. It is a simple CPU simulator that functions off of two clock cycles to execute one string of code. Inefficient yet efficient size in a CPU.

Here are some sources reguarding PISC, and the next couple of steps involving the datasheet for the ALU.

http://www.bradrodriguez.com/papers/piscedu2.htm

ALU

http://www.datasheetcatalog.com/datasheets_pdf/7/4/1/8/74181.shtml

hpc0 Journals

ARCH LINUX WEEKEND

Friday, February 22'nd, 2013

6:00 PM - 11:00 PM

Found the iso of arch linux that I needed to get to install it onto my laptop. Using the DD command, I wrote the disc to a flash drive for boot. After pushing the iso over, i proceeded to booting off of the usb.

zsh shell is very weird. instead of the normal bash tab complete, it lists available options and allows you to scroll through and choose what you want to complete too.

Grub gave me the worst trouble in the world. I couldn't tell what the arch script installed, so I could never find out how much in depth it went with grub. Turns out it never installed it at all. Had to configure grub using “grub-install”. Make sure you have your boot mounted.

Sources used: https://wiki.archlinux.org/index.php/Beginners_Guide

Saturday, February 23'rd, 2013

9:00AM - 2:00PM

When installing arch, I had the biggest struggle installing anything. Pacman (The arch package manager) is very different from apt or yum. You basically sync packages from a repository instead of installing them.

Basic usage: pacman -S emacs ↔ sync pacman -R emacs ↔ remove

Arch linux does not come stock with net-tools. What… They expect you to use this new iproute thing, but tons of people still use this late and great tool. Had to install that + dialog + wpa_supplicant just to use the preloaded script to connect to the wireless. That is a very strange way to get into business.

Now that I finally have a working console, and a connection to the internet, I try installing awesome. I've never used it before, and I've always wanted too. I have to install Xorg first, and then gdm to handle the login screen.

After installing awesome, I had to edit the configuration file to enable my browser (firefox).

More to come on the next installment of 1)

1337 HAX

This is my report on how I successfully hacked Shawn's computer in it's entirety. I waited for everyone to be cleared out of the room, then proceeded to his computer.

I booted up my live CD of debian ( just grab an iso and write “ dd if=where/is/debian.iso of=/dev/sd*(whateverthedeviceis) ) and then proceeded to mount his hard drive to my /mnt portion of the flash drive.

For whatever reason, his partition scheme is really messed up. /dev/sda1 was his primary home directory, /dev/sda5 was boot and /dev/sda8 was swap. SO STRANGE

from here i used the chroot command, to change my root directory to his hard drive on /mnt. that made all my environment variables his. after this, i needed to install openssh. a simple apt-get install openssh will suffice.

after installing openssh, i needed to drop an ssh key into his authorized_keys2 and then boom. massive hax

ARM YOURSELF

The MK802 Android stick computer is a computer with 1080p resolution, 1 GB of ram, various inputs, and a wireless controller, all within a tiny stick that resembles a USB drive. It is a very powerful computer given it's small size and when put to the test, it shows that ARM based computers will be competitors in the near future.

After obtaining one of these small stick computers, they very first thing I noticed was that it needed a hard drive. The computer takes a micro-SD card that will contain an operating system.

***Note- there are several linux based operating systems that will run and function on this computer. I decided to try two different operating systems for the level of support.

* Ubunutu has a fork that will run on the MK802, but unfortunately it is quite buggy, the resolution slips, the wireless will not work, and it is missing some core files needed for wireless to be rigged

* Linero is a Debian fork that was created to work on ARM based computers. They are a not-for-profit company assembled to make utilities and operating systems that will run on ARM based computers.

I had first tried ubuntu, but because of the snafu's, I quickly switched to Linero.

Linero runs smoothly. It takes about one full minute to boot up, but once it does it is decently fast given the size of the computer. The version of Linero that I am running contains a GUI, as well as a window manager and login manager. It is a full fledged computer with the design to work as a regular out of the box OS.

Installing this OS is a simple task, but it takes a very long time for it to be installed to the disk. When you obtain a disk image of the file, it's roughly 4 GiB. That's a huuuuuuge bitch. Afterwords, you must bit-by-bit transfer the file onto the drive. For this, I cannot think of any better of a program than dd.

dd is the GNU utility that allows you to transfer a file bit wise onto a drive.

The command i used was

homebrew~# dd if=linero_arm.iso of=/dev/mmcs0s0

where the “if” means the in file, “of” being the out file, and /dev/mmcs0s0 is the actual card itself.

Finding the card wasn't quite simple until i thought about it. The computer keeps record of everything plugged into it at once, and from then on adds devices as it obtains them. What I ended up doing was porting a directory listing on /dev/, plugging the card in, porting another listing of /dev/, and then doing a “diff” on those two files. Simple enough.

So now I have the operating system required for boot, I have the computer, the disk, and I'm all set to go.

Unfortunately the ARM pc only works in 1080p, and also has a 25h refreshing rate. That makes it not work on anything that isn't a 1080p television. I was planning on it being headless anyhow.

Now that it's started up, I installed emacs, vim, nano, firefox, and now it is one fully functional machine. :)

hpc2 Journals

January 24'th 2013

The LAIR WALL was a project developed prior to my becoming of CCC. It is an interesting little setup, as it uses a very old operating system and very old means to produce it's output. My idea is, with the help of these new machines so graciously donated to us by corning, I hope to bring it to the 21'st century by updating the OS from Debian sid, to Debian weezy; and also by updating the driver libDMX, allowing us to add more functionality to it, web browsers, apps, ect.

January 26'th 2013

GNOME 3 has a feature that when you type in the wrong password three times, it just refreshes the screen, rather than locking a user out of their profile.

February 1'st, 2013

4:00PM - 5:30PM: Jake and I sat down and built a couple computers up to run debian so we can begin testing the new configurations for libdmx. It will be fun getting into this more, I can't wait.

February 14'th 2013

12:00pm - 3:00pm Casey and I began work on a multi-seat linux enviorment project. We started editing the xorg configuration file located under /etc/X11/xorg.conf. To obtain this file, you must run the preliminary command “X –config”.

February 15'th, 2013

5:00pm - 6:00pm I have edited the xorg config some more… I now have two server layouts for each seat. for some reason, the x config will skip over the second seat without informing me.

March 2'nd, 2013

Matt had asked me to document my findings for NCMPCPP && it's many joining files. That information will be stored in this classes's project one

March 14'th, 2013

I was recently contacted by a local business near Waverly NY that needs a simplistic website. Seeing as though I know little about web services, I figure i'm going to give it a shot.

March 16'th, 2013

I have bought a hosting service off of the online partner siteground, who use a linux based computer for all of their hosting. It is very interesting, and it also allows me to manipulate things using ssh. I am eager to dive in, but there are some interesting quirks with the server.

* It is a jailed version of linux, I cannot get any version history or anything regarding the type of operating system or what it is using for the hosting of the web pages

* It does not contain a modern text editor other then nano, and nano is a basic version in DOS mode.

* No compilers, no interpreters, this really is a JAILED version of an OS

I'm a little saddened by this

March 20'th, 2013

I ate a sub today, yummy

Also, I've been working with a new shell. Zsh ( or z shell ) is an interactive unix shell as well as a powerful interpreter for shell scripting. It has many features that allow it to be compared to ksh, sh, and bash.

  • Programmable command line completion
  • Shared command history throughout all shells
  • Allows finding files without using the command “find”
  • editing multiple line commands in a single buffer
  • Fully combustible

It's really quite a thing, now I need a cool PS1 and i'm all set to go!

March 23'rd, 2013

Been looking at zsh a little more, and I keep liking what I'm seeing. It has it's own line editor for editing lines on the screen, but with EOL's. It breaks up the extremely long and strenuous commands, and allows you to edit it on the fly. pretty neat

March 24'th, 2013

March 28'th 2013

March 30'th 2013

April 2'nd 2013

April 3'rd 2013

April 4'th 2013

April 8'th 2013

April 9'th 2013

April 11'th 2013

April 13'th 2013

April 14'th 2013

April 15'th 2013

April 20'th 2013

sysprog Journals

January 23'th 2013

4:30AM - 6:00AM : I had spent a good portion of the time looking over the SDL.h header file. Just noticing how things linked together and how they worked. Afterwords, I devised a scheme for developing a game at the insta-LAIR : by writing all of the code and compiling on lab46, I can then run the executable off of one of the pod computers.

January 24'th 2013

11:30AM - 1:00PM : I had learned that by using gcc's -l option for linking, you can link a library as easy as ”-lSDL“. Mathmatical! I have finished the first trial and am moving onto the other lessons.

Something neat i've noticed as I am progressing through the second trial is this neat little SDL_Surface data type.

What is this data type? what does it do? well it's not a data type. It is a struct. I have found this link ( http://sdl.beuc.net/sdl.wiki/SDL_Surface ) that further explains what this structure is.

   1 typedef struct SDL_Surface {
   2     Uint32 flags;                           /* Read-only */
   3     SDL_PixelFormat *format;                /* Read-only */
   4     int w, h;                               /* Read-only */
   5     Uint16 pitch;                           /* Read-only */
   6     void *pixels;                           /* Read-write */
   7     SDL_Rect clip_rect;                     /* Read-only */
   8     int refcount;                           /* Read-mostly */
   9 
  10   /* This structure also contains private fields not shown here */
  11 } SDL_Surface;

listing from top to bottom: *format is the format of pixels stored within the surface; w,h are the surface's width and heights; pitch is the length of a surface's scan-line in bytes; pixels is a pointer to the location where the pixels are actually stored; clip_rect is the surface's clip rectangle; and lastly refcount is the reference count, which is used later when freeing the surface from memory.

January 25'th 2013

5:00AM - 5:30AM : Finished the second tutorial, by linking the SDL library while compiling, I am able to display these images in the correct manor. Sweet.

5:20PM - 6:00PM: In this third tutorial, there is something I'd like to elaborate on further. On lazy foo's entry for GNU/Linux on cli, he mentions a couple libraries without really explaining what they are or what they are doing.

SDL_Mixer → is a library to include if you want to include music to your project.

SDL_Tff → is a library to include if you want truetype font included on your project.

These are not libraries that we are doing something with immediately. He's not very clear with that, and that is something that I got hung up on for a few minutes trying to think why he talked about them.

8:00PM - 10:40PM : Lesson 3 and 4 were pretty cool. I got hung up at one point trying to compile with the string header. I fought that battle what seemed like forever, come to find out I was using the wrong compiler (gcc vs g++). Lesson learned I guess.

January 26'th 2013

5:00AM - 6:00AM: nothing really to report, just slamming down tutorial 5

9:00AM - 12:00PM: still plugging along

January 29'th 2013

Having an interesting problem with the SDL tutorials, I'm not able to exit the windows i create in tutorial 4 and i cannot load certain images. How very interesting

10:30 - 11:30: continuing de-bugging my tutorial 5 to finish it.

February 5'th 2013

15:00 - 15:25 I just added all of my current tutorials to bitbucket so that I may clone the repo and work on them from any computer. This relieves me of the stress of scp'ing a tarball of everything that i've been working on just to run it on a different platform. Later today I should be plugging along on some moar tutorials.

February 11'th 2013

I have been slacking on the SDL tutorials. I need to get some time to work on these more.

February 12'th 2013

1:30PM - 2:00PM began working on the SDL Tutorial to enable SDL coding in xcode. Massive errors.

February 13'th 2013

4:00AM - 6:00AM continued working on finding a way to run SDL tutorials on my mac without massive errors on Xcode. Probably going to have to run it in a virtual machine

Feburary 15'th, 2013

6:00PM - 8:00PM worked on setting up an SDL enviorment in an ubuntu install. Tomorrow i will begin massive headway on SDL

Feburary 16'th, 2013

8:00am - 9:00am started fixing my lesson4.cc, ended up looking at the source code and re-writing it completely. For some reason i couldn't get the other program to exit gracefully. OH WELL

12:00pm - 2:00pm Finished fixing lesson5.cc, getting images both jpg and png to blit. SWEET

9:00pm - 10:00pm lesson6 worked like-a charm

February 19'th, 2013

11:00am - 2:00pm Finished lesson 7, working on lesson 8, had a weird dump of information…. need to check it out.

3:30pm - 4:15pm finished lesson8, I wasn't properly checking to see if the message was not null.

February 21'st, 2013

11:00am - 11:30am working on lesson 9, capturing mouse movements on the screen. It's all pretty neat, but it involves classes, which is something I will need to look into more before I fully understand what is happening.

February 28'th, 2013

2:30PM - 3:30PM finished lesson 10 and moving past lesson 11

March 1'st, 2013

1:30PM - 2:15PM worked on lesson 11

March 5'th 2013

12:00 - 12:40 I can not get lesson 11 to stop seg faulting. for some reason, it will overflood the SDL_LowerBlit() and return a seg fault. will report later with info

March 10'th, 2013

finished lesson 11, good stuff

March 12'th, 2013

11:30 AM - 1:30 PM started the excelent work on lesson 12

March 13'th, 2013

March 20'th, 2013

March 22'nd, 2013

1)
ARCH WEEKEND
opus/spring2013/thakes3/start.txt · Last modified: 2013/08/25 12:16 by 127.0.0.1