Posts by John Garcia
This week's tip comes from the Bamboo documentation, with some extra explanation provided by Rafael from the Bamboo support team. We always recommend taking the steps to secure publicly-accessible hosts to prevent unauthorized access or packet capture.
A new tip of the week comes to us from Todd, who wants to remind us that valuable log files can be obliterated during some events. Be sure to keep them safe!
Last week, we had an amazing 10th anniversary meetup for Mercurial! Sean Farley invited Facebook's Ryan McElroy told us about an exciting open source extension to Mercurial that the team at Facebook has been using for some time now. As with most commercial software endeavors, the code base at Facebook grows every day, and as a result specific operations can be time consuming. You can watch the talk here, or read my summary below.
Speaking at a conference is an important opportunity! Getting selected for a session, then writing and delivering a compelling presentation, can be a daunting and nerve-wracking task. I've collected my insights to help rookie Advocates understand the process of securing an opportunity and delivering a quality talk. Presentations at conferences are a key chance to build your portfolio as a developer, get review for your research or product ideas, foment excitement for a new product or service offering, and have a great time meeting other technical folks. Read on for insights into my experience as a speaker at this year's Git Merge in Paris.
Forewarned is forearmed, or so the saying goes. This means in the event of an incident, it's always best to have as much logging information available for diagnosis and remediation as is reasonable.
During my tour of duty providing support for our Tomcat and Java based behind-the-firewall apps, a common concern was the effect of updating Java or the JVM in the host after installing the product, and how it may affect a running production system. As some operating systems will auto-update system libraries such as Java with little notice, this risks loss of service from mission-critical apps in the unlikely case of a Java breaking change. Another common scenario that comes up is a case where a specific Java version is required for the app, which may not match the default version installed in the host. In this case, we'll want to specify a Java path to override any environment variable set at the host level to ensure consistent app behaviour. Finally, admins who wish to deploy multiple apps that require different versions of Java will be able to invoke them on the same host, each with the correct JVM.
As our repositories grow large and complicated, it can seem impossible to find
when specific strings of text were introduced to the repository. While the
blame command does great for showing you the most recent modification of
the line, how do we find the earliest, especially considering that line
numbers shift as commits and merges happen?
In the US offices of Atlassian, we're celebrating Pi Day tomorrow, 3/14/15, by installing Atlassian Stash onto a Raspberry Pi 2. Like many engineers with a background in embedded systems, I am gobsmacked to hear that the new Raspberry Pi 2 provides a full gig of RAM and a proper quad-core processor for USD 35, and I could hardly wait to try it out with a commercial Java app! With a slim five watt power requirement and solid state construction, it's an incredible value. If you are ever called to send DVCS on a rocketship to the moon, you will be hard pressed to find a more suitable candidate.
In this installment of our video podcast DevDen Open Office Hours, we discuss our migration to a new blogging platform and its implications at merge time, the Better Pull Request blog, some advice for handling conflicts for newbies to Git, and other exciting topics.
It's been an incredibly busy year here at Bitbucket! We've served more active users, made more improvements, rolled out more features, and fixed more bugs than ever before. To commemorate the year that was, I've visualized our Git log using the Gource log visualization system to give you something to look at while your code is compiling. You can read about how I made the magic happen below the video.