Monday, December 31, 2012

It Can't Be About Me Ultimately

Today I was coming home from work.  I was feeling okay but not ebullient to tell the truth.  I got to the subway and a young man was there.  He needed to get on the subway.  I bought a Metrocard and put him on the Subway.   Right after that I felt a ping of light in my soul.  It felt really good to do something for someone else where I had to sacrifice in order to do what was right.  

It felt good.

Then I realized what I wanted to do when I hit 10,000 dollars.  I want to take 1,000 dollars and go back to Hollis.  And I want to spend the day camped out in a supermarket and look for single mothers struggling to make ends meet.  Then I want to pay for their groceries.  

I want to give back.  Because that's the reason for making it in the first place.  It can't be about you.  It can't be about me.  It has to be about people who need help.  I've made a lot of mistakes in my life.  But I know this is what's right.  This is the right path.  Earn and give it back to help someone else.

Saturday, December 29, 2012

To Do List (Sunday)

-- Courier Weight Screen:
-- Give Courier Weight a real button
-- Change the Courier Weight item list to a limited list. (Done: 12/31/2012)
-- Confirm current location using GPS on Courier Weight screen.

-- Courier Jobs Screen:
-- Write CGI script
-- Load Courier Jobs from CGI script
-- Redesign the Courier Jobs page to show more information.
-- Write CGI script on choosing a job:
     -- Confirm the job is still available
     -- If available take the job.
     -- If not say the job is not available + reload the available jobs

Friday, December 28, 2012

AES 256 Encryption/Decryption

http://stackoverflow.com/questions/9794383/aes256-decryption-issue-in-objective-c

SHA1 Objective C Encryption Code


http://www.makebetterthings.com/iphone/how-to-get-md5-and-sha1-in-objective-c-ios-sdk/

Potential Investors for the Future

A Thought for the Future

Work Plan Part 2

Here's the next part of the Work Plan:

1.  Plan work on iPhone App

Courier Screens:

-- Courier Weight Screen:
-- Give Courier Weight a real button
-- Change the Courier Weight item list to a limited list.
-- Confirm current location using GPS on Courier Weight screen.

-- Courier Jobs Screen:
-- Write CGI script
-- Load Courier Jobs from CGI script
-- Redesign the Courier Jobs page to show more information.
-- Write CGI script on choosing a job:
     -- Confirm the job is still available
     -- If available take the job.
     -- If not say the job is not available + reload the available jobs

-- Orders Screen:
    -- Build in a cancel button
    -- Build cancel job cgi script.
    -- Build cancel job code into iPhone app.
    -- Build in alert message that will tell the courier that by accepting the job and then cancelling it will negatively affect his Trust Score (the score that affects the price level of the jobs they can accept).
    -- Build in Job Done button
    -- Build Job Done cgi script

-- Build Account Information Controller
    -- Name, Address, Phone Number
    -- Design this (look at the Database to do this)

-- Look into why view controllers are crashing 

Customer Screens:

-- Build Saved Addresses CGI

-- Investigate Maps Solution for iOS (development) -- Everything stops until this is done.

2.  Rebuild first GFM page -- Gimp here I come.
      -- Build GFM Piece
      -- Build button (courier)
      -- Build button (customer)
      -- Update:  All done 1/2/2013.  Nice.  Whew.

3.  Encrypt the transmission of data from the iPhone app to the Restful service.
-- Not necessary from an iPhone app as no one will see the address going out.

4.  Rip out the unnecessary parts of the iPhone piece.
-- Done.

5.  Replan the work. 
-- See above.

Thursday, December 27, 2012

Quantum Leap

Today I got my server to output a JSON Object and got my iPhone to listen to it.  

This is a very big day.  Because that happened now all it's a matter of doing is programming like crazy to build the code that I need built.  

This is a very big deal.  Now my web applications can talk to mobile devices and to the database and all three can work in tandem.  This is the basis for my future endeavors for the next five to seven years.  This is very big.  Very big.

The intersection of the web and mobile is a nexus where a lot of very cool things can happen.  I am looking forward to it.  Very cool.

Consuming a Restful Object with an iPhone

Monday, December 24, 2012

Future Business to Buy

Using Perl to Build Objects

JSON and Perl

AWS, Memcache, and iPage

First, note to self.  I stopped watching this video at 20 minutes.  I'll have to come back to it eventually but not right now.

AWS Overview

So a couple of things.  

So I asked the guys at iPage if they supported Memcache and Gearman.  They said no.  Then I looked at AWS.  It's expensive.  15 bucks per month per server.  Right now I'm paying 2 dollars a month.  That's actually freed me up to do somethings.

First,  I should be done with alot of my projects faster because I'm not going to actually use AWS and therefore GM and MC until I actually need them.  That allows me to build my programs in a rapid OO fashion and roll out projects alot faster.

So I should be done with all three of my projects by January of next year.  I should have betas online and actually start generating some revenues.  Then I can move along with AWS when I'm confident that I'm actually getting some hits and things are working out.  This is a good system as it will allow me to move more rapidly.

It also speeds up the learning curve.  Exciting!


Sunday, December 23, 2012

Blogging and the Comeback aka Work Plan Part 1

Yesterday I discovered web hosting.  And just like that all of my dreams returned to me.  

I temporarily left the path that I had designed for myself.  I left the path of technology and building a real set of companies and started toward the path of individual self fulfillment.  I hit a brick wall of networking technology and just couldn't do it.  I didn't have the energy.  I needed to get away.  

The reason wasn't that I was too tired to learn more.  It was just that I was tired of learning.  At some point you don't want to learn something new, you want to use the knowledge that you've all ready acquired.  Programming was that knowledge.  

Then yesterday I was tooling around online and they shut both my Twitter accounts to promote my blog.  Well, then I started tooling around looking at other blogs and YouTube showed me something about web hosting.  I watched a couple videos and an hour later I had a host online.  The lights came back on in my dreams and I knew I was back.  I feel so empowered by this.  

So the goals:

1.  Migrate the MySQL creation script over to my hosted site.
12/23/2012: Done.  Sweet.

2.  Change the DB info in the PHP Scripts.
12/26/2012: Done.  Sweet.
3.  Migrate the PHP scripts.
12/26/2012: Done.  Sweet.

4.  Make sure the PHP file directory is locked.
12/26/2012: Done.  Sweet.

5.  Create a subdomain (test.go-for-me.com)
12/26/2012: Done.  Sweet.

6.  Password protect test.go-for-me.com
12/26/3012: Done.  Sweet.

7.  Test that the site is visible.
12/26/2012: Done.  Sweet.

8.  Do a little security stuff (make a list).

9. Set up a CGI script.
-- Things to do about this:
a.  Add database piece
-- 12/26/2012: Done.  Sweet.

b.  Add JSON piece.
-- 12/27/2012: Done.  Cool.

10. Make sure script is visible from iPhone app.
-- 12/28/2012 (2:13 am):  Done.  Awesome.

11.  Continue developing iPhone app for GFM.
See Blogpost: Work Plan Part 2.

Friday, December 21, 2012

Love is Pain

Love means vulnerability.  Vulnerability inevitably means pain.  Unless she's the one.

Thursday, December 20, 2012

Blog Ideas

The Resurrection of the Republicans

Give 'Em Hell Hagel

Blogging Link

Focus and Freedom and Networking

So I thought I'd be able to quickly network my computers and be on my way to cutting code, the thing I really enjoy doing.  But alas, no such luck.  

Networking these Linux boxes is not so quick and no easy task ... because I've never networked a computer before.   (Those guys from Google made it look so easy!)  So I'm faced with a dilemma.  Stop or keep going.  

I am only a few short steps away from getting to the place I want to and need to be.  Cutting code.  But I can't cut code until I get these computers to talk to each other.  So what do I do?

I keep going.  Why?  Because every step I take is one step closer to freedom.  I want to be free.  I need to be free.  Lincoln freed the slaves.  But he didn't free the workers.  And in order for a worker to be free I estimate that at my current cost of living it'll cost me 1 million dollars.

One million dollars.  

In order to get there I need to have some type of business selling things for me while I'm working.  It has to be earning money for me while I'm sitting at work doing stuff.  I need to make my knowledge work for me and turn that knowledge into capital.  In order to do that I have to network these computers.

I'm tired of getting up and going to work in the morning for someone else.  I want to get up, have my employees come to my apartment or to my building and work in the morning.  I want my own shop and I want enough money to say screw it.  I want my freedom.  In order to get my freedom I need to focus.  

Sure I could start a blog and write about other stuff.  But I won't.  Focus.  Intensity beats expansiveness every time.  I have to get there.  I must.  So I'll go smoke a stog. I know.  It's terrible.  Watch a bit of Hajime no Ippo and start reading.

The goal tonight:  read 20 pages and understand 20 pages about networking and by the end of next week start cutting code.  I must get there.

Monday, December 17, 2012

ip addr list

ip addr list
-- listing all the information about all the ip addresses on the system


Ending the tail command

Ctrl + C ends the tail command.

To look at the file while it's being generated: tail -F /var/log/messages

Wednesday, December 12, 2012

Finding Default Gateway in Fedora

Type  route -n at the shell prompt.

The line with UG on it in the gateway column is the default gateway.

Monday, December 10, 2012

Viewing the Tables in a MySQL Database


To login (from unix shell) use -h only if needed.

# [mysql dir]/bin/mysql -h hostname -u root -p

Create a database on the sql server.

mysql> create database [databasename];

List all databases on the sql server.

mysql> show databases;

Switch to a database.

mysql> use [db name];

To see all the tables in the db.

mysql> show tables;

To see database's field formats.

mysql> describe [table name];

Installing MySQL on Fedora 15

Make sure you have a Internet connection (which you do if you're looking at this).

Then just follow these steps.
Navigate to the root.  

cd /

Then do damage.

su #for root login, enter password when prompted
yum install mysql-server
service mysqld start
mysqladmin -u root password PASSWORD_HERE
yum install phpmyadmin

su #for root login, enter password when prompted
service mysqld restart

SQL Command to Restore a MySQL Database


backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql

Thursday, December 6, 2012

Whatever He Is

When I was dating my most serious girlfriend her roommate said to us one day as we were leaving the house, "I'll take my doctor-lawyer over ... whatever he is."

It shocked me.  It shocked me to the core.  Even to this day I'm still struck by it.

I met her boyfriend.  He was a good guy.  There's no fault against him.  But she was somewhat right.  I didn't know what I wanted to be.  I was trying to figure it out.

Did I want to be a lawyer?  Well, being a lawyer would be fun but I also figured it'd be pretty selfish.  You see, lawyers at the end of the day don't create anything.  They don't create any wealth or any product.  All they create is a whirlwind of paper and fee schedules if they're good.  Maybe they create history with a case but that just didn't seem to be a just contribution.

Well, a politician maybe?  Well, that seemed to be a job in which you attempt to manage the affairs of the country but what have you made?  What have you created?  How have you given?  It seems to be the job of a second career but not a primary one.

What about a trader in finance?  Well, that seems to be a lawyer rehashed.  Ghandi said wealth without work was a sin.  I happen to agree and that seems to be the business most traders are in.

What about show business?  While thats creative and contributive it really seems to be a party for one.  Sure  you can employ a handful of people but by-and-large it seems to be a very intensive activity while it doesn't have enough room to bring others along.

Well what did I want out of life?  I always prided myself on being smart.  I wanted something that allowed me to use my mind in new and creative but concrete ways.  I also wanted to create something that would allow me to hire plenty of people, sharing the prosperity and growing it for an entire community and not for a small handful of people.  I also wanted to create something long lasting, substantive.  

Today I spent all day trying to figure out how to complete technical goals and I am so happy that I stuck with technology.  It really accomplishes everything that I thought of.  It is wildly creative.  It is like playing a concerto lightly on the stars of logic.  It allows one to mix their dreams with technical know how which mixes the left and the right brain into a heady brew.  It allows for hiring, for giving opportunity to others.  And most important to me it allows for substantive achievement. Not ephemeral achievement but real achievement that can benefit the lives of others for years, even decades to come, perhaps even lifetimes.  Finally it embraces my ego and allows me to show the world what I can do, what I've dreamed of.  It allows me to showcase my imagination.  Technology.  A technologist, an industrialist, a futurist, a businessman, a visionary, that's what I am.

Granting Shutdown Rights to a User (SQL Command)

GRANT SHUTDOWN ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password'

Actually shutting it down:

mysqladmin shutdown -u root -p
(Type in password when prompted)

Access MySQL from Windows Dos Prompt


mysql -h localhost -u root -p (DATABASE NAME HERE)
Then enter the password (if you use a password).

Then welcome to the world of magic.

How to Back Up a MySQL Database Using mysqldump

0.  Start the command prompt in Windows.

1.  Migrate to the bin folder of the MySQL Database so in my case it's: cd C:\Program Files\MySQL\MySQL Server 5.5\bin

2.  mysqldump -u root -p --databases <databasename> --result-file=c:\dbbackup.sql

Booyah.  Done.  Hopefully.

How to Transfer a Database to a Different Server (Directory Style)


You don't even need mysqldump if you're moving a whole database schema, and you're willing to stop the first database (so it's consistent when being transfered)
  1. Stop the database (or lock it)
  2. Go to the directory where the mysql data files are.
  3. Transfer over the folder (and its contents) over to the new server's mysql data directory
  4. Start back up the database
  5. On the new server, issue a 'create database' command.'
  6. Re-create the users & grant permissions.
I can't remember if mysqldump handles users and permissions, or just the data ... but even if it does, this is way faster than doing a dump & running it. I'd only use that if I needed to dump a mysql database to then re-insert into some other RDBMS, if I needed to change storage options (innodb vs. myisam), or maybe if I was changing major versins of mysql (but I think I've done this between 4 & 5, though)

Wednesday, December 5, 2012

Resetting a MySQL Root Password in Windows


C.5.4.1.1. Resetting the Root Password: Windows Systems
On Windows, use the following procedure to reset the password for all MySQLroot accounts
  1. Stop the MySQL server if it is running. For a server that is running as a Windows service, go to the Services manager: From the Start menu, select Control Panel, then Administrative Tools, then Services. Find the MySQL service in the list and stop it.
    If your server is not running as a service, you may need to use the Task Manager to force it to stop.
  2. Create a text file containing the following statements. Replace the password with the password that you want to use.
    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;
    Write the UPDATE and FLUSH statements each on a single line. The UPDATE statement resets the password for allroot accounts, and the FLUSH statement tells the server to reload the grant tables into memory so that it notices the password change.
  3. Save the file. For this example, the file will be named C:\mysql-init.txt.
  4. Open a console window to get to the command prompt: From the Start menu, select Run, then enter cmd as the command to be run.
  5. Start the MySQL server with the special --init-file option (notice that the backslash in the option value is doubled):
    C:\> C:\mysql\bin\mysqld --console --init-file=C:\mysql-init.txt
    
    If you installed MySQL to a location other than C:\mysql, adjust the command accordingly.
    The server executes the contents of the file named by the --init-file option at startup, changing each rootaccount password.
    You can also add the --console option to the command if you want server output to appear in the console window rather than in a log file.
  6. After the server has started successfully, delete C:\mysql-init.txt.
You should now be able to connect to the MySQL server as root using the new password. Stop the MySQL server, then restart it in normal mode again. If you run the server as a service, start it from the Windows Services window. If you start the server manually, use whatever command you normally use.

Spiritual Progress

I feel so much stronger than I have in a long time preceding.  And it's not a bravado type of strength.  It really is a true strength, a spiritual strength.  I feel more centered and unmovable than I have in a very long time.  My strength is not flighty or flippant but rather I feel a substantive strength that if nurtured, if shepherded, will grow into an abundance of strength, forged through God's will, allowed through God's good graces.

I was just meditating on a verse, a verse that says:

And we know that all things work together for good to them that love God, to them who are the called according to his purpose. -- Romans 8:28

I truly believe that.  Looking back upon some of the mistakes and events of my life I can see the Hand of God weaving a beautiful tapestry, and while I saw it often as pain and confusion I can now see the outlines of a story, a testament even, that I can turn around and point to for my family and say with no equivocation, "Look what the Lord has done."

New Chapter

I can't help but think that my life is starting a new chapter.

To be sure I am at a precarious time.  My job is teetering a bit.  (I have to develop a reputation for being as church mouse quiet here.  I am working on it.)  Therefore I need to be careful at this particular point, specifically over the next thirty days and definitely over the next 90.  Then I can think farther out.

But as for the new chapter.  I can't help but think that my life is starting a new chapter.  Yesterday I installed the hard drives into both of my servers, networked them, and did some other stuff.  And while they're not completely finished yet it marked a significant turning point in my life.  It is the actual physical embodiment of my dream, my planning, coming to fruition.

Today I walked outside and instead of being worried and looking at the buildings as walls, I looked up and saw penthouses.  I found myself looking at the tops of the buildings as opposed to looking elsewhere.  I found myself with a new sense of purpose, a determination, a clear and compelling vision for my life that I am eager to fulfill.  It is truly exciting.

While I truly do not care for my bosses boss (she just walked past me and makes it plain that she does not care for me) that is fine.  She is an obstacle in my path.  I must simply steer clear of her and remain focused.

I feel that for a long time I have been searching for a true North.  All of my life I have wanted to build something, to be a builder.  And now I see that in this life my path is just beginning. 

I feel stronger and more focused.  I am a man with a goal.  I am a man with a plan that is making significant progress on that plan.  Quick.  Quick.  I have big goals and only 55 years in which I can achieve them!

Tuesday, December 4, 2012

Rockefeller's Resolve

I have a new respect for John D. Rockefeller.  

It takes tremendous self discipline to gain extraordinary wealth.

John D. Rockefeller once was in his office.  A man entered and asked him a question.  Rockefeller had a few quarters in his hand.  He walked over to the window and stood in front of the it dropping the quarters repeatedly in his hand.  He did this for fifteen minutes.  As he dropped the quarters he listened to the young man behind him, exhasperated, sighing and carrying on.  He smiled to himself.  He admired the self-discipline he had to achieve while others could not control themselves.  He attributed his success to his self-control.

It will take tremendous self discipline for me to achieve my goals.  But I will achieve them.  It will start with keeping this job.  (See Thin Ice, another blog entry).  

It will continue with me staying focused on the task at hand and being financially disciplined.

I am not likable in the Obama way.  I know that.  But that doesn't mean that I can't have tremendous influence on the world for the good.

But I will have to daily improve my resolve.  This is the first task.

Thin Ice

My bosses boss told her today that she would fire me if she heard me make noise again.  

I guess I tend to be a noisy guy.  It's not conscious.  It's not intentional.  But I can be noisy.  

But noise isn't really the problem.  The problem is that she doesn't like me so she's setting up the logic for her position.  It's not that I've really done anything that wrong but not being likeable is a problem.  I'm not very likable.  My sister came over this weekend.  She won't admit it but honto (Japanese for truthfully) she doesn't even like me.  So I'll have to build my life on something besides like.  That's okay.  At least I know it.

As for my bosses boss.  If I can get to May I can save up 15,000 dollars.  That's enough to breathe a bit.  That's my goal.  May.  It will give me a year here and I'll be able to do well there.  

The first goal is January.

Then February.  (She's usually gone in Feb but Feb might be best). 

Then March.

Then April.

Then May.  

Then it's time to replan.  But that's the goal.

Saturday, November 17, 2012

Mounting a DVD Drive in Fedora 15


The way you mount the DVD drive on Fedora 15.

1.  Find out what bus your DVD drive is running on... cdrecord -scanbus
Here's an example:

[root@localhost dev]# cdrecord -scanbus
scsibus0:
0,0,0   0) *
0,1,0   1) 'LITE-ON ' 'DVD SOHD-167T   ' '9QSJ' Removable CD-ROM
0,2,0   2) *
0,3,0   3) *
0,4,0   4) *
0,5,0   5) *
0,6,0   6) *
0,7,0   7) *

2.  Create a directory in the /mnt directory for the drive you want to mount if one does not exist.   Use this command:  mkdir /mnt/dvd

3.  Mount the DVD drive using this command: mount /dev/sda1 /mnt/dvd
Note:  the number 1 corresponds to 1 in bold.  If the DVD drive was in position two the command would be: mount /dev/sda2 /mnt/dvd

Friday, November 16, 2012

The Moderating Power of Money

Before I used to say whatever I wanted and make moves whenever and where ever I chose to.  I guess that's a convoluted way of saying I was reckless.  However now I am so much more careful with everything, or at least I attempt to be.  If I have a co-worker I don't care for instead of responding with venom I pray for them quietly and move on in peace.  If I have someone that I truly am having trouble with outside of work I avoid them.  If I have a disagreement with someone I choose to diffuse it (or attempt to choose to diffuse it) before it becomes an issue.  

However, I have not changed my behavior because of religion. I have not changed my behavior out of a concern for my common man or because of social norms.  I have changed my behavior because of one thing, pure and simple, money.

Since my savings account became larger than my checking account I have behaved in a much more reasonable manner toward everyone.   I could wax philosophical about the social compact and how having an investment in the system is the ultimate force for support of that same system but I won't.  What I will talk about is upward mobility.  

Upward mobility and the process of building wealth is an everyday process.  It takes planning, discipline, pragmatism, and a general eye toward keeping the boat steady.  Not annoying your bosses.  Not quitting your job.  Not opening a business until you have sufficient capital.  Generally simply being careful.  The word careful can not be overstated.  That care begins to seep into other areas of your life.  

"I can't lose my keys because a locksmith costs ...",  "I can't lose my wallet because the amount of lost time will cost me ...", "I can't lose my phone because if I do it'll cost me ...".  Every mistake becomes a cost.  It's something that eluded me before because I did not have enough income to generate capital.  Now that I do I am driving down the long road to becoming a more productive citizen.  

I have moderated my behavior frankly because now bad behavior costs me.  I realize how much I've sacrificed to get to this point.  Any steps backward now, any mistakes hurt twice as much, and therefore moderating my behavior is important to me.  I am now invested in the system.  I have moderated because it is in my self-interest to moderate because moderation is the only pragmatic way I see to make progress.  

Saturday, November 10, 2012

Adding an Existing User to a Group

Add an Existing User to a Group
Next we’ll add a user to the group, using this syntax:
usermod -a -G <groupname> username
For example, to add user geek to the group admins, use the following command:
usermod -a -G admins geek

Friday, November 9, 2012

Getting apachectl to work in Apache

In order to get apachectl to work follow these steps:

1.  First do what's here in this post: Location of httpd.conf file in Fedora 15

2.  Next:  cd /etc/httpd/conf

3.  Next vim httpd.conf

4.  Add a line:  ServerName localhost

5.  Save the file (:w) and exit vim (:q).

6.   Start the server:  /usr/sbin/apachectl start

7.  Go have a beer and smile a self satisfied smile. 

Location of httpd.conf file in Fedora 15

/etc/httpd/conf/httpd.conf

Make sure you copy any config file including this one (httpd.conf) and back it 
before making any changes.

cd /etc/httpd/conf

cp httpd.conf httpd.conf.backup

Thursday, November 8, 2012

Using the apachectl command by modifying the conf file

Cool Tool: chkconfig

Cool tool:  chkconfig

The command line version of ntsysv.

First, switch to root user.

Second:

/sbin/chkconfig --level 345 httpd on

-- starts the httpd service on levels 3, 4, and 5.  
Note: ntsysv only works

Tuesday, November 6, 2012

Cool Tool: ntsysv

Very cool tool:  used to start a service automatically on load:

At command line: ntsysv

Very cool.

Linux service tool

The service tool lets you check the status of a service, start a service and
stop a service.

 First, switch to the root user.

Checking the status of a service:
/sbin/service httpd status

Starting a service:
/sbin/service httpd start

Stopping a service:
/sbin/service httpd stop

Saturday, November 3, 2012

Tuesday, October 30, 2012

Fedora 15: Setting up Two Monitors

Lines to Delete:

MergedFB
CRT2HSync
CRT2VRefresh
MergedXinerama
MetaModes
CRT2Position
Enabled
TwinView

Examining the file that controls display:  man xorg.conf 
Examining the file that controls display:  man xorg.conf 

My video card: 

VGA compatible controller: ATI Technologies Inc RS400 [Radeon Xpress 200] (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device 81c8
        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17
        Memory at d8000000 (32-bit, prefetchable) [size=128M]
        I/O ports at ee00 [size=256]
        Memory at fddf0000 (32-bit, non-prefetchable) [size=64K]
        [virtual] Expansion ROM at fdd00000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 2
        Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
        Kernel driver in use: radeon
        Kernel modules: radeon

Xorg.conf Possible Locations:

           /etc/X11/<cmdline>
           /usr/etc/X11/<cmdline>
           /etc/X11/$XORGCONFIG
           /usr/etc/X11/$XORGCONFIG
           /etc/X11/xorg.conf
           /etc/xorg.conf
           /usr/etc/X11/xorg.conf.<hostname>
           /usr/etc/X11/xorg.conf
           /usr/lib/X11/xorg.conf.<hostname>
           /usr/lib/X11/xorg.conf

the /etc/X11/xorg.conf file is no longer created by default.

You can create one and add your configuration to it if you wish to.


       The  xorg.conf  and xorg.conf.d files are composed of a number of sections which may be present in
       any order, or omitted to use default configuration values.  Each section has the form:

           Section  "SectionName"
               SectionEntry
               ...
           EndSection

       The section names are:

           Files          File pathnames
           ServerFlags    Server flags
           Module         Dynamic module loading
           Extensions     Extension enabling
           InputDevice    Input device description
           InputClass     Input class description
           Device         Graphics device description
           VideoAdaptor   Xv video adaptor description
           Monitor        Monitor description
           Modes          Video modes descriptions
           Screen         Screen configuration
           ServerLayout   Overall layout
           DRI            DRI-specific configuration
           Vendor         Vendor-specific configuration


Monitor Information:

MONITOR SECTION
       The  config  file  may have multiple Monitor sections.  There should normally be at least one, for
       the monitor being used, but a default configuration will be created when one isn't specified.

       Monitor sections have the following format:

           Section "Monitor"
               Identifier "name"
               entries
               ...
           EndSection

       The only mandatory entry in a Monitor section is the Identifier entry.

       The Identifier entry specifies the unique name for this monitor.  The Monitor section may be  used
       to  provide  information  about  the  specifications of the monitor, monitor-specific Options, and
       information about the video modes to use with the monitor.

       With RandR 1.2-enabled drivers, monitor sections may be tied to  specific  outputs  of  the  video
       card.   Using  the name of the output defined by the video driver plus the identifier of a monitor
       section, one associates a monitor section with an output by adding an option to the Device section
       in the following format:

      Option "Monitor-outputname" "monitorsection"

       (for example, Option "Monitor-VGA" "VGA monitor" for a VGA output)

       In  the  absence  of  specific association of monitor sections to outputs, if a monitor section is
       present the server will associate it with an output to preserve compatibility for previous single-
       head configurations.

       Specifying  video  modes is optional because the server will use the DDC or other information pro‐
       vided by the monitor to automatically configure the list of modes available.  When modes are spec‐
       ified explicitly in the Monitor section (with the Modes, ModeLine, or UseModes keywords), built-in
       modes with the same names are not included.  Built-in modes with  different  names  are,  however,
       still implicitly included, when they meet the requirements of the monitor.

       The entries that may be used in Monitor sections are described below.

       VendorName  "vendor"
              This optional entry specifies the monitor's manufacturer.

       ModelName  "model"
              This optional entry specifies the monitor's model.

       HorizSync  horizsync-range
              gives   the   range(s)   of   horizontal   sync   frequencies  supported  by  the  monitor.
              horizsync-range may be a comma separated list of either discrete values or ranges  of  val‐             ues.   A  range  of values is two values separated by a dash.  By default the values are in
              units of kHz.  They may be specified in MHz or Hz if MHz or Hz is added to the end  of  the
              line.   The  data  given  here  is  used by the Xorg server to determine if video modes are
              within the specifications of the monitor.  This information should be available in the mon‐
              itor's handbook.  If this entry is omitted, a default range of 28-33kHz is used.

       VertRefresh  vertrefresh-range
              gives  the  range(s)  of  vertical  refresh  frequencies supported by the monitor.  vertre‐
              fresh-range may be a comma separated list of either discrete values or ranges of values.  A
              range  of  values is two values separated by a dash.  By default the values are in units of
              Hz.  They may be specified in MHz or kHz if MHz or kHz is added to the  end  of  the  line.
              The  data  given here is used by the Xorg server to determine if video modes are within the
              specifications of the monitor.  This information should be available in the monitor's hand‐
              book.  If this entry is omitted, a default range of 43-72Hz is used.

       DisplaySize  width height
              This  optional entry gives the width and height, in millimetres, of the picture area of the
              monitor.  If given this is used to calculate the horizontal and vertical pitch (DPI) of the
              screen.

       Gamma  gamma-value

       Gamma  red-gamma green-gamma blue-gamma
              This is an optional entry that can be used to specify the gamma correction for the monitor.
              It may be specified as either a single value or as three separate RGB values.   The  values
              should be in the range 0.1 to 10.0, and the default is 1.0.  Not all drivers are capable of
              using this information.


      UseModes  "modesection-id"
              Include the set of modes listed in the Modes section called modesection-id.  This makes all
              of the modes defined in that section available for use by this monitor.

       Mode  "name"
              This  is  an  optional  multi-line  entry that can be used to provide definitions for video
              modes for the monitor.  In most cases this isn't necessary because the built-in set of VESA
              standard  modes  will  be sufficient.  The Mode keyword indicates the start of a multi-line
              video mode description.  The mode description is terminated with the EndMode keyword.   The
              mode description consists of the following entries:

              DotClock  clock
                  is the dot (pixel) clock rate to be used for the mode.

              HTimings  hdisp hsyncstart hsyncend htotal
                  specifies the horizontal timings for the mode.

              VTimings  vdisp vsyncstart vsyncend vtotal
                  specifies the vertical timings for the mode.

              Flags  "flag" ...
                  specifies  an  optional set of mode flags, each of which is a separate string in double
                  quotes.  "Interlace" indicates that the mode is interlaced.  "DoubleScan"  indicates  a
                  mode  where  each scanline is doubled.  "+HSync" and "-HSync" can be used to select the
                  polarity of the HSync signal.  "+VSync" and "-VSync" can be used to select the polarity
                  of  the  VSync  signal.   "Composite" can be used to specify composite sync on hardware
                 where this is supported.  Additionally, on some hardware, "+CSync" and "-CSync" may  be
                  used to select the composite sync polarity.

              HSkew  hskew
                  specifies the number of pixels (towards the right edge of the screen) by which the dis‐
                  play enable signal is to be skewed.  Not all drivers use this information.  This option
                  might  become  necessary to override the default value supplied by the server (if any).
                  “Roving” horizontal lines indicate this value needs to be increased.  If the  last  few
                  pixels on a scan line appear on the left of the screen, this value should be decreased.

              VScan  vscan
                  specifies  the number of times each scanline is painted on the screen.  Not all drivers
                  use this information.  Values less than 1 are treated as 1, which is the default.  Gen‐
                  erally, the "DoubleScan" Flag mentioned above doubles this value.

       ModeLine  "name" mode-description
              This  entry is a more compact version of the Mode entry, and it also can be used to specify
              video modes for the monitor.  is a single line format for specifying video modes.  In  most
              cases  this  isn't necessary because the built-in set of VESA standard modes will be suffi‐
              cient.

              The mode-description is in four sections, the first three  of  which  are  mandatory.   The
              first  is  the  dot (pixel) clock.  This is a single number specifying the pixel clock rate
              for the mode in MHz.  The second section is a list of four numbers specifying the  horizon‐
              tal  timings.   These  numbers are the hdisp, hsyncstart, hsyncend, and htotal values.  The
              third section is a list of four numbers specifying the vertical timings.  These numbers are
              the  vdisp,  vsyncstart, vsyncend, and vtotal values.  The final section is a list of flags
             tal  timings.   These  numbers are the hdisp, hsyncstart, hsyncend, and htotal values.  The
              third section is a list of four numbers specifying the vertical timings.  These numbers are
              the  vdisp,  vsyncstart, vsyncend, and vtotal values.  The final section is a list of flags
              specifying other characteristics of the mode.  Interlace indicates that the mode is  inter‐
              laced.   DoubleScan indicates a mode where each scanline is doubled.  +HSync and -HSync can
              be used to select the polarity of the HSync signal.  +VSync  and  -VSync  can  be  used  to
              select  the  polarity of the VSync signal.  Composite can be used to specify composite sync
              on hardware where this is supported.  Additionally, on some hardware, +CSync and -CSync may
              be used to select the composite sync polarity.  The HSkew and VScan options mentioned above
              in the Modes entry description can also be used here.

       Option "DPMS"  "bool"
              This option controls whether the server should enable the DPMS extension for power  manage‐
              ment for this screen.  The default is to enable the extension.

       Option "SyncOnGreen"  "bool"
              This option controls whether the video card should drive the sync signal on the green color
              pin.  Not all cards support this option, and most monitors do not require it.  The  default
              is off.

       Option "Primary"  "bool"
              This  optional  entry  specifies that the monitor should be treated as the primary monitor.
              (RandR 1.2-supporting drivers only)

       Option "PreferredMode"  "string"
              This optional entry specifies a mode to be marked as the preferred initial mode of the mon‐
              itor.  (RandR 1.2-supporting drivers only)
       Option "Position"  "x y"
              This  optional  entry  specifies  the  position of the monitor within the X screen.  (RandR
              1.2-supporting drivers only)

       Option "LeftOf"  "output"
              This optional entry specifies that the monitor should be positioned to the left of the out‐
              put (not monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "RightOf"  "output"
              This  optional  entry  specifies  that the monitor should be positioned to the right of the
              output (not monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "Above"  "output"
              This optional entry specifies that the monitor should be positioned above the  output  (not
              monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "Below"  "output"
              This  optional  entry specifies that the monitor should be positioned below the output (not
              monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "Enable"  "bool"
              This optional entry specifies whether the monitor should  be  turned  on  at  startup.   By
              default,  the  server will attempt to enable all connected monitors.  (RandR 1.2-supporting
              drivers only)

      Option "DefaultModes"  "bool"
              This optional entry specifies whether the server should add supported default modes to  the
              list  of  modes offered on this monitor. By default, the server will add default modes; you
              should only disable this if you can guarantee that EDID will be available at all times,  or
              if you have added custom modelines which the server can use.  (RandR 1.2-supporting drivers
              only)

       Option "MinClock"  "frequency"
              This optional entry specifies the minimum dot clock, in kHz, that is supported by the moni‐
              tor.

       Option "MaxClock"  "frequency"
              This optional entry specifies the maximum dot clock, in kHz, that is supported by the moni‐
              tor.

       Option "Ignore"  "bool"
              This optional entry specifies that the monitor should be ignored entirely, and not reported
              through  RandR.   This is useful if the hardware reports the presence of outputs that don't
              exist.  (RandR 1.2-supporting drivers only)

       Option "Rotate"  "rotation"
              This optional entry specifies the initial rotation of the given monitor.  Valid values  for
              rotation  are  "normal",  "left",  "right",  and "inverted".  (RandR 1.2-supporting drivers
              only)


SCREEN SECTION
       The  config  file may have multiple Screen sections.  There must be at least one, for the “screen”
       being used.  A “screen” represents the binding of a graphics device (Device section) and a monitor
       (Monitor  section).   A  Screen  section  is  considered “active” if it is referenced by an active
       ServerLayout section or by the -screen command line option.  If neither of those is  present,  the
       first Screen section found in the config file is considered the active one.

       Screen sections have the following format:

           Section "Screen"
               Identifier "name"
               Device     "devid"
               Monitor    "monid"
               entries
               ...
               SubSection "Display"
                  entries
                  ...
               EndSubSection
               ...
           EndSection

       The Identifier and Device entries are mandatory.  All others are optional.
       The  Identifier  entry  specifies  the  unique  name for this screen.  The Screen section provides
       information specific to the whole screen, including screen-specific Options.  In  multi-head  con‐
       figurations, there will be multiple active Screen sections, one for each head.  The entries avail‐
       able for this section are:

       Device  "device-id"
              This mandatory entry specifies the Device section to be used for this screen.  This is what
              ties  a  specific  graphics card to a screen.  The device-id must match the Identifier of a
              Device section in the config file.

       Monitor  "monitor-id"
              specifies which monitor description is to be used for this screen.  If a  Monitor  name  is
              not  specified,  a  default configuration is used.  Currently the default configuration may
              not function as expected on all platforms.

       VideoAdaptor  "xv-id"
              specifies an optional Xv video adaptor description to be used with this screen.

       DefaultDepth  depth
              specifies which color depth the server should use by  default.   The  -depth  command  line
              option  can  be  used  to  override  this.   If  neither is specified, the default depth is
              driver-specific, but in most cases is 8.

       DefaultFbBpp  bpp
              specifies which framebuffer layout to use by default.  The -fbbpp command line  option  can
              be  used  to override this.  In most cases the driver will chose the best default value for
              this.  The only case where there is even a choice in this value is for depth 24, where some
              hardware  supports  both a packed 24 bit framebuffer layout and a sparse 32 bit framebuffer      Options
              Various Option flags may be specified in the Screen section.  Some are driver-specific  and
              are described in the driver documentation.  Others are driver-independent, and will eventu‐
              ally be described here.

       Option "Accel"
              Enables XAA (X Acceleration Architecture), a mechanism that makes video cards' 2D  hardware
              acceleration  available  to  the  Xorg server.  This option is on by default, but it may be
              necessary to turn it off if there are bugs in the driver.  There are many options  to  dis‐
              able  specific accelerated operations, listed below.  Note that disabling an operation will
              have no effect if the operation is not accelerated (whether due to lack of support  in  the
              hardware or in the driver).

       Option "InitPrimary" "boolean"
              Use  the  Int10  module  to initialize the primary graphics card.  Normally, only secondary
              cards are soft-booted using the Int10 module, as the primary card has already been initial‐
              ized by the BIOS at boot time.  Default: false.

       Option "NoInt10" "boolean"
              Disables  the  Int10  module, a module that uses the int10 call to the BIOS of the graphics
              card to initialize it.  Default: false.

       Option "NoMTRR"
              Disables MTRR (Memory Type Range Register) support, a feature of  modern  processors  which
              can  improve video performance by a factor of up to 2.5.  Some hardware has buggy MTRR sup‐
              port, and some video drivers have been known to exhibit problems when MTRR's are used.


      Options
              Various Option flags may be specified in the Screen section.  Some are driver-specific  and
              are described in the driver documentation.  Others are driver-independent, and will eventu‐
              ally be described here.

       Option "Accel"
              Enables XAA (X Acceleration Architecture), a mechanism that makes video cards' 2D  hardware
              acceleration  available  to  the  Xorg server.  This option is on by default, but it may be
              necessary to turn it off if there are bugs in the driver.  There are many options  to  dis‐
              able  specific accelerated operations, listed below.  Note that disabling an operation will
              have no effect if the operation is not accelerated (whether due to lack of support  in  the
              hardware or in the driver).

       Option "InitPrimary" "boolean"
              Use  the  Int10  module  to initialize the primary graphics card.  Normally, only secondary
              cards are soft-booted using the Int10 module, as the primary card has already been initial‐
              ized by the BIOS at boot time.  Default: false.

       Option "NoInt10" "boolean"
              Disables  the  Int10  module, a module that uses the int10 call to the BIOS of the graphics
              card to initialize it.  Default: false.

       Option "NoMTRR"
              Disables MTRR (Memory Type Range Register) support, a feature of  modern  processors  which
              can  improve video performance by a factor of up to 2.5.  Some hardware has buggy MTRR sup‐
              port, and some video drivers have been known to exhibit problems when MTRR's are used.