YAPC::NA 2014, Day Two
YAPC::NA 2014 (in Orlando, FL) continues after a brief interruption for sleep … see my previous post for the beginning of the story. And now, the exciting middle of our story:
This time I’m giving you a much less chronological treatment; instead, we’re starting with the biggest impression, then moving on to less gripping but still important items. Remember, all talks are available at YouTube.
Charles Stross on the Future of Perl
The second day concluded with a keynote speaker from another Perl celebrity, author Charles Stross. Stross is no stranger to me, as I’ve read a book or two from his published works. (Hearing him speak will prompt me add a few to my Amazon wish list.) Stross has worked as a programmer (or as he put it, “I have been paid to argue with computers”) but nowadays he is entirely a writer of science fiction (or, “I tell lies for money”).
His talk was a futurist’s view of the Internet of Things, computer programming, and Perl. He noted that most technologies (e.g., railroads) go through a kind of sigmoid curve, which in computer technology has been called “Moore’s Law”, but which Stross feels is about to be shown to be no longer in effect, due to physical …
conference perl
Liquid Galaxy Technology Showcase at Situation Interactive
Situation Interactive hosted its first Annual Tech Showcase on June 10th to continue its ongoing event series that promotes innovation through community collaboration.
End Point Liquid Galaxy was chosen to be one of three technology companies to show off its interactive display platform to Situation’s internal staff and a select group of clients. We were selected as a company that represents an exciting innovative technology. Our presentation focused on the various features of the Liquid Galaxy, including:
- Google Earth navigation with digital content overlays
- Panoramic photography and videos using krPano
- 3D modeling within Google Earth
- Customized tours
As you can see in the photos below, participants were able to view any part of Google Earth, pano photos, and even the interior of leading museums and coral reefs (as Google Street View expands beyond just the sidewalks).
This Tech Showcase gave us an opportunity to show off these new features of the Liquid Galaxy to potential partners and clients. We are always happy to work with our friends at Situation, who have been our longstanding clients for a few years now. We look forward to growing our relationships with other creative …
visionport
Laziness is a virtue
Laziness is a virtue. Blessed Saint Larry told me so. And yet I am of little faith …
Here I was, banging my head on the keyboard, trying to solve a vertical alignment issue. (The following is a bit simplified for presentation here.)
<td>
<ul class="floaty">
<li> Item 1</li>
<li> Item 2</li>
</ul>
<div class="sticky">
blah blah blah
</div>
</td>
The <ul> element was supposed to float to the right of the cell, and its individual <li> elements also floated, so that the list would fill up from right to left as more items were added:
One item:
- 1
Two items:
- 1
- 2
Three items:
- 1
- 2
- 3
etc., while the “sticky” div was supposed to stay on the left. The challenge was when the div got too tall, or the number of list items caused it to wrap around to a new row; the vertical alignment to keep everything nice and centered is probably achievable in CSS, but I decided to be lazy:
<td style="vertical-align: middle">
<div class="sticky">
blah blah blah
</div>
</td>
<td style="vertical-align: middle">
<ul class="floaty">
<li> …
css html
Version 5 of Bucardo database replication system
Bucardo 5, the next generation of the async multimaster replication system, has been released. This major release removes the previous two source database limitation, allowing you to have as many sources (aka masters) and as many targets (aka slaves) as you wish. Bucardo can also replicate to other targets, including MySQL, MariaDB, Oracle, SQLite, MongoDB, and Redis. Bucardo has been completely rewritten and is more powerful and efficient than the previous version, known as Bucardo 4. You can always find the latest version here.
This article will show a quick demonstration of Bucardo. Future posts will explore its capabilities further: for now, we will show how easy it is to get basic multimaster replication up and running.
For this demo, I used a quick and disposable server from Amazon Web Services (AWS, specifically a basic t1.micro server running Amazon Linux). If you want to follow along, it’s free and simple to create your own instance. Once it is created and you have SSH’ed in as the ec2-user account, we can start to install PostgreSQL and Bucardo.
# Always a good idea:
$ sudo yum update
# This also installs other postgresql …
bucardo database postgres replication mongodb mysql
YAPC::NA 2014, Day One
YAPC (Yet Another Perl Conference) is an annual gathering of Perl developers (and non-developers) to talk about Perl: how to do it, how to get other people to do it, and how we will all be doing it next year (or decade, if all goes well). There are flavors of YAPC set in North America, Europe, etc.
I attended my first-ever starting in Orlando, FL today (which apparently makes me a VIP—Very Important Perl-user, as the community stands on its head the idea that the old fogies are the important people—it’s the new blood at the conference that gets them all excited).
In no particular order, here’s what I remember of my whirlwind tour of YAPC::NA, Day One.
We were welcomed by Chris Prather, and informed that the conference would be live-streamed on the “yapcna” YouTube channel. Those videos are already up here, so you can follow along or take a detour to the several talks I had to miss.
Dan Wright, treasurer for the Perl Foundation, gave an overview of that virtuous organization’s activities for the past year. Basically, they are the most visible philanthropic facet of the Perl community, giving grants to (among other things) support developers who are engaged in fundamental Perl …
conference perl
Liquid Galaxy engineer job opening
This position has been filled. See our active job listings here.
We are looking for a full-time, salaried engineer to help us further develop our software, infrastructure, and hardware integration for the Liquid Galaxy created by Google. Liquid Galaxy is an impressive panoramic system for Google Earth and other applications.
What is in it for you?
- Work from your home office, or from our offices in New York City or Tennessee (Tri-Cities area)
- Flexible full-time work hours
- Benefits including health insurance and 401(k) retirement savings plan
- Annual bonus opportunity
- Ability to move without being tied to your job location
What you will be doing:
- Develop new software involving panoramic video, Google Earth, content management, Interactive Spaces, and ROS (Robot Operating System)
- Improve the system with automation, monitoring, and customizing configurations to customers’ needs
- Provide remote and occasional on-site troubleshooting and support for Liquid Galaxy at customer locations
- Build tours and supporting tools for emerging markets
What you will need:
- Strong programming experience with Java, Python, C/C++, Ruby, Perl, and/or shell
- Experience with automation tools such as Chef, Ansible, Salt, and Puppet
- Linux system administration skills
- Sharp …
jobs-closed visionport
SELinux, PHP and FTP issues
Sometimes it feels like working with SELinux is much like playing Wack-A-Mole. You manage to squash a bug/issue and another one appears elsewhere.
A similar situation happened to one of our customers when he tried connecting via FTP from his PHP code (through Apache).
After much debugging and a lot more Google-ing it turned out it was just a matter of enabling the right SELinux boolean setting.
In order to verify that it really was SELinux fault, we usually keep an eye on the “/var/log/audit/audit.log” log file and then temporarily set SELinux to “Permissive” with:
setenforce 0
In our case things started working as expected so we knew that it was SELinux fault, though we had no “AVC (denial)” error in the audit.log file, neither in Enforce nor in Permissive.
When this kind of situations happens it’s usually a matter of finding which SELinux booleans needs to be toggled.
To discover which SELinux booleans is blocking the wanted behavior we need to temporarily disable the “dontaudit” setting by using:
semodule -DB
and then continue looking at the audit.log file. In our case we found that the interested setting was “httpd_can_network_connect”.
First we verified that it really was set …
apache redhat php selinux
DAD Trouble
I never thought I’d say it, but these days technology is simply moving too fast for DAD. It’s just the way it is. Of course it’s not DAD’s fault, it’s just the world doesn’t want to wait.
Before I get to that, I want to mention some trouble we’d recently started seeing with nginx failing to start on boot. It’s just been on our most recently obtained servers, both Debian-based (including Ubuntu) and RHEL-based installations. Some were Linode VM’s, others were bare metal hardware systems. After boot and once we got in to try and see what was happening, nginx would happily start manually. The only clue was one line that had been left in the error log:
2014/06/14 23:33:20 [emerg] 2221#0: bind() to [2607:f0d0:2001:103::8]:80 failed (99: Cannot assign requested address)
And it wasn’t just nginx; Apache httpd in one instance gave us similar trouble:
Starting httpd: (99)Cannot assign requested address: make_sock: could not bind to address [2600:3c00::f03c:91ff:fe73:687f]:80
no listening sockets available, shutting down
As an interim fix, since at the moment these systems only had one IPv6 each, we told nginx or httpd to listen on all addresses. But not liking to leave a mystery unsolved, …
apache ipv6 nginx sysadmin