Wednesday, June 25, 2014
Sunday, June 8, 2014
Gedit is my favorite text editor. I like that it is fast, reliable, cross platform, and has a ton of useful plugins and features. I am currently using it to work with LaTeX and unless I am working on a huge project, I will typically use gedit for all of my development work, specifically when it comes to web development. I use a lot of the plugins in gedit, but I have never used the External Tools plugin before. External tools is a very useful plugin because it allows you to do pretty much anything. :)
In the past, I would just save all of my document and find the file in Nautilus to launch it. The problem with this approach is that I have an obsessive need to organize all of my projects into obscure and seemingly endless file paths. This can make it pretty difficult to find the file that I am looking for.
The External Tools plugin solves all of these issues in a very elegant and simple way. So, without further ado, here is how you make a fake Web Development IDE in Gedit using External Tools.
- Enable External Tools: Edit --> Preferences --> Plugins
- Create a New External Tool: Tools -> Manage External Tools -> Hit the Plus sign
- Name the tool whatever you would like
- Assign it a shortcut key (optional)
- Set the following options on the bottom right
- Save: All Documents
- Input: Current Document
- Output: None
- Applicability: All Documents
You should now be able to use whichever shortcut you created to save all documents that you are working on, and open the current document in a web browser. This makes debugging much easier for web applications, and makes gedit a perfect lightweight web IDE.
If you have some handy tips and tricks for gedit custom tools, please share in the comments below!
Friday, May 30, 2014
FSF seeks full-time senior GNU/Linux systems administrator
Example systems administration tasks include:
- Be a lead voice in the Foundation's software system decision-making
- Install and maintain fully free GNU/Linux systems on servers, desktops, laptops, and embedded devices
- Support GNU developers and FSF staff in their use of FSF-owned systems
- Monitor and improve system security and network infrastructure
- Spec and purchase new equipment
- Coordinate work of volunteer systems administrators
- Share in the on-call rotation to deal with core system emergencies
- Learn about and work with cutting-edge free technologies like Coreboot
- Blog publicly about the technologies and techniques used at the FSF; inform FSF policy positions in technical areas
Programming is occasionally required, such as:
- Fix bugs and submit patches upstream for the software used at the FSF
- Design, write, and release new software when existing software doesn't fit the bill
- Improve and maintain existing custom software
Useful specific experience includes:
- 4+ years experience as a GNU/Linux systems administrator
- 3+ years experience with at least two programming languages
- 2+ years experience with an apt-based GNU/Linux distribution
- 1+ years experience with SQL (preferably PostgreSQL or MySQL)
- Undergraduate college degree, or in lieu of degree, substantially more experience than that listed above
- A portfolio of contributions to free software projects or their development infrastructure
Expected technical skills are:
- Expert knowledge of systems administration for GNU/Linux with apt-based distributions
- In-depth understanding of key network protocols such as TCP/IP, BGP, DNS, SMTP, HTTP, FTP, NFS, DHCP, etc.
- In-depth understanding of key system components such as virtualization, automated systems management, software RAID, MTAs, etc.
- In-depth knowledge of Drupal and Nginx
- Familiarity with at least two of Perl, PHP, Python or Ruby. High proficiency (expert preferred) in at least one of these languages
- Thorough knowledge of network and system security, especially as related to the kernel Linux and common Internet services
- Knowledge of network routing and related services in GNU/Linux, such as iptables and stateful firewalls
- Ability to design SQL databases
- Ability to spec, purchase, assemble, and debug components for custom-build server systems
We will prefer candidates with additional skills, such as:
- In-depth knowledge of CiviCRM, Xen, Puppet, Exim, Spamassassin, Mailman, Quagga, Apache, RT, Coreboot, Squid, Zope, Plone, Semantic Mediawiki, CAS, Django, SQL Ledger
- Knowledge of version control systems: Git, Subversion, CVS, RCS
- Soldering, making your own Ethernet cable, extremely high Nethack scores
We also require:
- A willingness to learn and understand how the political and philosophical positions of an organization impact computing requirements
- An ability to work as part of a team and to handle and coordinate contributions from a volunteer core
- Being open-minded and tolerant of others
Benefits and salary
- reimbursement for some relocation expenses,
- full family health coverage through Blue Cross/Blue Shield's HMO Blue program,
- subsidized dental plan,
- four weeks of paid vacation annually,
- seventeen paid holidays annually,
- public transit commuting cost reimbursement,
- 403(b) program through TIAA-CREF,
- yearly cost-of-living pay increases, and
- potential for an annual performance bonus.
- cover letter,
- contact information for three references, and
- links to any published free software work.
Monday, May 26, 2014
I was excited to see a new course on EdX called "Introduction to Linux". Although I have been using Linux for nearly 10 years now, I my check it out just to see if I can learn something that I did not know before. This course is being sponsored by the Linux Foundation, I hope to see more Linux-Focused courses in the future on EdX.
I spent all day yesterday fumbling through an assignment that had a ton of eqeuations in it using the equation editor in LibreOffice. By the end of it, I was so annoyed that I committed myself to learning LaTex for all future documents. This is something that I have always wanted to do, but it is quite overwhelming. The power that you get for equations is great, but it has a very steep learning curve for everything else.
There are a ton of great resources out there for LaTeX, including this amazing WikiBook, but the best thing I have found so far is this LaTex Cheat Sheet that is full of great information geared toward scientific papers.
I am also using gnuplot to plot our various functions and graphs, it works great and I have been using it for a long time. I was excited to see how easy it was to incorporate my plots into LaTex documents.
I am sure that this is a good investment of my time, and will help me produce high quality documents with low stress and no more clicking around an equation editor.