<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Funda</title>
    <description>The latest articles on DEV Community by Funda (@thedevyouknow).</description>
    <link>https://dev.to/thedevyouknow</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F59510%2F5d6f33ee-ffb9-48bd-abab-ca1232f87974.png</url>
      <title>DEV Community: Funda</title>
      <link>https://dev.to/thedevyouknow</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thedevyouknow"/>
    <language>en</language>
    <item>
      <title>AWS Glue to MSSQL Database Connections with SSL Certificates</title>
      <dc:creator>Funda</dc:creator>
      <pubDate>Fri, 23 Feb 2024 10:46:59 +0000</pubDate>
      <link>https://dev.to/thedevyouknow/aws-glue-to-mssql-database-connections-with-ssl-certificates-jpa</link>
      <guid>https://dev.to/thedevyouknow/aws-glue-to-mssql-database-connections-with-ssl-certificates-jpa</guid>
      <description>&lt;p&gt;&lt;strong&gt;Because certificates are a pain in the a&lt;/strong&gt; **&lt;/p&gt;

&lt;p&gt;AWS Glue is the best-in-class method for Extract, Transform, and Load jobs in your data pipeline. To connect with on-prem data resources and secure the connection, there are varying requirements. Depending on the data store you're connecting to, you may need an adapter or connector to make the request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-jdbc" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-jdbc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, if the on-prem data source is owned by another team or organization, you will have to use SSL encryption and a certificate handshake to make your service trusted to the on-prem database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-SSL" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-SSL&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Securing the Connection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For our purposes, AWS Glue will connect to the on-prem SnowMirror (Service Now data) MSSQL database through a JDBC (Java Database Connectivity)&lt;br&gt;
connection. In development we previously attached a self-signed cert on the JDBC side, and that worked just fine. As development progressed, and there was an outage when the on-prem SQL team changed server nodes, we decided to install &lt;em&gt;their&lt;/em&gt; SQL-installed certificate instead.&lt;/p&gt;

&lt;p&gt;There are nuances with these certificates and the AWS documentation is somewhat misleading. You can configure the reference to the certificate in the JDBC connection pane as either a url or an S3 bucket location. We chose the S3 bucket location. Here is how it's described in the AWS documentation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formatting a Custom JDBC certificate in S3&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you have a certificate that you are currently using for SSL&lt;br&gt;
communication with your on-premises or cloud databases, you can use&lt;br&gt;
that certificate for SSL connections to AWS Glue data sources or&lt;br&gt;
targets. Enter an Amazon Simple Storage Service (Amazon S3) location&lt;br&gt;
that contains a custom root certificate. AWS Glue uses this&lt;br&gt;
certificate to establish an SSL connection to the database. AWS Glue&lt;br&gt;
handles only X.509 certificates. The certificate must be DER-encoded&lt;br&gt;
and supplied in base64 encoding PEM format. If this field is left&lt;br&gt;
blank, the default certificate is used.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Be Aware:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At first glance, it looks as if AWS is expecting the certificate to be stored in S3 as a ".der" file. While it is true that it must originate in der encoded format, the end state of this cert should be a .pem file. You can google varying open SSL commands to ensure you start and end with the right formats. I have provided below some of the commands that I learned along the way.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Best Practices versus Quick Wins:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're starting with a CSR ("certificate signing request") you must handle the encoding from start to finish. I recommend that you ask the client's Certificate Authority to create the csr, but doing it yourself, on your own machine, is an option (see "Creating a self-signed certificate" below.)&lt;/p&gt;

&lt;p&gt;If you are &lt;em&gt;being given a certificate by another team&lt;/em&gt;, (the certificate that is installed on the db, for example,) you may need to only perform these 2 steps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; If given a file in .cer format, you can change the ".cer"&lt;br&gt;
file extension to ".der" Next step is to convert it to pem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; run the following to convert the .der to a .pem file that can now be stored in S3.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;openssl x509 -inform der -in Desktop/my-cert-name.der -out Desktop/my-cert-name-convert.pem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The best way is to have the client's certificate authority (for our client, it's the PKI team) create the csr, the root cert with private key, and issue and sign a new .cer or .der file for you. You are not doing 2 way SSL, you are just telling the on-prem database that you are a friendly requestor of the data, and that you are encrypting the data.&lt;/p&gt;

&lt;p&gt;However, for development, you can create your own self-signed cert from&lt;br&gt;
start to finish (from csr to final .pem format), and you may follow these&lt;br&gt;
steps using open ssl. Make sure your computer's shell environment has&lt;br&gt;
the openssl client installed.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Creating a self-signed certificate:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) In Open SSL run this command in your shell to create the certificate signing&lt;br&gt;
request":&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;openssl req -new -sha256 -nodes -newkey rsa:4096 -keyout
Desktop/my-cert-name.key -out Desktop/my-cert-name.csr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2) You will get a series of prompts:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Country Name (2 letter code):MyCountry
State or Province Name (full name):MyState
Locality Name (eg, city): MyCity
Organization Name (eg, company):My-org
Organizational Unit Name (eg, section):MYORGNAME
Common Name (eg, fully qualified host name):example.com
Email Address:MyTeam@organization.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password: &amp;lt;LEAVE THIS EMPTY AND HIT ENTER&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3) Create the Cert&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;openssl x509 -req -days 3650 -in Desktop/my-cert-name.csr -signkey
Desktop/my-cert-name.key -out Desktop/my-cert-name.crt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4) Convert crt to pem:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;openssl x509 -in Desktop/my-cert-name.crt -out Desktop/my-cert-name.pem
-outform PEM
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5) Convert pem to der:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;openssl x509 -outform der -in Desktop/my-cert-name.pem -out
Desktop/my-cert-name.der
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6) Now convert the DER to PEM again (the right format to be used with&lt;br&gt;
a Glue connection):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;openssl x509 -inform der -in Desktop/my-cert-name.der -out
Desktop/my-cert-name-convert.pem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Why Single Moms should go to a Coding Bootcamp</title>
      <dc:creator>Funda</dc:creator>
      <pubDate>Sat, 02 Jun 2018 09:12:05 +0000</pubDate>
      <link>https://dev.to/thedevyouknow/why-single-moms-should-go-to-a-coding-bootcamp-41fa</link>
      <guid>https://dev.to/thedevyouknow/why-single-moms-should-go-to-a-coding-bootcamp-41fa</guid>
      <description>&lt;h3&gt;
  
  
  Poverty is a Feminist Issue
&lt;/h3&gt;

&lt;p&gt;I took my daughter to the eye doctor the other day and was able to get her glasses with my own insurance. When the optician asked me what relationship I had to the Primary Policy Holder, I was able to answer “Self.” &lt;em&gt;Self&lt;/em&gt;. Like that subversive manifesto from the eighties disguised as a woman’s fitness magazine, that “Self”, and that insurance card, was a step toward independence.&lt;/p&gt;

&lt;p&gt;Just over 1 year ago I had joined Rutgers Coding Bootcamp to learn how to code. What began there was a journey toward financial recovery that would set my daughters and myself on the road to increased security and hope. I was luckier than most—I had a divorce that was both ugly and amicable—because their father has been in their lives ever since, to such an extent as to make the divorce seem like it never happened. Except to me. Behind the scenes of our friendly semi-cohabitation, I spent the years following the divorce feeling like I was being dangled over a pit of live alligators, wondering why I’d ever had kids, why I’d ever depended on a man and why I had made financial choices that brought me to this very dangerous precipice. I’d tumbled down several social strata in an instant, lost many friends to my own depression and was forced to change careers, all while their father increased his wealth and equilibrium and happiness. I had no idea how to recover, or if I ever would. &lt;/p&gt;

&lt;p&gt;I am speaking from a place of privilege. Underneath the pain and anxiety, the true story was that, like a small percentage of divorcees, I had some assets. I had assets, but was unhirable—the resulting &lt;em&gt;perks&lt;/em&gt; of being a work-from-home mom for years, married to a man who could afford to “let” his wife “stay at home”, or, in my case, work as a freelancer in The Gig Economy. With these assets depreciating over time, and my freelancer’s life amounting to pennies an hour (if you counted hours searching for clients and leads), I began to look at ways to invest money and time to guarantee our survival after alimony, and my ex’s goodwill, runs out.&lt;/p&gt;

&lt;p&gt;Again, I cannot help but repeat that statistically, I have more cushion than most divorced, single moms. I want to make it clear that, implicit in my anxiety and complaining, is an overriding sense that things could be much, much worse. My advice to any woman contemplating divorce is to ignore the sexy Real Housewives version, or the Hollywood version, or the novelist’s version…divorce is a medieval grind from which you will not come out the victor no matter how cute your young boyfriend is. Knowing the rampant statistical unfairness, in every class and culture, of divorce’s impact on women, it’s important that I acknowledge all the ways in which I still, compared to some, have an unfair advantage. If I am feeling this terrified and disadvantaged, that feeling increases exponentially for other women without my safety net. I think of these women every day, and it motivates me and humbles me and yet I am in awe of them as personal heroes. We are an inspired bunch, we surviving divorcees, and so I am doing my part to lift us up. I am saying to you now, if you are a divorced woman and you are listening: &lt;em&gt;Get thee to a bootcamp.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How I came to apply at Rutgers Coding Bootcamp
&lt;/h3&gt;

&lt;p&gt;In between fruitless full-time job searches, I would often stop and wonder: should I run a business instead? Where could I go, with cash in hand but lacking experience? How am I going to navigate the countless articles on women and poverty after divorce, without being completely paralyzed by fear and indecision? I decided I would invest that money somehow and make it grow. &lt;/p&gt;

&lt;p&gt;I tried everything. I invested (practically day-traded) in an Ameritrade account, I put together a business plan to own a School of Rock Franchise (but reconsidered when I saw the P&amp;amp;L), I bought and traded Bitcoin, I ran a relatively successful voice-over business, narrating Audiobooks for Audible and Scholastic, and doing voice-overs for major Tech, Pharma and Medical firms, as well as looping vocal effects for a major TV series. I’d been a TV, Film and Theater actress, a translator, a medical writer, a commercial producer, a sound editor, a business communication consultant, a product description writer, a “standardized patient”, the voice of those mechanized witches you buy on Halloween from seasonal pop-up stores. I began to jokingly say that “Freelance is just a modern term for ‘odd jobs.’” And I was right. Except that it was no joke—despite the variety, the travel and the &lt;em&gt;very&lt;/em&gt; occasional glamour involved, my working life felt, for lack of a better word, &lt;em&gt;lowly&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;There is no better Return On Investment than an education. For that reason alone, the education business is booming. Not at all shy about the claim, most educational institutions promise—implying by default and without having to say it—that you will have a better chance of increasing your net worth and your job prospects by getting an education. And they are right.&lt;/p&gt;

&lt;h3&gt;
  
  
  Graduate Degree or Certificate Program?
&lt;/h3&gt;

&lt;p&gt;When I began applying for schools, I was practical to a fault. &lt;em&gt;What job would leverage my existing degree, what am I good at, and, most importantly, what would people hire a middle aged woman to do, full time?&lt;/em&gt; That was my thinking process. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Flashback to the day after divorce: My very schizoid but deeply emotional response to my divorce was to immediately enroll in a GRE prep course in both Math and English. It was run by Princeton Review in a beautiful but very dusty college classroom at Drew University, outfitted with what looked like desks and chairs from my middle school. The Math instructor was, by my estimation, a frustrated creative like myself, and in this environment I decided to grieve the end of my marriage, happy for the distraction, revisiting means and statistics and a vocabulary I hadn’t heard since the 12th grade.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I finally decided to go for a Masters Degree at USC Rossier and get an MA in Teaching, on the Secondary School English track. The feeling of pride while uttering a University name was a thing I hadn’t felt for decades, but it was a warm and familiar feeling. I remembered myself as a person who loved to learn, and remembered too that there is something comfortable in these hallowed institutions—lambasted daily by the media as cynical money-making machines—something old and familiar and stodgy and classy and important. I liked the feeling of being a college student. &lt;em&gt;I could grow used to this&lt;/em&gt;, I thought.&lt;/p&gt;

&lt;p&gt;But I didn’t want to be a middle school teacher. That was the rub. Here was this great education but I had no interest in the job. One day of substitute teaching was all it took, and I decided, thanks to some coaching from public school teacher friends, that going back to school was the right path, but the concentration had to change. I called USC and told them I would defer until the following year.&lt;/p&gt;

&lt;h3&gt;
  
  
  Falling in love with code
&lt;/h3&gt;

&lt;p&gt;Around this time, also to distract my despairing brain, especially in my lonely marital bed at night, I had been teaching myself HTML, CSS and Javascript on a little phone app called Mimo. I did this because I was driving my children to ID Tech camp, dropping them off for 8 hours a day to learn Java and Python, and telling them “Well girls, you don’t want a future where only boys code all the machines, do you?” I realized that it was &lt;em&gt;my&lt;/em&gt; interest in technology that I was imparting to my children, and that if I was going to imbue my daughters with a sense of &lt;em&gt;my&lt;/em&gt; own enthusiasm about something, it was high time I listened to that enthusiasm myself. &lt;em&gt;Self&lt;/em&gt;. I decided I would find out how much I liked to code.&lt;/p&gt;

&lt;p&gt;After only a very short time spent on that phone app, I discovered I had a knack for coding, a thing I hadn’t tried since &lt;em&gt;Computers&lt;/em&gt; class in High School (where I’d coded a good deal.) I was hooked. Soon I was researching all of the top bootcamps in New York (it did not hurt that the “Code for Free/Pay us when you get a job” ads for Grace Hopper were now popping into my social media feeds). I quickly jumped into a Bootcamp prep course in Javascript and soon felt bitten by the bug, convinced that if you are handed a new passion, you have an obligation to go for it. I went for it. &lt;/p&gt;

&lt;p&gt;Halfway through my bootcamp prep course at one of the pricey Full-time Bootcamps in New York City—for which I had misgivings, because their Full-time course was highly inconvenient for me as a single mom—I saw an online advertisement (thank you, algorithms) that changed my life. Rutgers Coding Bootcamp was offering not only a Part-time course spanning 24 weeks, but also a Certificate from Rutgers University itself. That was it. All of my feelings about the legitimizing sense of being part of a University program, combined with having my Arts degree supplemented with a real Certificate, and the sense that someone was listening to the scheduling needs of working people…these factors all contributed to the awareness that I had found the exact right place to invest my money and my time. It seemed too good to be true, so I researched the tech stack—Mongo, Express, React and Node, aka the MERN stack. My personal jackpot, the most relevant Javascript frameworks to date. I called USC to tell them I would drop the Masters in Teaching enrollment completely and that I was committed to following another path at Rutgers Coding Bootcamp.&lt;/p&gt;

&lt;h3&gt;
  
  
  Powered by Trilogy Education
&lt;/h3&gt;

&lt;p&gt;The bootcamp was hard. Thanks to my self-teaching and preparation with beginning HTML, CSS and Javascript, the first few months were pretty intuitive, though never a breeze. Right away there was a sense that the work would be tough but that your kind and patient TAs would help you get through it. The fact that they had taken the bootcamp themselves was comforting to me, and their guidance to “learn on your own..it is your job to know what you don’t know” was a challenge I wanted to meet. I wanted to be like those renegade developers of prior generations—“figuring it out” was a skill in itself. I had a lot to figure out, so it behooved me to get better at it. I was learning not only how to code but also how to think like a developer, like a real problem solver, and I was grateful for every lesson learned.&lt;/p&gt;

&lt;p&gt;Around week 14 I was starting to feel the pain. There were times I hit a cognitive wall— a physical experience I’d never felt before— the palpable feeling of having come to the end of one’s brain. But even then, the frustration fascinated me. I was burning through the energy given off by those feelings of uncertainty, by an unknown so much safer than those in life and love and the game of survival. To have purely intellectual pursuits is a luxury, no matter how difficult, and I highly recommend this luxuriating and this type of distraction to any woman who is recovering from a failed relationship. To give yourself the gift of getting lost in purely intellectual puzzles is a kind of obsessive-mindedness that you should cultivate, and, at the risk of sounding sexist, I feel like few women give this gift to themselves. Rather than get you into trouble, like an unwisely chosen lover, this kind of obsession helps you grow. And someday, it might just help you get a job.&lt;/p&gt;

&lt;p&gt;I got a job. As I neared the end of the bootcamp, having done quite well and having stayed very much obsessed with coding as an art form and a calling, I took a job as TA and tutor, and got to pass on this love to incoming students. I worked Full-time as a TA and for hours every night as a tutor—maintaining a schedule of 10 hour days without feeling overworked or tired. Still more distraction. At some point I might make the decision to not “need” distractions so much, but that time still hasn’t come. My ex has a newfound respect for me, but I'm just glad he is less resentful of helping me with the kids and the house. I wish I’d taken the bootcamp while married, to be honest, but that is in the past.&lt;/p&gt;

&lt;p&gt;In the present, at this very moment, I am Student Success Manager of 9 active classes across two campuses at Rutgers Coding Bootcamp. Functioning as a General Manager of the program, I advise students, manage TAs and consult with instructors about how to best deliver the content so that every student can have the life-changing, affirming and enriching experiences that I and so many others have had. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Flashback: Sitting in the offices of a special financial consulting firm for divorcees, just weeks into my divorce proceedings, the financial advisor, a woman, told me point blank that it was highly unlikely that I would &lt;em&gt;ever&lt;/em&gt; be making more than $45,000 a year. She said this with great kindness and grave concern, but, despite the realism of such a statement, I felt undermined by it. It was like a kiss of death, and I could not focus any longer on the fancy data visualizations she had charged me $2600 to view, so that I could clearly see what a dwindling set of assets looks like, as one heads toward one's "Golden Years." Even then, before my tech education, I thought &lt;em&gt;I just paid $2600 for fancy spreadsheets&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Divorce and Women and Poverty, the train-like sound of that chant in my head was a train I wanted to ride off the rails. I needed to disrupt my own life, and so I jumped on board with a disruptor in the field of education. "If you can't fix it, radicalize it," the great Richard Foreman once said to me, in my days as an avante-garde actress in New York. There is nothing more avante-garde than the cutting edge of tech and an education in coding is how to ride that razor's edge into the future.&lt;/p&gt;

&lt;p&gt;Powered by Trilogy Education, the Bootcamp footprint has grown in just 2 short years, from 4 Universities to 32 Universities, including UPenn, Georgia Tech, Columbia, Rice U, University of Toronto and Universidad Tecnológico del Monterrey in Mexico. It is expanding both nationally and internationally as you read this, and has acquired significant funding to expand even more. Trilogy bills itself as “a workforce accelerator that partners with the world’s leading Universities to help companies bridge the digital skills gap...always putting students first.” It is their commitment to their employees (and their employees' benefits), the student experience and their own nonstop improvement that has made my initial investment worth a lifetime of returns.&lt;/p&gt;

</description>
      <category>womenintech</category>
    </item>
    <item>
      <title>Git Branching, Step-by-Step</title>
      <dc:creator>Funda</dc:creator>
      <pubDate>Sun, 18 Mar 2018 05:40:30 +0000</pubDate>
      <link>https://dev.to/thedevyouknow/git-branching-step-by-step-2pcc</link>
      <guid>https://dev.to/thedevyouknow/git-branching-step-by-step-2pcc</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp577t9ymnhwg52x1xwmd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp577t9ymnhwg52x1xwmd.png" alt="git" width="800" height="750"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Stop.&lt;br&gt;
Collaborate and Listen." ~ V. Ice&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  It is highly recommended that you install some kind of decorator for your shell (bash or zsh.) It will help you always know what branch you're in, and it's easier on the eyes. Many use iTerm. I install oh-my-zsh with curl: Visit &lt;a href=""&gt;zsh&lt;/a&gt;&lt;br&gt;
&lt;/h5&gt;

&lt;h2&gt;
  
  
  STEP 1
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;If you have collaborator permissions for the shared repo, do this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In your terminal, type:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;As often as you want to. It will give you clues about your next steps in any type of git workflow. &lt;code&gt;git status&lt;/code&gt;, early and often.&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 2
&lt;/h2&gt;

&lt;p&gt;I make sure I am in the master branch of my team's shared repository &amp;amp; that I have the LATEST VERSION:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git checkout master&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git pull origin master&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 3
&lt;/h2&gt;

&lt;p&gt;I make my very own branch. You can make one from the Github site (or Bitbucket or Azure DevOps Repos) but I prefer to do it in Terminal/bash. I name it a name with no spaces, like:  "mybranchname". It's best to name it after a feature or fix you're working on.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git checkout -b myNEWbranchname&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now I am in my branch, not the master, so it is safe to make changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 4
&lt;/h2&gt;

&lt;p&gt;I code away in my code editor, tappity-tap.&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 5
&lt;/h2&gt;

&lt;p&gt;I add my changes:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add path/to/file-name-here&lt;/code&gt; * &lt;/p&gt;

&lt;p&gt;*hint: find the paths to names of changed files by running git status&lt;/p&gt;

&lt;p&gt;or as a shortcut, to add all files:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 6
&lt;/h2&gt;

&lt;p&gt;Then I commit the changes:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m 'my awesome improvements to our app'&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 7
&lt;/h2&gt;

&lt;p&gt;If I only want to push changes to the local copy of my branch (see step 8 below, for how you connect it the first time)&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 8
&lt;/h2&gt;

&lt;p&gt;First time pushing to the branch? I want the changes to be saved locally on my machine but I also want the remote reference to my branch to reflect them too, so commits are being tracked every time. &lt;/p&gt;

&lt;p&gt;This is a common error - branches can get out of sync. Remember git versioning is in your machine but what matters most is the shared repo that lives on another server. The remote branch and the local branch need to reflect each other at all times. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git branch --set-upstream-to=origin/mybranchname mybranchname&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 9
&lt;/h2&gt;

&lt;p&gt;If you ran &lt;code&gt;git status&lt;/code&gt; you would know now to:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 10: Collaborate
&lt;/h2&gt;

&lt;p&gt;But hold up. I think someone was working on a feature just now. I don't think I had the latest master code after all. I want to resolve conflicts with the master branch ahead of time, before I make a Pull Request. &lt;/p&gt;

&lt;p&gt;So I:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git pull origin master&lt;/code&gt; - yes from right inside my branch!&lt;/p&gt;

&lt;p&gt;This will both fetch my parent branch (in this case master, but it could be some other parent development branch, too) and merge it with my current branch! Remember to fix any merge conflicts now.&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 11
&lt;/h2&gt;

&lt;p&gt;If you ran &lt;code&gt;git status&lt;/code&gt; again, you would know to:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt; to push the merged changes to your local branch.&lt;/p&gt;

&lt;p&gt;If I get a prompt that I need a commit message to explain the merge, I can exit the editor with &lt;/p&gt;

&lt;p&gt;&lt;code&gt;Shift Z Z&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 12
&lt;/h2&gt;

&lt;p&gt;I go to my remote repository &lt;a href="https://github.com" rel="noopener noreferrer"&gt;github.com&lt;/a&gt; (ot Bitbucket or Azure DevOps Repos)&lt;/p&gt;

&lt;p&gt;Once there, I see "Pull Requests", so I click to go to that page.&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 13
&lt;/h2&gt;

&lt;p&gt;I click on my pull request to open it up, and then I click the confirmation (or Approval) button, and click again, until I have satisfied all of the options to confirm the merge*. If there are conflicts, I resolve them before confirming everything and/or completing the merge.&lt;/p&gt;

&lt;p&gt;*if you are deploying pipelines with automations connected to your PR (pull request) there may be more steps. That is outside the scope of this document. &lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 14
&lt;/h2&gt;

&lt;p&gt;You will be asked to delete the branch. This is a best practice, though many people avoid it. Use your discretion. If you keep your branch make sure you are always up-to-date with master before beginning any new work. It's a best-practice to use new, descriptively named branches for bugfixes and features, then delete them after merging.&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 15
&lt;/h2&gt;

&lt;p&gt;In my terminal (or git bash,) I bring the remote master code (and all references to commit histories and other branches) into my local branch &amp;amp; push again. My local branch should always be in sync with what's happening in the remote repo. From inside my branch:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git pull origin master&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git push&lt;/code&gt; (to my branch)&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 16
&lt;/h2&gt;

&lt;p&gt;If I had deleted my branch on the site after the PR, in my terminal, I delete the &lt;em&gt;local&lt;/em&gt; version of the branch.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git branch -d mybranchname&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 17
&lt;/h2&gt;

&lt;p&gt;I want to make a new branch and start this cycle all over again from STEP 1.&lt;/p&gt;

&lt;p&gt;Rinse. Repeat.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>An Actress Learns to Code</title>
      <dc:creator>Funda</dc:creator>
      <pubDate>Mon, 26 Feb 2018 13:32:24 +0000</pubDate>
      <link>https://dev.to/thedevyouknow/an-actress-learns-to-code--oci</link>
      <guid>https://dev.to/thedevyouknow/an-actress-learns-to-code--oci</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3ogrx6js8j4fuavpcqyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3ogrx6js8j4fuavpcqyg.png" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"You should definitely think about hybrid positions you might be right for"&lt;/em&gt; is what a ‘community builder’ on a tech panel said to me one day, because I raised my hand and asked a question about developer jobs for someone with my non-technical background. Just a moment before, the man next to me, a fellow student who often reached out to me for debugging advice, had asked about &lt;em&gt;his&lt;/em&gt; job prospects as well. His background was in finance, he’d said. He had no professional coding experience whatsoever.&lt;/p&gt;

&lt;p&gt;The answer he received was nothing like mine, and I couldn’t help but dwell on the differences. The way the tech panel welcomed this gentleman, talking about ‘leveraging his past skills’ and how he should 'absolutely target financial institutions' because 'that’s where the money is at’—this favoritism—was not lost on me. But what was less clear was why. Was it because finance trumps theater, or was it because he is a man? &lt;/p&gt;




&lt;p&gt;I felt myself getting knee-jerk-angry and anxious, something I do, but keep to myself: &lt;em&gt;It stays close to the vest, but I seethe, catastrophic endings to my life—Grey Gardens -style endings of impoverished old-ladyhood swirl about, and several “no fair!” rants make it to the tip of my tongue, before they die down again, unspoken, until the ‘right’ moment passes.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;My racing mind began to go to politically incorrect places, trying to imagine where I stood in the pecking order as a middle-aged woman: was I above or below this foreign man with a heavy accent? Can you even imagine thinking such a thing? This is the animal mind vying for resources. As a feminist, I am always careful to never underestimate a man's potential fear of us. There are many that see us as competitors for scarce resources. I think it’s very important for women to remember that.&lt;/p&gt;

&lt;p&gt;I am the child of Turkish immigrants, and my parents, too, came here with thick accents, and they brought with them degrees in Chemistry and Chemical Engineering from Istanbul University. On these merits alone, they were able to carve out a nice life for themselves here in the states, and it is because of them, and my ex-Navy-pilot sister who project-manages the building of carriers and nuclear submarines, that I made my way into the tech space eventually, despite my divergent background in Theater and the myriad of day jobs that come with the territory.&lt;/p&gt;




&lt;p&gt;I needed the rigors of a Coding Bootcamp because I’d been editing and narrating audiobooks in the gig economy, translating Turkish to English, doing business role-play, assisting in the education of Med School students with Standardized Patient work, and doing some medical case writing for journal publication. I was exhausted by the “pipeline income,” periods of no work or no pay, and chasing down clients.&lt;/p&gt;

&lt;p&gt;I began thinking about the credentials I’d need for a real career and began applying to grad schools. I took GRE prep courses and applied to USC online, got into their Masters in Teaching program, and was ready to begin in January of 2016. I would be out $50,000 but I’d have a Masters degree and a teaching job in 18 months. Rutgers Coding Boot Camp began in April of 2016, cost $10,000, and offered a Part-Time Fullstack Web Development Course which would give me a certificate from Rutgers in 6 months.&lt;/p&gt;

&lt;p&gt;I could not make the decision based on numbers alone. I had to really decide on what it would take for me to have the guts to leave behind a life in the arts. I wanted very much to succeed as an artist, but lasting success always eluded me. When I took stock of my life, thinking about what I could do, what I could remain passionate about, I thought about one of my favorite quotes, a quote which helped me get honest enough with myself to leave acting behind in the first place:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You are what you do every day."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I realized I’d always whittled away my time editing websites, photoshopping pictures, recording music, teaching my kids science, and reading articles on technology. I never watched TV or movies, was a defiantly devoted social media junkie and I surfed the web for entertainment.&lt;/p&gt;

&lt;p&gt;In my youth, my love of music always seemed to grow parallel to my love of All Things Nerdy, and my fondest memory of high school was my “Computers” class where I learned to code in—-and here I will date myself cause you don’t lie about your age when you are talking about busting through barriers—BASIC on a Commodore 2000. My favorite game was Atari Adventure (&lt;a href="https://www.youtube.com/watch?v=e71Rvq4DVl0" rel="noopener noreferrer"&gt;Check out Weird Video Games here&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;In my recent freelancer’s life, I was very opinionated about tech. I noticed I had strong feelings about different software suites that I was using, in both sound engineering DAWs and translation CAT tools (fascinating Machine Learning results can be seen in translation software), and I often found myself in forums learning solutions from people in chat rooms devoted to geeking out about audio. I was a total gadget gal, thanks to my engineer dad’s collection of every electronic “first” on the block, and I never tired of editing miles and miles of sound waves on a screen for hours and hours a day.&lt;/p&gt;




&lt;p&gt;But despite all of those technical pretensions, which taught me a lot and kept me quite busy, the truth of the matter was that my degree was in Theater Arts. No matter how much I was hoping those guys on the tech panel would sense that I once had inspected circuit boards as a part time job, or that I was the kind of woman who installed her own memory chips in early model PCs...the fact remained that I was really an ex-New York City actress and former “stay-at-home” mom.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Imposter syndrome is my middle name. Sandwiched between the weird first name my parents gave me, and my ex-husband’s last name that I can’t seem to shake because I belong legally, somewhat, to my children, and by extension, him...there is written “Imposter Syndrome” right there, in stone.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So there I was, an ex-actress who found herself teetering on the brink of either a graduate degree or a certificate in fullstack web development. Whatever I decided, I was going to acquire whatever hard skills would garner the kind of respect I craved, both as a woman and as a creative, and I wanted more control over my life.&lt;/p&gt;

&lt;p&gt;For me the math was clear, the Coding Boot Camp was the better bargain, from any angle. But did I actually like coding itself? I had just sent my daughters to coding summer camp and realized that if I was preaching code to them, I should be practicing it myself. And so I began teaching myself code on a phone app called Mimo. Then I took a weeklong course in Javascript. I found that I had a knack for it, and, more importantly, was hooked. When I sat down in front of my machine, I noticed that nobody tells you your code isn’t skinny enough or ‘relatable’ enough, and so I kept coming back for more. Onto the bootcamp and &lt;em&gt;I’m sorry USC thank you for enrolling me but I must defer...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I made the commitment, and was willing to eat, sleep and drink code for 6 months, much like I was told to do in my conservatory-immersive BFA fine arts program many years ago. Only this time I was learning the unassailably rigorous craft of coding. I knew it was only the beginning of a long journey, but I had always been fine with new beginnings.&lt;/p&gt;

&lt;p&gt;The sense of limitlessness in tech has been more freeing than anything I ever felt while in “the business of art.” Developers share information, mentorship, intellectual ‘property’ and experience, generously and freely, and in that sense are like the hippest of hippies, almost utopian in their values. I am so proud to be even a latecomer to the Tech Revolution, and am so happy and honored to welcome others into it too, first as tutor and TA right after I finished the 6 month course, and now as Student Success Manager for Rutgers Coding and Data Science Bootcamps.&lt;/p&gt;

&lt;p&gt;Is it a hybrid position? You betcha. But I, along with many of the women mentors positioned above me in the company, get to help choose who comes and talks to students, of all genders, at those tech panels. &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; Next: a conversation about why traditional 'women's work' doesn't pay
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




</description>
      <category>nevertheless</category>
      <category>wecoded</category>
    </item>
  </channel>
</rss>
