Help
RSS
API
Feed
Maltego
Contact
Domain > www.brightball.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2016-09-30
54.197.246.207
(
ClassC
)
2017-09-09
54.221.228.80
(
ClassC
)
2024-07-06
104.26.1.214
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Sat, 06 Jul 2024 20:30:10 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveCache-Control: max-age3600Expires: Sat, 06 Jul 2024 21:30:10 GMTLocation: https://www.brightball.com/Report-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?s%2B5Nz9Zf6N%2FP4QnhtIZOG8eqXa5n1YHtdOs6WfaH2S0xaAUucehBb%2BgdDbDaWwaiXEPrSFo5FN5kjhdlCnXtcDEkybU1LGLvWukVyBTg%2FoIPRUw97BRM2VYC2WdQ7WlyRlQ89Hg%3D%3D},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}X-Content-Type-Options: nosniffServer: cloudflareCF-RAY: 89f259e53f68c4d7-SEAalt-svc: h3:443; ma86400 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>cloudflare/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sat, 06 Jul 2024 20:30:11 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveCF-Ray: 89f259e5a864c4de-SEACF-Cache-Status: DYNAMICCache-Control: max-age0, private, must-revalidateStrict-Transport-Security: max-age15552000; includeSubDomains; preloadVia: 1.1 vegurCross-Origin-Window-Policy: denyNel: {report_to:heroku-nel,max_age:3600,success_fraction:0.005,failure_fraction:0.05,response_headers:Via}Report-To: {group:heroku-nel,max_age:3600,endpoints:{url:https://nel.heroku.com/reports?ts1720297811&sid1b10b0ff-8a76-4548-befa-353fc6c6c045&ss%2FAmVtwJqpQF%2BDqv6l2cV1LIsxyE%2BfwWQmWsSj%2F0Xzk%3D}}Reporting-Endpoints: heroku-nelhttps://nel.heroku.com/reports?ts1720297811&sid1b10b0ff-8a76-4548-befa-353fc6c6c045&ss%2FAmVtwJqpQF%2BDqv6l2cV1LIsxyE%2BfwWQmWsSj%2F0Xzk%3DX-Content-Type-Options: nosniffX-Download-Options: noopenX-Frame-Options: SAMEORIGINX-Permitted-Cross-Domain-Policies: noneX-Request-Id: da4ea742-d7d9-4821-981c-9b297041a25aX-Xss-Protection: 1; modeblockServer: cloudflarealt-svc: h3:443; ma86400 html xmlnshttp://www.w3.org/1999/xhtml xml:langen langen>head>meta charsetUTF-8>meta nameviewport contentwidthdevice-width, initial-scale1.0>meta http-equivX-UA-Compatible contentieedge>title>Brightball/title>meta namedescription contentBarry Jones - Fractional CTO, SAFe SPC/RTE, Gitlab PSE, DevSecOps Advocate, Instructor and Blogger />meta namekeywords contentBrightball, Barry Jones, Greenville, SC, Fractional CTO, DevOps, DevSecOps, DMARC, Phishing, Fraud, Security, Scaled Agile Framework, SAFe, SPC, Gitlab, PostgreSQL, Elixir, Ruby on Rails, Performance />meta nameauthor contentBarry Jones />meta propertyog:image content/images/bb-ball-200-6a91533a037f6a58e821676c4ee4bd98.png?vsnd />meta propertyog:url content/ />meta propertyog:description contentBarry Jones - Fractional CTO, SAFe SPC/RTE, Gitlab PSE, DevSecOps Advocate, Instructor and Blogger />meta propertyog:title contentBrightball />script src/cdn-cgi/apps/head/X9i1WLPDPBFy4DC2y2laJ3Gt7XI.js>/script>link relicon href/images/favicon-579083590570ea624bb8fd49f0af4873.png?vsnd typeimage/ico />link relstylesheet href/css/app-31ddd5402c95a1108d86311da06155c0.css?vsnd />script defer typetext/javascript src/js/app-6b4415bfdb4465861a1010ec2ece53c3.js?vsnd>/script>link hrefhttps://fonts.googleapis.com/css2?familyJura:wght@700&displayswap relstylesheet>link relalternate typeapplication/rss+xml titleBrightball Articles href//www.brightball.com/articles.rss>/head>body classbg-brand-tope text-brand-text-blue antialiased flex flex-col min-h-screen>header classbg-header-blue header-gradient>div classsm:flex sm:items-center mx-auto max-w-screen-lg py-1 md:py-6>div classflex justify-between items-center mr-auto >div classpt-2 pb-1 sm:pt-4 sm:pb-2>a href/>script typetext/javascript styledisplay:none>//!CDATAwindow.__mirage2 {petok:RIfb8UUTyLP4fWANpmVRyrXp.ytMOQ29V6CRDinjVuQ-1800-0.0.1.1};//>/script>script typetext/javascript srchttps://ajax.cloudflare.com/cdn-cgi/scripts/04b3eb47/cloudflare-static/mirage2.min.js>/script>img altBrightball classw-48 sm:w-64 md:w-full data-cfsrc/images/brightball-543f5745af9aa50cda14aeee4e644494.png?vsnd styledisplay:none;visibility:hidden; />noscript>img altBrightball classw-48 sm:w-64 md:w-full src/images/brightball-543f5745af9aa50cda14aeee4e644494.png?vsnd/>/noscript>/a>/div>div classsm:hidden text-brand-orange>button typebutton classblock text-brand-grey idmenuButton>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-menu h-8 fill-current>path classsecondary fill-ruleevenodd dM4 5h16a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2zm0 6h16a1 1 0 0 1 0 2H4a1 1 0 0 1 0-2zm0 6h16a1 1 0 0 1 0 2H4a1 1 0 0 1 0-2z />/svg>/button>/div>/div>div classhidden sm:block px-2 sm:px-2 md:px-3 idmainMenu>div classsm:block text-brand-grey pt-2>div classuppercase text-sm md:text-base font-jura font-bold tracking-tight>a classblock sm:inline-block hover:text-brand-orange href/articles>Articles/a>span classhidden sm:inline-block md:mx-1 lg:mx-4 opacity-75>|/span>a classblock sm:inline-block hover:text-brand-orange href/presentations>Presentations/a>span classhidden sm:inline-block md:mx-1 lg:mx-4 opacity-75>|/span>a classblock sm:inline-block hover:text-brand-orange hrefhttps://www.linkedin.com/in/brightball targetlinkedin>Contact/a>/div>div classhidden sm:flex justify-end mt-1 md:mt-2>div classw-full>form action/search methodget>input autocompleteoff classtext-right text-gray-300 w-full rounded-full h-5 md:h-6 bg-gray-700 bg-opacity-75 text-xs md:text-sm px-4 font-hairline placeholder-brand-grey focus:placeholder-opacity-0 idsearch_term namesearchterm placeholdersearch powered by postgresql... typetext>/form>/div>/div>/div>/div>/div>/header>main classflex-grow main-gradient>div classmax-w-screen-lg mx-auto justify-between lg:px-2 pt-6 lg:flex w-full>section classlg:max-w-2xl pl-2 pr-2 lg:pl-0 lg:pr-16 pb-10 text-sm leading-6 font-thinner text-header-blue>div classmb-5>h1 classtext-3xl font-medium lowercase leading-none mb-5 flex items-center>a classtext-header-blue href/articles/security-automation-with-gitlab>Security Automation with Gitlab/a>/h1>div>p>I recently had the opportunity to speak to a hrefhttps://www.dc864.org/ targetdc864>DEF CON 864/a> about the multiple layers of security automation within Gitlab, the open source tools that drive them and how the findings are managed and resolved./p>/div>div> a href/articles/security-automation-with-gitlab>continue reading/a> /div>/div>div classdivider>/div>h2 classtext-brand-navy text-2xl font-medium lowercase leading-none mb-5> Previous Articles & Presentations /h2>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/rebooting-the-carolina-code-conference>Rebooting the Carolina Code Conference/a>/h3>div classtag-list text-xs lowercase>a href/tag/business>Business/a> span classsep>|/span>- May 21, 2023// Barry/div>div>p>The Carolina Code Conference is a welcoming and community-driven “polyglot” conference that’s set to take place in beautiful downtown Greenville, SC on a hrefhttps://blog.carolina.codes/p/carolina-code-conference-august-19th>Saturday August 19th, 2023 in the Greenville ONE building/a>. This conference, which returns for the first time since 2019, invites coders of all experience levels to attend, plug into the development community, share their experiences and have a great time as well./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/how-microsoft-became-phishings-biggest-enabler>How Microsoft Became Phishing's Biggest Enabler/a>/h3>div classtag-list text-xs lowercase>a href/tag/email>Email/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>- February 23, 2023// Barry/div>div>p>It might sound strange to hear that Microsoft, a company who goes to great lengths to protect computers and networks, is one of the biggest contributors to phishing and fraud on the planet. It's true unfortunately. /p>p stylepadding-top: .5rem;>They aren't actually committing the acts themselves of course, but they are enabling the problem by withdrawing support for standards designed to help stop it. Here's why this is such a big deal./p>p stylepadding-top: .5rem;>b>UPDATE 4/12/2023:/b> After years, a hrefhttps://www.microsoft.com/en-us/microsoft-365/roadmap?filters&searchtermsDMARC target_blank>Microsoft is finally fixing this by honoring preject/a>. This is a huge improvement and deserves to be applauded. The work isnt done though. We need aggregate reports to avoid blind spots during our implementation. Offering the reports for enterprises is a great step though./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/the-time-i-accidentally-ended-up-combating-fraud-for-a-year>The Time I Accidentally Ended Up Combatting Fraud for a Year/a>/h3>div classtag-list text-xs lowercase>a href/tag/security>Security/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>- February 10, 2023// Barry/div>div>p>Lately, I’ve been spending a lot of time enjoying the a hrefhttps://darknetdiaries.com/ target_blank>Darknet Diaries/a> podcast and it’s compelled me to finally share the entire story of the most intense year of my 20 year professional career. I was the sole developer hired by a company going through a circus-like ownership transition while criminals actively worked to defraud the 300,000 users of this 14 year old, high end marketplace./p>p stylepadding-top: .5rem;>We experienced late nights, numerous technical challenges, worked with abuse response teams, learned a lot of lessons about phishing and fraud, high emotions, death threats and at least one person lost a business that depended on the site. Here’s the story from start to finish, including how to prevent many of these problems on your own site. Buckle up./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/waste-spammers-time-to-reduce-their-return-on-investment>Waste Spammers Time to Kill Their Return on Investment/a>/h3>div classtag-list text-xs lowercase>a href/tag/business>Business/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>- July 30, 2022// Barry/div>div>p>Continuing our series from 2012 where a hrefhttps://www.brightball.com/articles/the-time-i-accidentally-ended-up-combating-fraud-for-a-year>I accidentally ended up combating phishing and fraud for a year/a>, we move onto the spam issue. Everything that happened that year was an exercise in triage. Problems were everywhere on the system and in the marketplace. The site I was working on was the leader in a niche space but it wasn't just the phish who tried to capitalize on the chaos, it was our competitors too./p>p stylepadding-top: .5rem;>Spam takes a time investment and every time investment is a business decision. If you cant stop it completely, you can at least dramatically increase their costs...and have fun doing it./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/enterprise-challenges-with-dmarc-deployment>Enterprise Challenges with DMARC Deployment/a>/h3>div classtag-list text-xs lowercase>a href/tag/security>Security/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>- July 25, 2022// Barry/div>div>p>DMARC deployment projects in larger organizations come with their own variety of challenges. A great many more people are involved, so there will be more communication, more approvals and more politics. Others will object on the basis of size. Our company is simply too large! some will say./p>p stylepadding-top: 0.5rem;>In the final section of our a href/tag/dmarc-guide>DMARC guide/a>, we will discuss these common concerns and how to address the challenges. If 74% of the US Federal goverment did this in about a year, you can too./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/deploying-dmarc-without-breaking-everything>Deploying DMARC Without Breaking Everything/a>/h3>div classtag-list text-xs lowercase>a href/tag/security>Security/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>- July 23, 2022// Barry/div>div>p>Too scary? Messing with the configuration on your domain email em>is scary/em>, especially if you're already sending a lot of it. You have to worry that you're going to screw something up and break all of the email communications for the entire company./p>p stylepadding-top: .5rem;>Thats what I was worried when I first rolled this out and had no idea what I was doing. One of the reasons Im such a big advocate for DMARC today is that it was painless, easy and involve no risk at all./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/combatting-phishing-with-dmarc-a-complete-guide>Combating Phishing with DMARC/a>/h3>div classtag-list text-xs lowercase>a href/tag/email>Email/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>- July 18, 2022// Barry/div>div>p>Email shouldn't feel like a dark art, but to a lot of people it does. Everyone should have DMARC setup by this point, but they don't. Here's the first piece of a 3 part guide covering why it works and how to set it up./p>p stylepadding-top: .5rem;>Since writing about a href/articles/automatically-reversing-account-takeovers>how to reverse account takeovers/a> last week I've decided to write a security series covering all the weird things I encountered back in 2012, when a hrefhttps://www.brightball.com/articles/the-time-i-accidentally-ended-up-combating-fraud-for-a-year>I accidentally ended up combating phishing and fraud for a year/a>. In the last article, the first recommendation was to setup DMARC. So let's take a deeper look at why, how and what's involved in long term management once it's setup./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/automatically-reversing-account-takeovers>Automatically Reversing Account Takeovers/a>/h3>div classtag-list text-xs lowercase>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>- July 11, 2022// Barry/div>div>p>Today, Brian Krebs reported on a hrefhttps://krebsonsecurity.com/2022/07/experian-you-have-some-explaining-to-do/ targetkrebs_experian>account takeovers happening at Experian/a>, one of the 3 major credit agencies. The first step after getting account access is to lock out the account owner, usually by swapping the email address. a hrefhttps://www.brightball.com/articles/the-time-i-accidentally-ended-up-combating-fraud-for-a-year>10 years ago I dealt with this problem extensively/a>, so Id like to share how to solve it./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/im-offering-my-first-scaled-agile-framework-safe-class>I'm offering my first Scaled Agile Class/a>/h3>div classtag-list text-xs lowercase>a href/tag/safe>SAFe/a> span classsep>|/span>a href/tag/classes>Classes/a> span classsep>|/span>- October 30, 2021// Barry/div>div>p>After 20 years in software development, my frustations with watching organizations hurt themselves from bad practices finally boiled over in my article, a hrefhttps://www.brightball.com/articles/reality-driven-development-fixing-project-management-in-software>Reality Driven Development/a>. The response and discussion from Hacker News lead me into the work of Donald Reinertsen, who laid out the math that validated everything I was experiencing. Much of the Scaled Agile Framework is based on his work, which lead into my journey with SAFe 3 years ago. Join me on December 9th for my first class, Leading SAFe 5.1./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/ansible-and-terraform-the-pb-and-j-of-devops>Ansible + Terraform, the PBJ of DevOps/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>- October 12, 2021// Barry@ UCLUG/div>div>This week I had the opportunity to speak to a hrefhttps://gettogether.community/upstate-carolina-linux-users-group-uclug/ targetuclug>Upstate Carolina Linux User Group/a> (UCLUG) to share my thoughts on how well Ansible and Terraform compliment each other, as well as the many ways to share information between the tools to use them together./div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/developing-a-layered-email-security-strategy-webinar>Video: Developing a Layered Email Security Strategy Webinar/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/email>Email/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>- September 23, 2020// Barry@ dmarcian/div>div>In this joint webinar between a hrefhttps://dmarcian.com/ targetdmarcian>dmarcian/a>, a hrefhttps://www.greathorn.com/ targetgh>GreatHorn/a> and a hrefhttps://inspiredelearning.com/ targetinspired>Inspired eLearning/a> I had the opportunity to share an overview of SPF, DKIM and DMARC as part of a layered email security strategy./div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/thank-you-tailwindcss>Thank You TailwindCSS/a>/h3>div classtag-list text-xs lowercase>a href/tag/phoenix>Phoenix/a> span classsep>|/span>a href/tag/design>Design/a> span classsep>|/span>a href/tag/tailwindcss>TailwindCSS/a> span classsep>|/span>- August 17, 2020// Barry/div>div>p>In the last 2-3 weeks, after seeing a lot of recommendations, I decided to read the a hrefhttps://refactoringui.com/book/ targetrefactoringui>Refactoring UI book/a> and then dove into a hrefhttps://tailwindcss.com/ targettailwindcss>TailwindCSS/a>. Design has always been a huge gap in my skillset. As frontend complexity increased over the last decade, it seemed less and less worth it to invest time to fill it. Then came TailwindCSS./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/what-to-expect-when-youre-emailing>What to Expect When You're Emailing/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/email>Email/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>- July 20, 2019// Barry@ Carolina Code Conf/div>div>During Carolina Code Conf, I gave what is probably the most entertaining presentation ever given about email. We walk through how to protect, raise and nuture the domain for my pirate themed gym, Slimmer Ye Timbers./div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/phishing-thats-gonna-leave-a-dmarc>Phishing Leaves a DMARC Trail/a>/h3>div classtag-list text-xs lowercase>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>- August 7, 2018// Barry@ A.P.W.G./div>div>p>In May I had the opportunity to present at the a hrefhttps://apwg.org/ target_blank>Anti-Phishing Working Group/a> (APWG) Conference after spending some time cross referencing the APWGs eCrime Exchange data with a hrefhttps://dmarcian.com target_blank>dmarcian/a>s historic DMARC reports to see if we could identify consistent patterns among known bad actors, as well as potentially identifying a wider scope to the attacks that any single entity could see. The results were interesting!/p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/repeating-history-with-elixir-again>Repeating History with Elixir...again/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/elixir>Elixir/a> span classsep>|/span>a href/tag/phoenix>Phoenix/a> span classsep>|/span>- July 28, 2018// Barry@ Carolina Code Conf/div>div>p>Over the weekend I got the chance to speak at the inaugural a hrefhttps://www.carolina.codes/ target_blank>Carolina Code Conf/a> in Greenville, SC. Its the upstate polyglot conference where just about any relevant subject is welcome, so I submitted a talk on Elixir. I also gave a lightning talk on DMARC thanks to our wonderful sponsor, a hrefhttps://www.dmarcian.com target_blank>dmarcian/a>./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/reality-driven-development-fixing-project-management-in-software>Reality Driven Development/a>/h3>div classtag-list text-xs lowercase>a href/tag/business>Business/a> span classsep>|/span>a href/tag/pairing>Pairing/a> span classsep>|/span>- May 21, 2018// Barry/div>div>p>Not a lot of people know this about me, but Ive almost exited programming at three different times in my career...because I wanted to get into project management at a high level. Ever since my first project management class in grad school, it just made sense to me...but after about 15 years in software it doesnt anymore. Let me explain how to fix it./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/comparing-elixir-and-go>Comparing Elixir and Go/a>/h3>div classtag-list text-xs lowercase>a href/tag/golang>Golang/a> span classsep>|/span>a href/tag/elixir>Elixir/a> span classsep>|/span>- January 26, 2017// Barry@ Codeship/div>div>p>Elixir and Go have both grown significantly in popularity over the past few years, and both are often reached for by developers looking for high concurrency solutions. The two languages follow many similar principles, but both have made some core tradeoffs that affect their potential use cases. Let’s compare the two by taking a look at their backgrounds, their programming styles, and how they deal with concurrency./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/belated-elixirconf-2016-recap>Belated ElixirConf 2016 Recap/a>/h3>div classtag-list text-xs lowercase>a href/tag/elixir>Elixir/a> span classsep>|/span>a href/tag/phoenix>Phoenix/a> span classsep>|/span>- November 30, 2016// Barry/div>div>p>This past September I took vacation time and paid out of pocket to drive to Orlando and attend a hrefhttp://elixirconf.com/ target_blank>ElixirConf/a> with a few other programmers from Greenville who did the same thing. We werent the only ones. Here is a belated recap from our combined notes and experiences./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/repeating-history-on-purpose-with-elixir>Repeating History...on Purpose...with Elixir/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/phoenix>Phoenix/a> span classsep>|/span>a href/tag/elixir>Elixir/a> span classsep>|/span>- November 29, 2016// Barry@ Upstate Elixir/div>div>p>A dive into the highlights of a hrefhttp://elixir-lang.org/ target_blank>Elixir/a> that make it the ideal platform for the web...and how all these questions were answered figured out 30 years ago. Presented to a hrefhttps://www.meetup.com/Upstate-Elixir/ target_blank>Upstate Elixir/a> in Greenville, SC on Nov 16./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/elixir-ets-and-mnesia-vs-redis>Elixir ETS + Mnesia vs Redis/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/elixir>Elixir/a> span classsep>|/span>- September 27, 2016// Barry@ Codeship/div>div>p>Learning a hrefhttp://elixir-lang.org/ target_blank>Elixir/a> has a way of challenging everything you know about programming. a hrefhttp://redis.io/ target_blank>Redis/a> is becoming an assumed part of many web stacks, in the same breath as your database. But with Elixir, do you need it? Do you even need a database?/p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/email-as-a-microservice>Email as a Microservice/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>- August 6, 2016// Barry@ Codeship/div>div>p>Email might be one of the most often overlooked pieces of any web application. Usually the biggest discussion around it in a project begins and ends with “and we’ll send them an email when this happens…”./p>p>A little thought and some minor adjustments can help us avoid some problems that will grow as your project does. Let’s talk about email as a microservice./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/postgresql-functions-with-elixir-ecto>PostgreSQL functions with Elixir Ecto/a>/h3>div classtag-list text-xs lowercase>a href/tag/phoenix>Phoenix/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/elixir>Elixir/a> span classsep>|/span>- July 27, 2016// Barry/div>div>p>Functions within PostgreSQL can be setup to return rows and included in queries just like any other table. Continuing with our theme of trying to push Elixir and Phoenix a little on this site rebuild, we will move our site search inside of a database function and experiment with different ways to call it from Ecto./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/insanity-with-elixir-phoenix-postgresql>Insanity with Elixir + Phoenix + PostgreSQL/a>/h3>div classtag-list text-xs lowercase>a href/tag/elixir>Elixir/a> span classsep>|/span>a href/tag/phoenix>Phoenix/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- July 6, 2016// Barry/div>div>p>Im at the borderline of obsessed with a hrefhttp://elixir-lang.org/ target_blank>Elixir/a> and a hrefhttp://www.phoenixframework.org/ target_blank>Phoenix/a> lately. Ive avoided writing about it so far because it feels a bit too good to be true. In an effort to test my own enthusiam, I decided to rebuild this site with them in the most ridiculous way possible just to try to test some limits. Because I already have an a href/articles/why-should-you-learn-postgresql>unhealthy obsession with PostgreSQL/a>, were getting crazy with it too./p>p stylepadding-top: .5rem>b>DISCLAIMER/b>: This is i>not/i> a how to build a blog article. If you do what Im about to do, people will look at you funny (and probably should)./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/why-docker>Why Docker?/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/docker>Docker/a> span classsep>|/span>- October 29, 2015// Barry@ Codeship/div>div>p>Containers are not a new thing, but implementing them was always a little more complicated than it needed to be. a hrefhttps://www.docker.com/ target_blank>Docker/a> made great leaps in simplification of containers and set the world on fire from there. Let’s look at why./a>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/monitoring-with-bosun>Monitoring with Bosun/a>/h3>div classtag-list text-xs lowercase>a href/tag/golang>Golang/a> span classsep>|/span>a href/tag/devops>DevOps/a> span classsep>|/span>- October 15, 2015// Barry@ Codeship/div>div>p>a hrefhttp://bosun.org/ target_blank>Bosun/a> is a monitoring and alerting system developed by the good folks at a hrefhttp://stackexchange.com/ target_blank>Stack Exchange/a>, then open sourced for the rest of us. It’s written in a hrefhttps://golang.org/ target_blank>Go/a>, meaning its monitoring agents can run anywhere that Go can drop a binary… which is just about everywhere. So what exactly does it do and how does it compare to the likes of a hrefhttp://newrelic.com/ target_blank>New Relic/a>, a hrefhttps://aws.amazon.com/cloudwatch/ target_blank>CloudWatch/a>, a hrefhttps://www.nagios.org/ target_blank>Nagios/a>, a hrefhttp://www.splunk.com/ target_blank>Splunk Cloud/a>, a hrefhttps://www.serverdensity.com/ target_blank>Server Density/a>, and other monitoring tools?/p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/heroku-data-links-with-postgres-and-redis>Heroku Data Links with Postgres and Redis/a>/h3>div classtag-list text-xs lowercase>a href/tag/heroku>Heroku/a> span classsep>|/span>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- September 16, 2015// Barry@ Codeship/div>div>p>PostgreSQL has a great feature called a hrefhttp://www.postgresql.org/docs/9.4/static/sql-createforeigndatawrapper.html target_blank>Foreign Data Wrappers (FDW)/a> that allows it to connect directly to a hrefhttps://wiki.postgresql.org/wiki/Foreign_data_wrappers target_blank>outside systems/a>. Although the setup can be a little complicated, once it’s available you can run queries with joins or subqueries against them, insert data, create views, etc. Heroku has dramatically simplified the process of using FDW with a hrefhttps://www.heroku.com/postgres target_blank>PostgreSQL/a> and a hrefhttps://elements.heroku.com/addons/heroku-redis target_blank>Redis/a> thanks to a hrefhttps://blog.heroku.com/archives/2015/6/25/heroku-redis-ga-and-introducing-heroku-data-links#introducing-heroku-data-links target_blank>Data Links/a>. Let’s try it out./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/zero-downtime-deployment-with-aws-ecs-and-elb>Zero Downtime Deployment with AWS ECS and ELB/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/docker>Docker/a> span classsep>|/span>- August 25, 2015// Barry@ Codeship/div>div>p>As development teams push farther toward continuous delivery, deploying updates to an application without disruption to users is constantly becoming a more sought-after practice. Amazon’s a hrefhttps://aws.amazon.com/ecs/ target_blank>EC2 Container Service/a> helps to make that easier than ever with tight a hrefhttps://aws.amazon.com/elasticloadbalancing/ target_blank>Elastic Load Balancer/a> integration./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/how-to-use-heroku-pgbackups>How to Use Heroku PGBackups/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/heroku>Heroku/a> span classsep>|/span>- August 11, 2015// Barry@ Codeship/div>div>p>Backing up your data is one of the most critical activities for your application. Heroku PGBackups makes the entire experience pretty simple but comes with a lot of flexibility too, with a number of options for smooth restoration./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/no-such-thing-as-real-programming>No such thing as "real programming"/a>/h3>div classtag-list text-xs lowercase>a href/tag/business>Business/a> span classsep>|/span>a href/tag/life>Life/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>- July 20, 2015// Barry@ freeCodeCamp/div>div>p>I read an article earlier today called a hrefhttp://joequery.me/code/the-self-hating-web-developer/ target_blank title>The self-hating Web Developer/a> that I found on a target_blank title hrefhttps://news.ycombinator.com/item?id9910146>Hacker News/a> and it bothered me. It resonated with me as something that I professionally internalized over my career but it bothered me because Joseph encountered personal financial difficulty for both himself and his family due to the struggle. For that reason (and insomnia), I feel compelled to write this as reference to refer to for anybody else who may be struggling with the same thing./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/exploring-microservices-architecture-on-heroku>Exploring Microservices Architecture on Heroku/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/heroku>Heroku/a> span classsep>|/span>- July 8, 2015// Barry@ Codeship/div>div>p>Building an application with a a target_blank title hrefhttps://en.wikipedia.org/wiki/Microservices>microservice architecture/a> is an excellent long-term decision if you can afford the increase in upfront time investment to do it properly. a target_blank title hrefhttps://www.heroku.com/>Heroku/a> provides a platform that most developers know for simple deployment, but it also dramatically simplifies microservices architecture. /p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/heroku-postgresql-vs-amazon-rds-for-postgresql>Heroku PostgreSQL vs Amazon RDS for PostgreSQL/a>/h3>div classtag-list text-xs lowercase>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/heroku>Heroku/a> span classsep>|/span>- July 3, 2015// Barry@ Codeship/div>div>p>PostgreSQL is becoming the relational database of choice for web development for a a href/postgresql/why-should-you-learn-postgresql title>whole host of good reasons/a>. That means that development teams have to make a decision on whether to host their own or use a database as a service provider. The two biggest players in the world of PostgreSQL are a hrefhttps://www.heroku.com/postgres title target_blank>Heroku PostgreSQL/a> and a hrefhttp://aws.amazon.com/rds/postgresql/ title target_blank>Amazon RDS for PostgreSQL/a>. Heres a detailed comparison. /p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/organizing-background-worker-queues>Organizing Background Worker Queues/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>- April 23, 2015// Barry/div>div>p>At work earlier today I ran across an issue where one of our application queues got backed up and it got me to thinking about how queues are organized in general. The a target_blank title hrefhttp://www.urbandictionary.com/define.php?termtl%3Bdr>TLDR/a> answer: use urgency and intensity. /p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/go-from-a-php-perspective>Go from a PHP Perspective/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>a href/tag/golang>Golang/a> span classsep>|/span>- April 16, 2015// Barry@ Upstate PHP/div>div>p>Here are the slides from my recent presentation to UpstatePHP in Greenville, looking at Go (a target_blank title hrefhttps://golang.org/>Golang/a>) from a PHP Perspective./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/ruby-on-rails-and-postgresql-class-slides>Ruby on Rails and PostgreSQL Class Slides/a>/h3>div classtag-list text-xs lowercase>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>a href/tag/ruby>Ruby/a> span classsep>|/span>- April 6, 2015// Barry@ OpenWorks/div>div>p>In August I taught a course titled a title href/classes/ruby-on-rails-and-postgresql-intro-to-advanced-in-3-weeks>Ruby on Rails and PostgreSQL - Intro to Advanced/a> in Greenville over the span of 3 weeks. Here is the compilation of slides from the class./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/protecting-users-from-phishing-and-fraud>Protecting Users from Phishing and Fraud/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/security>Security/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/dns>DNS/a> span classsep>|/span>- April 2, 2015// Barry@ Upstate PHP/div>div>p>This presentation covers my experiences combatting phishing and fraud using DMARC and assorted other techniques in a large eBay-like platform for a niche market...when the site previously did everything over direct user email...for over a decade. Good times./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/code-is-the-cure-for-developaralysis>Code is the Cure for Developaralysis/a>/h3>div classtag-list text-xs lowercase>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>- October 22, 2014// Barry/div>div>p>A couple of days ago, TechCrunch ran a column about a target_blank title hrefhttp://techcrunch.com/2014/10/18/you-too-may-be-a-victim-of-developaralysis/>Developaralysis/a> that hit a little close to home. Developaralysis is defined as "the crippling sense that the software industry is evolving so fast that no one person can possibly keep up." This results in otherwise accomplished developers freezing up when trying to make decisions about the best language / framework / cloud platform to use for their project. There is a cure and it involves code. A code specifically./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/sshbatch-simple-remote-shell-commands>SSH::Batch - Simple remote shell commands/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/ssh>SSH/a> span classsep>|/span>a href/tag/perl>Perl/a> span classsep>|/span>- September 15, 2014// Barry/div>div>p>a target_blank title hrefhttp://search.cpan.org/~agent/SSH-Batch-0.029/lib/SSH/Batch.pm>SSH::Batch/a> is a simple command line tool, written in a target_blank title hrefhttps://www.perl.org/>Perl/a>, that allows you to run shell commands over SSH across multiple servers. These days it seems most people turn to a target_blank title hrefhttp://puppetlabs.com/>Puppet/a> / a target_blank title hrefhttp://www.getchef.com/chef/>Chef/a> / a target_blank title hrefhttp://www.ansible.com/home>Ansible/a> for that type of thing, but sometimes your needs arent that complicated. For that, SSH::Batch fills the gap nicely and its really simple to get started./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/video-sql-vs-nosql-discussion-at-upstatephp>Video: SQL vs NoSQL Discussion at UpstatePHP/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/nosql>NoSQL/a> span classsep>|/span>- September 13, 2014// Barry@ Upstate PHP/div>div>p>Heres the video from the August a target_blank title hrefhttps://www.facebook.com/groups/upstatepug/>UpstatePHP/a> meeting in Greenville discussing SQL vs NoSQL and where they are useful for your development process. I represented SQL solutions (*cough* a target_self title href/postgresql/why-should-you-learn-postgresql>PostgreSQL/a> *cough*) while a target_blank title hrefhttps://www.linkedin.com/in/benjaminyoung>Benjamin Young/a> represented NoSQL. Ben has actively contributed to a target_blank title hrefhttp://couchdb.apache.org/>CouchDB/a>, worked for a target_blank title hrefhttps://cloudant.com/>Cloudant/a>, a target_blank title hrefhttp://www.couchbase.com/>Couchbase/a>, organizes the a target_blank title hrefhttp://www.restfest.org/>REST Fest Unconference/a> (happening again September 25-27th) and is the owner of a target_blank title hrefhttp://bigbluehat.com/>Big Blue Hat/a>. I am a gainfully employed programmer...so...theres that./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/rails-gems-to-unlock-advanced-postgresql-features>Rails Gems to Unlock Advanced PostgreSQL Features/a>/h3>div classtag-list text-xs lowercase>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>- September 9, 2014// Barry/div>div>p>If youve spent any amount of time on this site you may have noticed that Im a title href/postgresql/why-should-you-learn-postgresql>fond of PostgreSQL/a>...and a title href/ruby/learning-ruby-on-rails-why-how-pitfalls>Ruby on Rails/a>...and that I dislike the general trend among Rails developers to a title href/ruby/the-drawback-to-web-frameworks>ignore all of the amazing features/a> in PostgreSQL that make your application better in favor of risking data integrity just so that all logic can remain in Rails. So heres my top collection of Rails gems to get at all that untapped power in PostgreSQL that you didnt know you had./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/what-exactly-happened-to-brightball-for-hire>What exactly happened to Brightball for hire?/a>/h3>div classtag-list text-xs lowercase>a href/tag/business>Business/a> span classsep>|/span>a href/tag/life>Life/a> span classsep>|/span>- August 11, 2014// Barry/div>div>p>Its been about four years since we last took on a new project as a company. Work continued for existing clients for a long time after that, but the company itself was basically dead from that point. I was on vacation with my family last week and somewhat reflecting on exactly how I got there after ending up in a hospital bed in the middle of the night four years ago trying to keep it going. Heres how it happened./p>p stylepadding-top: .5rem;>strong>NOTE:/strong> I still personally consult through Brightball./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/screenhero-this-is-your-business-plan>Screenhero - This is your Business Plan/a>/h3>div classtag-list text-xs lowercase>a href/tag/pairing>Pairing/a> span classsep>|/span>a href/tag/business>Business/a> span classsep>|/span>- July 31, 2014// Barry/div>div>p>I got a newsletter last night from a hrefhttps://screenhero.com/ targetscreenhero>Screenhero/a> announcing version 1.0. The problem is that in the announcement, they also announced a change in pricing that will probably kill a lot of what they have going for them. And I hate that. I REALLY hate that. Ive worked for companies where we had to invest a lot of time cleaning up bad decisions, so maybe it bothers me a little more. I really like Screenhero though, so Im going to try to help. I wasnt doing a good job of explaining myself to them via Twitter, so this should hopefully be a better explanation of what I was trying to communicate./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/why-should-you-learn-postgresql>Why should you learn PostgreSQL?/a>/h3>div classtag-list text-xs lowercase>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- July 21, 2014// Barry/div>div>p>Nearly a year ago I put together an hour long a title href/presentations/postgresql-it-s-kind-ve-a-nifty-database>presentation on PostgreSQL/a> to provide an overview of all of the benefits it provides you over other options in the database space. In hindsight, that wasnt nearly enough time because it has the capability to replace almost your entire application stack outside of the web server. In any case, here is an attempt to summarize all of the amazing functionality that youre cheating yourself out of by not choosing PostgreSQL./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/ruby-on-rails-and-postgresql-intro-to-advanced>Ruby on Rails and PostgreSQL - Intro to Advanced/a>/h3>div classtag-list text-xs lowercase>a href/tag/classes>Classes/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/ruby>Ruby/a> span classsep>|/span>- July 15, 2014// Barry@ OpenWorks/div>div>p>Beginning August 18th I will be offering a three week evening class aimed at professional programmers who want to learn Ruby on Rails and PostgreSQL, with the goal of becoming proficient with both in a very short time./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/pair-programming-the-lightning-talk-version>Pair Programming - The Lightning Talk Version/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/pairing>Pairing/a> span classsep>|/span>- July 4, 2014// Barry@ ACS Technologies/div>div>p>Lightning talk introduce pair programming based on information gleaned from RailsConf 2014. Bulk of the credit for this presentation goes to Chuck Lauer Vose of a target_blank title hrefhttp://newrelic.com/>New Relic/a> and Joe Moore of a target_blank title hrefhttp://pivotallabs.com/>Pivotal Labs/a>./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/exploring-ruby-on-rails-and-postgresql>Exploring Ruby on Rails and PostgreSQL/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>- July 4, 2014// Barry@ The Ironyard/div>div>p>An overview of Ruby, jRuby, Rails, Torquebox, and PostgreSQL that was presented as a 3 hour class to other programmers at a title hrefhttp://theironyard.com>The Ironyard/a> in Greenville, SC in July of 2013. The Rails specific sections are mostly code samples that were explained during the session so the real focus of the slides is Ruby, "the rails way" / workflow / differentiators and PostgreSQL./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/whats-the-right-php-framework>What's the "right" PHP Framework?/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/rails>Rails/a> span classsep>|/span>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>a href/tag/cakephp>CakePHP/a> span classsep>|/span>- June 21, 2014// Barry@ Upstate PHP/div>div>p>This is a presentation that I recently gave at UpstatePHP in Greenville evaluating the framework landscape in PHP. We discussed why there are so many, history, goals, benefits, concerns and ultimately a recommendation./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/tempering-my-docker-enthusiasm-retracted>Tempering My Docker Enthusiasm (retracted)/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/docker>Docker/a> span classsep>|/span>- June 4, 2014// Barry/div>div>p>In a recent post I provided my initial impressions of Docker, which were glowing to put it mildly. After spending more time working with it, Ive found that it does still have strike>some additional drawbacks in certain situations/strike> just about every situation covered thanks to Vagrant./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/docker-is-the-heroku-killer>Docker is the Heroku Killer/a>/h3>div classtag-list text-xs lowercase>a href/tag/heroku>Heroku/a> span classsep>|/span>a href/tag/docker>Docker/a> span classsep>|/span>- May 14, 2014// Barry/div>div>p>After getting an intense look at a hrefhttps://www.docker.io/ target_blank>Docker/a> last night, I firmly believe that it is going to be the most disruptive server technology that weve seen in the last few years. It fills a much needed hole thats currently managed by very expensive solutions and its being actively funded by some of the biggest players in the market./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/postgresql-its-kindve-a-nifty-database>PostgreSQL - It's kind've a nifty database/a>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-4 ml-1 fill-current>title>Presentation/title>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/h3>div classtag-list text-xs lowercase>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- November 27, 2013// Barry@ Upstate PHP/div>div>p>This is a presentation I recently gave to provide an overview of PostgreSQL and some of its excellent features, including full-text search, multiple built in datatypes, data compression and extensions. /p> p>Also, Morgan Freeman is narrating. Youre welcome./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/learning-ruby-on-rails-why-how-pitfalls>Learning Ruby on Rails: Why? How? Pitfalls?/a>/h3>div classtag-list text-xs lowercase>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>- May 9, 2013// Barry/div>div>p>Ive always been a proponent of the "right tool for the job" approach to programming. Different languages are well suited for different situations. Over the past 2 years Ive spent a great deal of time with Ruby on Rails after coming from a background of PHP, Java and Perl. Heres how I got started and some of the lessons I learned along the way./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/the-drawback-to-web-frameworks>The Drawback to Web Frameworks/a>/h3>div classtag-list text-xs lowercase>a href/tag/rails>Rails/a> span classsep>|/span>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/cakephp>CakePHP/a> span classsep>|/span>- April 29, 2013// Barry/div>div>p>Web frameworks are great, dont get me wrong here. They provide a structure and consistency across projects that will transcend developers over the life of a system while dramatically simplifying the code base amongst other wonderful side effects. But whats the downside?/p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/make-it-faster>"Make it faster."/a>/h3>div classtag-list text-xs lowercase>a href/tag/life>Life/a> span classsep>|/span>- April 28, 2013// Barry/div>div>p> Im obsessed with performance tuning. Its an itch that can never fully be scratched. A sickness that can never be cured. Heres the story of how I caught the bug./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/the-impossible-assignment>The Impossible Assignment/a>/h3>div classtag-list text-xs lowercase>a href/tag/clemson>Clemson/a> span classsep>|/span>a href/tag/life>Life/a> span classsep>|/span>- April 25, 2013// Barry/div>div>p>I had the opportunity to visit the class of one of my legendary former professors yesterday and got to share a classic story about him...the time he gave us an impossible assignment./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/a-study-of-pricing-and-billing-models-for-the-web>A Study of Pricing and Billing Models for the Web/a>/h3>div classtag-list text-xs lowercase>a href/tag/business>Business/a> span classsep>|/span>- September 13, 2010// Barry/div>div>p>Asking people for payment for work is a touchy subject for everyone involved. Weve had the luxury of experimenting a little bit over our first couple of years, and heres what we learned. /p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/the-difference-that-expert-quality-assurance-makes>The difference that expert Quality Assurance makes/a>/h3>div classtag-list text-xs lowercase>a href/tag/business>Business/a> span classsep>|/span>- July 6, 2010// Barry/div>div>p>When we first started out, we listed the thorough quality assurance review as an optional piece of our estimates. We had this incredibly naive idea that if we gave people the option to save a little money up front that theyd fully understand if there was anything that needed to be tuned up, post-launch. We learned our lesson...hard. /p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/the-wonders-of-ssh-tunneling>The Wonders of SSH Tunneling/a>/h3>div classtag-list text-xs lowercase>a href/tag/devops>DevOps/a> span classsep>|/span>a href/tag/ssh>SSH/a> span classsep>|/span>- May 11, 2010// Barry/div>div>p>Have you ever been working on a website and needed direct access to the database, but couldnt get access without using something like phpMyAdmin? SSH tunneling can solve this common problem and a whole lot more./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/should-my-domain-name-include-a-www>Should my domain name include a "www"?/a>/h3>div classtag-list text-xs lowercase>a href/tag/dns>DNS/a> span classsep>|/span>a href/tag/devops>DevOps/a> span classsep>|/span>- May 6, 2010// Barry/div>div>p>In the age of Twitter and Web 2.0, weve started to see a lot of websites drop the standard www from their domain names. This could simply be a product of people following trends or just trying to be a little different, but the real question is "What are the drawbacks?"/p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/string-localization-with-dynamic-content-in-cakephp>String localization with dynamic content in CakePHP/a>/h3>div classtag-list text-xs lowercase>a href/tag/i18n>i18n/a> span classsep>|/span>a href/tag/cakephp>CakePHP/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>- June 20, 2009// Barry/div>div>p>Cake has a wonderful shell script function built into it called extract that will run through your code and create a .po file full of all of the text contained within your __(My text here) calls. You can then pass these files onto to translators to modify them for your languages. When you want to add variables though, you have to break it up into pieces which may change the context of the phrase. Heres a way around that./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/wysiwygpro-helper-and-tutorial-for-cakephp>WYSIWYGPro Helper and tutorial for CakePHP/a>/h3>div classtag-list text-xs lowercase>a href/tag/cakephp>CakePHP/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>- June 14, 2009// Barry/div>div>p>I couldnt find any resources on setting up WYSIWYGPro with Cake so I developed this helper along with instructions for total integration with your system. If youve never used WYSIWYGPro, you should check out the demos. Ive tried every WYSIWYG editor out there and none of the other ones even come close as far as Im concerned./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/publishablebehavior-for-cakephp>PublishableBehavior for CakePHP/a>/h3>div classtag-list text-xs lowercase>a href/tag/php>PHP/a> span classsep>|/span>a href/tag/cakephp>CakePHP/a> span classsep>|/span>- June 10, 2009// Barry/div>div>p>PublishableBehavior allows the use of datetime fields for start and end ranges on content. Included functionality allows for checking published status, toggling to published / unpublished status, and adding conditions to a find to properly filter those results./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/smoother-cakephp-datetime-fields-with-jquery>Smoother CakePHP date/time fields with jQuery/a>/h3>div classtag-list text-xs lowercase>a href/tag/php>PHP/a> span classsep>|/span>a href/tag/cakephp>CakePHP/a> span classsep>|/span>- April 22, 2009// Barry/div>div>p>While working with the date/time input fields in Cake I got tired of having to select 3/6 drop down boxes to choose all of the date/time information and specifically of having to select 3/6 drop down boxes if I decided to clear the date. A little bit of jQuery will clear this right up though./p>/div>/div>div classmb-5>h3 classtext-lg font-medium lowercase leading-none mb-2 flex items-center>a classtext-header-blue href/articles/automatically-loading-your-acl-tables>Automatically loading your ACL tables/a>/h3>div classtag-list text-xs lowercase>a href/tag/php>PHP/a> span classsep>|/span>a href/tag/cakephp>CakePHP/a> span classsep>|/span>- January 27, 2009// Barry/div>div>p>span>If youve spent anytime wanting to use ACL on your applications, you know how tedious it can be to manually enter your entire controller and action structure. This Task will handle finding and loading or updating all of those for you whenever you run it from the command line./span>/p>/div>/div>/section>section classw-full lg:w-1/2 text-sm lg:text-xs idsidebar>div classwidget leading-relaxed>h2 class>Fractional CTO/h2>p>My name is Barry Jones (SAFe SPC, Gitlab PSE) and Brightball is my consulting company. I help companies solve problems across the technical spectrum, from performance optimization to security and organization management./p>p>a hrefhttps://www.linkedin.com/in/brightball targetlinkedin>Contact me on LinkedIn/a> to discuss a consultation for your organization, or a hrefhttps://sessionize.com/brightball/ target_blank>on Sessionize/a> for conference presentations./p>/div>div classwidget>h2>Most Popular/h2>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/reality-driven-development-fixing-project-management-in-software>Reality Driven Development/a>/div>div classtag-list text-xxs>a href/tag/business>Business/a> span classsep>|/span>a href/tag/pairing>Pairing/a> span classsep>|/span>- May 21, 2018/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/comparing-elixir-and-go>Comparing Elixir and Go/a>/div>div classtag-list text-xxs>a href/tag/elixir>Elixir/a> span classsep>|/span>a href/tag/golang>Golang/a> span classsep>|/span>- January 26, 2017// Codeship/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/the-time-i-accidentally-ended-up-combating-fraud-for-a-year>The Time I Accidentally Ended Up Combatting Fraud for a Year/a>/div>div classtag-list text-xxs>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>- February 10, 2023/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/why-should-you-learn-postgresql>Why should you learn PostgreSQL?/a>/div>div classtag-list text-xxs>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- July 21, 2014/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/insanity-with-elixir-phoenix-postgresql>Insanity with Elixir + Phoenix + PostgreSQL/a>/div>div classtag-list text-xxs>a href/tag/elixir>Elixir/a> span classsep>|/span>a href/tag/phoenix>Phoenix/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- July 6, 2016/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/docker-is-the-heroku-killer>Docker is the Heroku Killer/a>/div>div classtag-list text-xxs>a href/tag/docker>Docker/a> span classsep>|/span>a href/tag/heroku>Heroku/a> span classsep>|/span>- May 14, 2014/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/automatically-reversing-account-takeovers>Automatically Reversing Account Takeovers/a>/div>div classtag-list text-xxs>a href/tag/security>Security/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>- July 11, 2022/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/thank-you-tailwindcss>Thank You TailwindCSS/a>/div>div classtag-list text-xxs>a href/tag/phoenix>Phoenix/a> span classsep>|/span>a href/tag/tailwindcss>TailwindCSS/a> span classsep>|/span>a href/tag/design>Design/a> span classsep>|/span>- August 17, 2020/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/no-such-thing-as-real-programming>No such thing as "real programming"/a>/div>div classtag-list text-xxs>a href/tag/business>Business/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>a href/tag/life>Life/a> span classsep>|/span>- July 20, 2015// freeCodeCamp/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/postgresql-functions-with-elixir-ecto>PostgreSQL functions with Elixir Ecto/a>/div>div classtag-list text-xxs>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>a href/tag/elixir>Elixir/a> span classsep>|/span>a href/tag/phoenix>Phoenix/a> span classsep>|/span>- July 27, 2016/div>/div>/div>div classwidget>h2>Recent Presentations/h2>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/security-automation-with-gitlab>Security Automation with Gitlab/a>/div>div classtag-list text-xxs>a href/tag/security>Security/a> span classsep>|/span>a href/tag/devops>DevOps/a> span classsep>|/span>- January 27, 2024// DEF CON 864/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/ansible-and-terraform-the-pb-and-j-of-devops>Ansible + Terraform, the PBJ of DevOps/a>/div>div classtag-list text-xxs>a href/tag/devops>DevOps/a> span classsep>|/span>- October 12, 2021// UCLUG/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/developing-a-layered-email-security-strategy-webinar>Video: Developing a Layered Email Security Strategy Webinar/a>/div>div classtag-list text-xxs>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>- September 23, 2020// dmarcian/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/what-to-expect-when-youre-emailing>What to Expect When You're Emailing/a>/div>div classtag-list text-xxs>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/email>Email/a> span classsep>|/span>- July 20, 2019// Carolina Code Conf/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/repeating-history-with-elixir-again>Repeating History with Elixir...again/a>/div>div classtag-list text-xxs>a href/tag/phoenix>Phoenix/a> span classsep>|/span>a href/tag/elixir>Elixir/a> span classsep>|/span>- July 28, 2018// Carolina Code Conf/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/repeating-history-on-purpose-with-elixir>Repeating History...on Purpose...with Elixir/a>/div>div classtag-list text-xxs>a href/tag/elixir>Elixir/a> span classsep>|/span>a href/tag/phoenix>Phoenix/a> span classsep>|/span>- November 29, 2016// Upstate Elixir/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/go-from-a-php-perspective>Go from a PHP Perspective/a>/div>div classtag-list text-xxs>a href/tag/golang>Golang/a> span classsep>|/span>a href/tag/php>PHP/a> span classsep>|/span>a href/tag/ruby>Ruby/a> span classsep>|/span>- April 16, 2015// Upstate PHP/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/protecting-users-from-phishing-and-fraud>Protecting Users from Phishing and Fraud/a>/div>div classtag-list text-xxs>a href/tag/email>Email/a> span classsep>|/span>a href/tag/dmarc>DMARC/a> span classsep>|/span>a href/tag/dns>DNS/a> span classsep>|/span>a href/tag/security>Security/a> span classsep>|/span>- April 2, 2015// Upstate PHP/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/video-sql-vs-nosql-discussion-at-upstatephp>Video: SQL vs NoSQL Discussion at UpstatePHP/a>/div>div classtag-list text-xxs>a href/tag/nosql>NoSQL/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- September 13, 2014// Upstate PHP/div>/div>div classmt-2 lowercase>div classtext-xs leading-5 >a classtext-brand-navy href/articles/exploring-ruby-on-rails-and-postgresql>Exploring Ruby on Rails and PostgreSQL/a>/div>div classtag-list text-xxs>a href/tag/ruby>Ruby/a> span classsep>|/span>a href/tag/rails>Rails/a> span classsep>|/span>a href/tag/postgresql>PostgreSQL/a> span classsep>|/span>- July 4, 2014// The Ironyard/div>/div>/div>/section>/div>/main>footer classbg-footer-blue>div classmax-w-screen-lg mx-auto text-brand-grey text-xxs md:text-xs py-6 px-2>div classflex justify-between items-center>div>© 2008-2020 Brightball, Inc. All rights reserved. /div>div classflex text-brand-blue>a titleFollow on Twitter targettwitter hrefhttps://twitter.com/brightball classhover:text-brand-orange ml-2>svg roleimg viewBox0 0 24 24 xmlnshttp://www.w3.org/2000/svg classh-6 fill-current>path dM23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z />/svg>/a>a titleConnect on LinkedIn targetlinkedin hrefhttps://www.linkedin.com/in/brightball classhover:text-brand-orange ml-2>svg roleimg viewBox0 0 24 24 xmlnshttp://www.w3.org/2000/svg classh-6 fill-current>path dM20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z />/svg>/a>a titleView presentations on SlideShare hrefhttps://www.slideshare.net/barrywjones3 targetslideshare classhover:text-brand-orange >svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24 classicon-presentation h-6 ml-2 fill-current>path classprimary dM11 18.62l-6.55 3.27a1 1 0 0 1-.9-1.78L11 16.38V5a1 1 0 0 1 2 0v11.38l7.45 3.73a1 1 0 0 1-.9 1.78L13 18.62V21a1 1 0 0 1-2 0v-2.38z />path classsecondary dM21 14a1 1 0 0 1 0 2H3a1 1 0 0 1 0-2V4a1 1 0 1 1 0-2h18a1 1 0 0 1 0 2v10z />/svg>/a>a titleSubscribe with RSS targetrss href/articles.rss classhover:text-brand-orange ml-2>svg roleimg viewBox0 0 24 24 xmlnshttp://www.w3.org/2000/svg classh-6 fill-current>path dM19.199 24C19.199 13.467 10.533 4.8 0 4.8V0c13.165 0 24 10.835 24 24h-4.801zM3.291 17.415c1.814 0 3.293 1.479 3.293 3.295 0 1.813-1.485 3.29-3.301 3.29C1.47 24 0 22.526 0 20.71s1.475-3.294 3.291-3.295zM15.909 24h-4.665c0-6.169-5.075-11.245-11.244-11.245V8.09c8.727 0 15.909 7.184 15.909 15.91z />/svg>/a>/div>/div>/div>/footer>script typetext/javascript> document.querySelector(#menuButton).onclick () > document.querySelector(#mainMenu).classList.toggle(hidden); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]