The Hypatia Software Organization is looking for mentors!

We’re looking for trans women and non-binary people who work with Python and are able to dedicate just an hour a week for six months to help raise our peers out of systemic homelessness and poverty.

We were all young programmers once, with those first few steps being hardest to take. The best way to succeed in making those steps is a positive and safe community with good mentorship — mentorship like yours. You can make a real impact in someone’s life. It may be hard to imagine, but your donation of just one hour a week will make a significant difference in their life, giving them the confidence and support they need to succeed.

With your help, we’ll be able to provide a career path and a solid resume to impoverished or homeless people who experience transmisogyny. You can empower them to contribute to the Free and Open Source community for the first time and to begin building a portfolio of work.

We are looking for mentors of all skill levels, to help out at every step of your mentee’s journey. Even if you’ve only been programming for a year, your expertise and knowledge is still valuable, and you will be able to help someone overcome the struggles you overcame. Unique challenges are present at every step of the way, and others are struggling with the same things as you. The knowledge you will be able to share is valuable.

We recognize that being a mentor is a huge step, with impostor syndrome being difficult to overcome. By mentoring with Hypatia you will be a welcome part of our supportive and nurturing community. We will give you all the assistance you need to feel sure of yourself and your abilities. We will also match you with a mentee who will benefit most from your unique skills and knowledge and who will grow through contributions that only you can make.

Fill out our volunteer application today!

HSO is pleased to announce: application to become a 501(c)(3) charity approved!

Hypatia Software Organization, Inc. (HSO), is now a registered United States Federal 501(c)(3) non-profit organization!

HSO filed paperwork to become a non-profit corporation in the State of Massachusetts. We became Hypatia Software Organization, Inc., at the end of September.  As of yesterday, we have received notice of approval for our application to become a Federal 501(c)(3) non-profit organization in the United States! This has been the result of many months of hard work from many team members within the organization, and we would not have made it this far without everyone’s help.

Here is what becoming a 501(c)(3) means for you:

  1. If you pay taxes to the United States government, you can donate to HSO and receive a letter stating your donation amount, which you can use as a tax break.
  2. Assurance that your donations to HSO goes toward aiding experiencers of transmisogyny , providing education that will help enable procurement of employment in coding and systems administration jobs, as well as direct charitable relief.
  3. We will continue our policy of openness and transparency, with a number of exciting new ways to showcase all the good work we are doing.
Hypatia Software would like to take this time to thank our community, our supporters and our allies.  It is because of your support that HSO was able to accomplish this important step.  We are now more able to continue our mission of offering direct aid, a nurturing community, and mentorship to those who are experiencing transmisogyny.  We at HSO are truly excited to embark on this next stage in our future.  Exciting things to come!

Interested in helping our mission?

There are many ways people can help out! If you would like to make a secure tax deductible donation to Hypatia today you can do so directly via our donation page, 100% of all donations go directly to furthering our mission.  If you would like to volunteer, consider filling our our volunteer application! People with any skill-set are welcome, we are always looking for new mentors, creative writers, programmers, graphic designers, and more!

HTTP/SSL Made Easy With FreeBSD + Nginx + Certbot!

certbot

Recently at Hypatia Software Organization we decided to enhance the security of our servers by improving our HTTPS (encryption) support. Use of strong encryption enhances the privacy of our members, volunteers, donors, as well as the Hypatia community at large. In the past deploying strong HTTPS to a web-server was a costly and time-consuming process that required buying an X.509 certificate from a Certificate Authority (CA). This has changed with the creation of the Let’s Encrypt CA, a CA that provides cost free X.509 certificates via a public API, as well as Certbot a client that utilizes the this API to turn certificate generation into a simple process that anyone running a web-server can do!

logo-fullNow that the basics are out of the way, lets get down to how to deploy Certbot on your web-server to obtain a cost free X.509 certificate for yourself! In this example we will be using FreeBSD 10.2-RELEASE using Nginx 1.8.1 as a web-server. The process is fairly simple and requires at least basic understanding of the shell.  In the examples we provide we are using ZSH as our shell and the prompt will be denoted by a “%” character.  Before you can get started you will need a valid domain name pointed to the server that you wish to obtain a certificate with. Additionally you will need to install git and python, you can install them with the following command:

% pkg install git python

Once you have the required packages, the rest is easy. First lets clone the Certbot repository from Github:

% git clone https://github.com/certbot/certbot.git

Now all that’s left to do is obtain our Certificate, Certbot will automatically install any system dependencies and create a Python Virtual Environment to manage any Python packages it requires. In this example we will be requesting a certificate for the following domains: example.com, www.example.com. This process will take several steps that will be noted with comments (Text after the “#” character):

# Change directories to the freshly cloned certbot repository
 % cd certbot
 # Stop Nginx (nothing can be using port 443 when Certbot runs)
 % service nginx stop
 # Obtain our certificate!
 % ./letsencrypt-auto --debug certonly --standalone -d example.com -d www.example.com
 # Start our web-server back up:
 % service nginx start

And that’s it! You will now have a certificate in /etc/letsencrypt/live/example.com/, where example.com is the first domain listed in the above letsencrypt-auto command.

One more suggested security enchantment you can implement for your users is generating your own strong and unique Diffie-Hellman (DH) Key which is used for exchanging cryptographic keys between the client (web-browser) and server. This can easily be done with the following commands which will yield a 4096-bit DH key:

% cd /usr/local/etc/ssl/
% openssl dhparam -out dhparams.pem 4096

Now that you have a new X.509 certificate I’m sure you would like to deploy it to your web-server. Here is our basic Nginx configuration. We store it in a separate file and include it in our /usr/local/etc/nginx/nginx.conf file. By doing this it makes it easy to include the same settings and headers in all of our HTTPS virtual hosts. While this could be written a bit more clean we find it works very well. To include the common file, you will need to add the line “include ssl_common.conf;” to your configuration file, it should look something like this:

http {
      server {
              listen 443 ssl;
              server_name  example.com;
              include ssl_common.conf;
    }
}

Here is the contents of our /usr/local/etc/nginx/ssl_common.conf file:

# Thanks to https://cipherli.st/ for providing a great reference! Please check out their site
# to make sure your SSL Configuration is up to date with current standards! Be aware that in this
# example we use a slightly liberal cipherlist to allow for older browsers on older devices, Eg.
# IE8, android 2.4, etc
# Enable Perfect Forward Secrecy (PFS)
ssl_prefer_server_ciphers on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Disable SSLv2 and SSLv3 (BEAST and POODLE attacks)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# Enable our strong DH Key
ssl_dhparam /usr/local/etc/ssl/dhparams.pem;
# Cipher-list for PFS.
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_ecdh_curve secp384r1;
# Requires nginx >= 1.1.0
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
# Requires nginx >= 1.5.9
ssl_stapling on;
# Requires nginx >= 1.3.7
ssl_stapling_verify on;
# Requires nginx => 1.3.7
resolver 8.8.8.8 4.4.4.4 valid=300s;
resolver_timeout 5s;
# HSTS Support
add_header Strict-Transport-Security "max-age=63072000;includeSubdomains; preload";
# These headers can break applications, be careful!
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff

After making these changes you must restart your web-server:

% service nginx restart

Now you should have HTTPS running with a certificate from the Let’s Encrypt CA! If you would like to test your server for configuration errors, I strongly recommend using https://ssllabs.com to test your server configuration. If you follow this guide and checked https://cipherli.st/ for any changes, you should get an A+ on SSLabs’ test. Good luck and happy hacking!a-plus

Further reading

Special Thanks to FundClub for Helping to Raise $8,500!!

fundclub On behalf of Hypatia Software Organization I would like to extend a special thank you to the people at FundClub who were able to raise $8,500 USD for us!! We are extremely excited about this development, and cannot wait to begin the difficult, but important work ahead. These funds give us the ability to fully offer our services to homeless, and disenfranchised, trans women.

We are planning on using the funds assist Hypatia in some of the following core areas:

  • Streamlining and expanding the mentorship program
  • Emergency cash relief funds to assist in buying HRT, bus fare, etc.
  • Laptops for homeless / disenfranchised trans women
  • Public speaking
  • Overhead (eg. VPS, domains, service providers)
  • Assisting with internships
  • Creating job opportunities
Thanks again to the FundClubyou are an amazing group!

It is an honor to have be added to the ever growing list of organizations that you have helped empower though your good will.We at Hypatia will do our best to put these new funds to work, in the spirit that they were given.


The next steps will be decided at our weekly Membership Meetings, which currently are every Sunday at 5:00PM CST and last one hour.  If you would like to attend, please join the #member-meeting channel on the Slack Team. If you need to be invited to the Slack Team, please fill out either the Volunteer, or Benefits Application, and we will invite you as soon as we can.

Lisa Marie Maginnis

President/CEO
Hypatia Software Organization

Introducing Lisa Marie

lisam1Hi all! I am Lisa Marie, the new CEO/President of Hypatia Software Organization. While I know that Lillian leaves big shoes to fill, I know that I can help Hypatia, as it enters the next phase of its mission to help the homeless and disenfranchised trans women of the world. I have only been with the Hypatia since spring of this year, but in that time I have learned a lot about how Hypatia directly impacts trans peoples lives, and I cannot wait to help us further that mission. I am very excited about a lot of the recent developments here at Hypatia. Ranging from the Fund Club donation, to the possibilities of certification programs. While I get acquainted with Hypatia over the next few weeks, there will be slight delays in applying the new found momentum we have gained. I will do my best to keep these delays to a minimum, but I do ask for your patience as I learn the ropes.

A bit about myself, I am currently twenty eight years old, and living in Boston Massachusetts. I work in the Information Technology field as a Senior System Administrator for a non-profit. I was one of the founding members of the peer support network TransAdvice, and currently serve on their board of directors. My hobbies range from hiking and back country camping, to programming and reverse engineering. I am a science fiction fan, and enjoy reading to unwind.

I am honored to have the chance to serve the Hypatia community, and I look forward to working with all of you 🙂

Lisa Marie

lisa.marie@hypatiasoftware.org

Lillian talking at LibrePlanet

Hypatia Software Org at LibrePlanet (Lillian’s Talk)

Prior, I wrote two posts about talking about Hypatia Software Organization at LibrePlanet 2016, namely one about why I was excited to talk at LibrePlanet, the other about my road trip and personal recap of my LibrePlanet roadtrip.

Now the video of me (Lillian Lemmer) talking at LibrePlanet about Hypatia Software Organization is up for everyone to see!

Here’s the official description of the talk:

Continue reading “Hypatia Software Org at LibrePlanet (Lillian’s Talk)”

Lillian speaks at LibrePlanet 2016, Secretary Brian Callahan seen standing to left.

My LibrePlanet Experience

I gave a talk on March 20, at LibrePlanet 2016, at MIT, in Cambridge, Massachusetts (I mention being enthused in an earlier blog post), on a LibrePlanet scholarship. To avoid transphobic harassment by the TSA, and other airport staff, my friends drove me (notably Tom Almquist of our staff) 2,792 miles from Minneapolis, Minnesota and back.

Make sure to check the bottom of this post–I included a time lapse of my trip!

Continue reading “My LibrePlanet Experience”

Cool People Love Our Shirts

We’re now selling shirts, hoodies, and teddy bears! Really cool people have been wearing Hypatia shirts and hoodies (see pics below!)! 100% of the proceeds go to empowering transgender women. From now until March 15 get 15% off hoodies–our hoodies are awesome!

Buy yourself a a hoodie, shirt, or teddy at the store!

How to test a game engine

If you were to ask “What are the most difficult aspects of testing a game engine,” an answer you’d hear a lot is “rendering.” What things look like when they’re drawn to screen–how do you test that? Well, to know that things drawn to screen look right you need to compare the rendered image to an image you can expect to be static, unchanging. The first approach is to create an image test fixture of the expected render image and compare that against the render image itself. However, this approach is extremely limited. As unfortunate as is is, we must leave the domain of simple static tests, and enter into the wacky world of dynamically testing.

Continue reading “How to test a game engine”

I’m Excited for AlterConf!

I (Lily Lemmer) am going to be at the AlterConf Minneapolis event! I work at LeadPages and they’re hosting so it’s awfully convenient for me! Here’s a short bit about Alterconf:

AlterConf provides safe opportunities for marginalized people and those who support them in the tech and gaming industries to learn from and encourage one another. By highlighting the powerful voices and positive initiatives of local community members, we build hope and strengthen the community’s resolve to create safer, healthier spaces for everyone.

I’m really excited to meet others who share the passion I have! I can’t wait to share my stories of success with using open source software to empower trans women, a model that can be replicated by any marginalized person! I will also be sharing my enthusiasm for this on March 20, at LibrePlanet/MIT (as mentioned in an earlier blog post).

Continue reading “I’m Excited for AlterConf!”