Difference between pages "GNOME First Steps" and "User:Drobbins/Resume"

(Difference between pages)
m (Removed rc-update dbus and consolekit since xdm starts them as dependencies)
 
 
Line 1: Line 1:
== What is GNOME? ==
+
= Daniel Robbins =
"GNOME 3 is an easy and elegant way to use your computer. It is designed to put you in control and bring freedom to everybody. GNOME 3 is developed by the GNOME community, a diverse, international group of contributors that is supported by an independent, non-profit foundation." [http://gnome.org GNOME]
+
__NOEDITSECTION__
 +
__NOTOC__
 +
__NOTITLE__
 +
== Profile ==
 +
<div class="container"><div class="row"><div class="col-xs-12 col-sm-12 col-md 8">
 +
I am the creator of the Gentoo Linux and Funtoo Linux operating systems. Gentoo Linux is used by Google as the foundation of ChromeOS, the operating system that runs on [http://www.google.com/chromebook Google's Chromebooks]. I'm an experienced architect of large-scale technology efforts, a strong Open Source project leader, a skilled software developer, and an accomplished technical writer.
  
== Prerequisites ==
+
I have made significant contributions at a number of organizations, including E*TRADE Financial and Microsoft Corporation. I have written many popular articles for IBM developerWorks and Intel Developer Services, and my writing has also appeared in C/C++ Users Journal.
 +
</div><div class="col-xs-12 col-sm-12 col-md-4">
 +
{{#widget:LinkedIn
 +
|profile=http://www.linkedin.com/in/drobbins
 +
|name=Daniel Robbins
 +
|norelated}}
 +
</div></div></div>
 +
== Experience ==
  
Before installing GNOME, ensure that the [[X Window System]] has been installed.
+
=== MediaWiki Consultant, WikiWorks; Jan 2014 - Present ===
  
{{fancywarning|1=
+
Expertise in deploying, developing and maintaining MediaWiki and Semantic MediaWiki. LDAP/Active Directory integration, MediaWiki extension development, Wiki farm
Please note that Linux kernel 3.15.* may still have serious incompatibility with various graphics drivers. If you like to use <code>gentoo-sources</code> or <code>vanilla-sources</code>, please use a 3.14.* kernel. This is of particular importance if you plan to run GNOME, and want to use NVIDIA (commercial or nouveau) or ATI (ati-drivers) graphics drivers.}}
+
architecture, mobile-friendly wiki design.
  
== Preparing to emerge ==
+
===Benevolent Dictator for Life, Funtoo Linux; Albuquerque, NM - 2006 to Present===
  
To get your system ready to emerge gnome, it is recommended that you first set the gnome profile mix-in. To accomplish this, do the following:
+
Created Funtoo Linux, an advanced Gentoo Linux variant. Implemented all core Funtoo technologies including Metro automated build system, automated git-based merge process, boot-update unified boot loader management system, and others. Created vibrant and fun online community.
<console>
+
##r### ##b## eselect profile list
+
##g##Currently available mix-ins profiles: 
+
  [11]  funtoo/1.0/linux-gnu/mix-ins/audio 
+
  [12]  funtoo/1.0/linux-gnu/mix-ins/console-extras 
+
  [13]  funtoo/1.0/linux-gnu/mix-ins/dvd 
+
  [14]  funtoo/1.0/linux-gnu/mix-ins/gnome 
+
  [15]  funtoo/1.0/linux-gnu/mix-ins/kde 
+
  [16]  funtoo/1.0/linux-gnu/mix-ins/mate 
+
  [17]  funtoo/1.0/linux-gnu/mix-ins/media 
+
  [18]  funtoo/1.0/linux-gnu/mix-ins/print 
+
  [19]  funtoo/1.0/linux-gnu/mix-ins/python3-only
+
  [20]  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat
+
  [21]  funtoo/1.0/linux-gnu/mix-ins/server-db 
+
  [22]  funtoo/1.0/linux-gnu/mix-ins/server-mail
+
  [23]  funtoo/1.0/linux-gnu/mix-ins/server-web
+
  [24]  funtoo/1.0/linux-gnu/mix-ins/X
+
  [25]  funtoo/1.0/linux-gnu/mix-ins/xfce
+
  [26]  funtoo/1.0/linux-gnu/mix-ins/vmware-guest
+
  [27]  funtoo/1.0/linux-gnu/mix-ins/hardened
+
</console>
+
After seeing a list of available profiles, we want to add in the appropriate number for the gnome mix-in. To do this, run the following:
+
<console>
+
##r### ##b##eselect profile add 14
+
</console>
+
  
By enabling the gnome mix-in, various USE and other settings will be optimized to provide you with a pain-free GNOME installation experience.
+
===Open Source Strategy Lead, Zenoss, Inc.; Austin, TX - Dec 2011 - Jan 2014 ===
  
== Emerging ==
+
Led Open Source efforts, including Zenoss Core architecture, community management and Open Source
 +
release coordination. Architected new community infrastructure based on Semantic MediaWiki. Created
 +
authoritative online catalog of all community ZenPacks. Created auto-build system for ZenPacks. Advised
 +
Zenoss on Open Source and licensing issues and advanced Open Source initiatives throughout the company.
  
You are provided with two packages that will pull in this desktop environment:
+
===Senior Network and Application Performance Engineer, OPNET; Albuquerque, NM - Aug 2009 - Dec 2011 ===
 +
Part of OPNET's Professional Services division. Sole developer and architect of an advanced, visual browser-based datacenter facilities and capacity management system for a large government agency with 1500+ servers and datacenters in multiple US locations. Integrated server utilization data from multiple sources. Delivered advanced reporting, planning and analysis capabilities to the organization.
  
* ''gnome''
+
===Senior Principal, E*TRADE Financial; Menlo Park, CA (remote) - Aug 2007 to June 2009===
 +
Primary architect of E*TRADE’s virtualization strategy for development and production-focused workloads. Performed applied research and development related to virtual container build automation, high-performance virtualization and Open Source collaborative efforts. Participation in E*TRADE’s architectural review and standards development process.
  
{{fancynote|This is the "whole shabang" - pulls in a range of applications made for the gnome desktop environment including a few games, an archive manager, a system monitor, a web browser, a terminal, etc.}}
+
===Vice President, Engineering, FSMLabs, Inc.; Socorro, NM - 2006 - 2007===
 +
Architected the 5.0 release of FSMLabs RTLinuxPro hard real-time OS development kit with support for x86, x86-64, PowerPC, MIPS and ARM architectures. Designed a modern package management system for managing the FSMLabs user-space application stack, and updated cross-compiler tool chain. Created RTLinuxPro for Windows virtual machine runtime. Integrated open source RTSP/RTP streaming media (MPEG-2/4) stack into RTLinuxPro.
  
* ''gnome-light''
+
===Chief Technology Officer, ABC Coding Solutions; Albuquerque, NM - Jan 2006 - July 2006===
 +
Architected, developed, and deployed a HIPAA-compliant Web-based medical billing application featuring support for CPT, HCPCS and the proposed ABC procedure code set. Performed extensive SQL Server 2000 to 2005 data migration work. Architected an encrypted XML-based data storage layer in C#/ASP.NET 2.0. Designed suite of ASP.NET 2.0 controls to utilize XML-based encrypted data storage layer. Integrated AJAX functionality into Web application and hardened application prior to deployment.
  
{{fancynote|As the name implies, this pulls in the base minimal you need to get a functioning GNOME Desktop Environment.}}
+
===Program Manager, Microsoft Corporation; Redmond, WA - 2005 to 2006===
 +
Responsible for contributing to Microsoft’s Open Source/Shared Source strategy and overseeing the daily operations of Microsoft’s Linux lab. Technical responsibilities included overseeing competitive analysis and technical tear-downs, Linux/Windows interoperability testing, and intra-Microsoft educational efforts.
  
=== GNOME 3.12 from a clean install ===
+
Contributed to Microsoft’s Shared Source licensing strategy. Tracked emerging Open Source trends and projects. Gained wide exposure to Microsoft technologies including Microsoft .NET, Windows Vista and Windows Vista device driver development. Met one-on-one with various technical luminaries throughout the company.
  
==== gnome ====
+
===Chief Architect, Gentoo Linux; Albuquerque, NM - 1999 to 2005===
 +
Project Creator, Chief Architect and Project Lead of large, distributed international Gentoo development team. Architected all core Gentoo Linux technologies and tools including Portage, Gentoo’s dependency-based system initialization scripts, and catalyst, Gentoo's high-level automated release-building tool. Directed Gentoo Linux releases and all technology development. Authored all original Gentoo Linux documentation and designed XML/XSLT-based Web site. Designed all Gentoo artwork and logos. Established not-for-profit Gentoo Foundation, Inc. to serve as a container for all Gentoo Linux IP.
  
To emerge ''gnome'' run the following command
+
===Regular Columnist, IBM developerWorks, 2000 to 2003 ===
 
+
Author of critically acclaimed Linux and Unix-related technical articles geared towards developers and IT professionals.
<console>
+
# ##i## emerge gnome
+
</console>
+
 
+
==== gnome-light ====
+
 
+
To emerge ''gnome-light'' run the following command
+
 
+
<console>
+
# ##i## emerge gnome-light
+
</console>
+
 
+
=== Upgrading from GNOME 3.6 ===
+
 
+
==== gnome ====
+
 
+
To emerge ''gnome'', remove nautilus-open-terminal if it is installed as it now bundled into gnome-terminal
+
 
+
<console>
+
# ##i## emerge -C nautilus-open-terminal
+
</console>
+
 
+
Then, run the following command
+
 
+
<console>
+
# ##i## emerge -vauDN world
+
</console>
+
 
+
==== gnome-light ====
+
 
+
To emerge ''gnome-light'' remove the following packages as there have been changes since 3.6 (you will have up reinstall any packages that have been renamed after gnome-light completes).
+
 
+
<console>
+
# ##i## emerge -C gnome-fallback gnome-panel gnome-screensaver metacity gnome-games gcalctool nautilus-open-terminal
+
</console>
+
 
+
Then, run the following command
+
 
+
<console>
+
# ##i## emerge -vauDN world
+
</console>
+
 
+
Finally, restore any applications that have been renamed (such as gcalctool => gnome-calculator)
+
 
+
<console>
+
# ##i## emerge gnome-calculator
+
</console>
+
 
+
== Subsystems ==
+
 
+
=== Bluetooth ===
+
 
+
For bluetooth support, ensure that:
+
 
+
# Bluetooth support is enabled in your kernel (using modules is fine).
+
# Your bluetooth hardware is turned on.
+
# Add the <code>bluetooth</code> startup script to the default runlevel, and start it.
+
 
+
This can be done as follows:
+
 
+
<console>
+
# ##i##rc-update add bluetooth default
+
# ##i##rc
+
</console>
+
 
+
Once this is done, you should now be able to navigate to ''Settings'' -> ''Bluetooth'' and turn bluetooth on. The icon next to devices should now animate and you should be able to discover and add devices such as keyboards.
+
 
+
=== Printing ===
+
 
+
To enable printing support, add <code>cupsd</code> to the default runlevel:
+
 
+
<console>
+
# ##i##rc-update add cupsd default
+
# ##i##rc
+
</console>
+
 
+
You should now be able to navigate to ''Settings'' -> ''Printers'' and add printers to your system, and print.
+
 
+
=== Scanning ===
+
 
+
To enable scanning support, add your user account to the <code>lp</code> group. This will allow your user to access the USB scanner.
+
 
+
Then, <code>emerge xsane</code>, and run it. It should be able to access your scanner.
+
 
+
== Finishing Touches ==
+
 
+
=== X ===
+
 
+
==== Setting up xdm (GUI log-in) ====
+
 
+
Typically, you will want to use <code>gdm</code>, the GNOME display manager, to log in to GNOME. This will allow you to log in graphically, rather than using the text console.
+
 
+
To enable gdm, edit <code>/etc/conf.d/xdm</code> and set <code>DISPLAYMANAGER</code> to <code>gdm</code> instead of <code>xdm</code>. Then, perform the following steps to add <code>xdm</code> to the default runlevel, and have it start automatically from now on when your system starts:
+
 
+
<console>
+
# ##i## rc-update add xdm default
+
</console>
+
 
+
Then, if you want to start it now do
+
 
+
<console>
+
# ##i##rc
+
</console>
+
 
+
But you should reboot to avoid having an open login terminal
+
 
+
==== Setting up xinitrc (text log-in) ====
+
 
+
Adding the following to your <code>~/.xinitrc</code> file is sufficient:
+
 
+
<pre>
+
# Fix Missing Applications in Gnome
+
export XDG_MENU_PREFIX=gnome-
+
 
+
# Properly Launch the Desired X Session
+
exec ck-launch-session gnome-session
+
</pre>
+
 
+
Additionaly, if you need support for different input sources, there is no longer a need to configure ibus or scrim in your <code>.xinitrc</code> file as GNOME uses ibus natively. Simply configure it in the Control Center under Region & Langauge.
+
 
+
=== Disable Adwaita Dark Theme ===
+
 
+
If you do not like the Adwaita Dark Theme it can be disabled by copying then modifying it like so:
+
 
+
<console>
+
mkdir -p ~/.themes/Adwaita-NoDark
+
cp -r /usr/share/themes/Adwaita/gtk-* ~/.themes/Adwaita-NoDarkhttp://www.funtoo.org/Category:Ebuild_Category
+
rm ~/.themes/Adwaita-NoDark/gtk-3.0/gtk-dark.css
+
ln -s gtk.css ~/.themes/Adwaita-NoDark/gtk-3.0/gtk-dark.css
+
</console>
+
 
+
Then, run gnome-tweak-tool and select select Theme -> GTK+ Theme -> Adwaita-NoDark.
+
 
+
{{fancynote|If you run GUI programs with the sudo command, then the above steps (excluding running gnome-tweak-tool) must be repeated for the root account.}}
+
 
+
[https://ask.fedoraproject.org/en/question/10304/how-do-i-ban-apps-from-using-gnome-3-adwaita-dark-theme/ Reference]
+
 
+
=== Verify the inode/directory MimeType Handler ===
+
 
+
In some odd instances, baobab might take priority over nautilus when handling the inode/directory MimeType. If this behavior is not desired, add the following to /home/~/.local/share/applications/mimeapps.list:
+
 
+
<pre>
+
[Added Associations]
+
inode/directory=nautilus.desktop;baobab.desktop;
+
</pre>
+
 
+
=== Automatically Starting Applications at Login ===
+
 
+
When using an old-fashioned <code>.xinitrc</code>, starting up applications when X starts is relatively easy. When using GDM, this can still be accomplished, by using the <code>~/.xprofile</code> file. Here's my sample <code>.xprofile</code> to start <code>xflux</code> to dim the screen at night:
+
 
+
<pre>
+
xflux -z 87107
+
</pre>
+
 
+
Remember to add a <code>&</code> at the end of any command that doesn't return to the shell prompt after running.
+
 
+
[[Category:Desktop]]
+
[[Category:First Steps]]
+
[[Category:Official Documentation]]
+

Revision as of 00:38, September 26, 2014

Daniel Robbins

Profile

I am the creator of the Gentoo Linux and Funtoo Linux operating systems. Gentoo Linux is used by Google as the foundation of ChromeOS, the operating system that runs on Google's Chromebooks. I'm an experienced architect of large-scale technology efforts, a strong Open Source project leader, a skilled software developer, and an accomplished technical writer.

I have made significant contributions at a number of organizations, including E*TRADE Financial and Microsoft Corporation. I have written many popular articles for IBM developerWorks and Intel Developer Services, and my writing has also appeared in C/C++ Users Journal.

Experience

MediaWiki Consultant, WikiWorks; Jan 2014 - Present

Expertise in deploying, developing and maintaining MediaWiki and Semantic MediaWiki. LDAP/Active Directory integration, MediaWiki extension development, Wiki farm architecture, mobile-friendly wiki design.

Benevolent Dictator for Life, Funtoo Linux; Albuquerque, NM - 2006 to Present

Created Funtoo Linux, an advanced Gentoo Linux variant. Implemented all core Funtoo technologies including Metro automated build system, automated git-based merge process, boot-update unified boot loader management system, and others. Created vibrant and fun online community.

Open Source Strategy Lead, Zenoss, Inc.; Austin, TX - Dec 2011 - Jan 2014

Led Open Source efforts, including Zenoss Core architecture, community management and Open Source release coordination. Architected new community infrastructure based on Semantic MediaWiki. Created authoritative online catalog of all community ZenPacks. Created auto-build system for ZenPacks. Advised Zenoss on Open Source and licensing issues and advanced Open Source initiatives throughout the company.

Senior Network and Application Performance Engineer, OPNET; Albuquerque, NM - Aug 2009 - Dec 2011

Part of OPNET's Professional Services division. Sole developer and architect of an advanced, visual browser-based datacenter facilities and capacity management system for a large government agency with 1500+ servers and datacenters in multiple US locations. Integrated server utilization data from multiple sources. Delivered advanced reporting, planning and analysis capabilities to the organization.

Senior Principal, E*TRADE Financial; Menlo Park, CA (remote) - Aug 2007 to June 2009

Primary architect of E*TRADE’s virtualization strategy for development and production-focused workloads. Performed applied research and development related to virtual container build automation, high-performance virtualization and Open Source collaborative efforts. Participation in E*TRADE’s architectural review and standards development process.

Vice President, Engineering, FSMLabs, Inc.; Socorro, NM - 2006 - 2007

Architected the 5.0 release of FSMLabs RTLinuxPro hard real-time OS development kit with support for x86, x86-64, PowerPC, MIPS and ARM architectures. Designed a modern package management system for managing the FSMLabs user-space application stack, and updated cross-compiler tool chain. Created RTLinuxPro for Windows virtual machine runtime. Integrated open source RTSP/RTP streaming media (MPEG-2/4) stack into RTLinuxPro.

Chief Technology Officer, ABC Coding Solutions; Albuquerque, NM - Jan 2006 - July 2006

Architected, developed, and deployed a HIPAA-compliant Web-based medical billing application featuring support for CPT, HCPCS and the proposed ABC procedure code set. Performed extensive SQL Server 2000 to 2005 data migration work. Architected an encrypted XML-based data storage layer in C#/ASP.NET 2.0. Designed suite of ASP.NET 2.0 controls to utilize XML-based encrypted data storage layer. Integrated AJAX functionality into Web application and hardened application prior to deployment.

Program Manager, Microsoft Corporation; Redmond, WA - 2005 to 2006

Responsible for contributing to Microsoft’s Open Source/Shared Source strategy and overseeing the daily operations of Microsoft’s Linux lab. Technical responsibilities included overseeing competitive analysis and technical tear-downs, Linux/Windows interoperability testing, and intra-Microsoft educational efforts.

Contributed to Microsoft’s Shared Source licensing strategy. Tracked emerging Open Source trends and projects. Gained wide exposure to Microsoft technologies including Microsoft .NET, Windows Vista and Windows Vista device driver development. Met one-on-one with various technical luminaries throughout the company.

Chief Architect, Gentoo Linux; Albuquerque, NM - 1999 to 2005

Project Creator, Chief Architect and Project Lead of large, distributed international Gentoo development team. Architected all core Gentoo Linux technologies and tools including Portage, Gentoo’s dependency-based system initialization scripts, and catalyst, Gentoo's high-level automated release-building tool. Directed Gentoo Linux releases and all technology development. Authored all original Gentoo Linux documentation and designed XML/XSLT-based Web site. Designed all Gentoo artwork and logos. Established not-for-profit Gentoo Foundation, Inc. to serve as a container for all Gentoo Linux IP.

Regular Columnist, IBM developerWorks, 2000 to 2003

Author of critically acclaimed Linux and Unix-related technical articles geared towards developers and IT professionals.