On the Shippable landing page, select your subscription from the Subscriptions dropdown. This should be the subscription where you forked the repository. Click on your GitHub/bitbucket name
click on the Enable Project button. If you have not enabled any projects on Shippable, you will be directly be taken a page which shows a list of your repositories.
Find the Docker-CI-perl project and click on the Enable button. You will be taken to a page which shows that Status as Not built, towards the right of that table there is a build button. Click on that to start a build.
while the build is running you can on the id ( # column ) to look at the console. Once the build is done you can look at the test results.
I have used this perl Docker image
Add a test and push a commit, build is automatically triggered.
You can add integrations to trigger a irc, slack, hipchat message on build
Edit the cpanfile to add your modules
Edit shippable.yml file to add/modify your run options.
I plan to create another post on deployment next. Let me know if you have any questions or need help in setting this up
]]>
#!/usr/bin/perluse strict;
use warnings;
use Net::SMTPS;
use Data::Dumper;my $USERNAME = 'SMTP_Injection';
my $PASSWORD = ''; my $smtps = Net::SMTPS->new("smtp.sparkpostmail.com", Port => 587, doSSL => 'starttls', SSL_version=>'TLSv1');
$smtps->auth ( $USERNAME, $PASSWORD ) or DIE("Could not authenticate with gmail.\n");
#$smtps->mail('
');
$smtps->mail('no-reply@tabletennismatch.com');
$smtps->to('hello@gmail.com');
my $msg ="Subject: Test\r\n".
'To: hello@yourdomain.com'."\r\nFrom: ".'no-reply@tabletennismatch.com'."\r\n\r\n Hello From the other side";
$smtps->data();
$smtps->datasend( $msg );
$smtps->dataend();
$smtps->quit;
Mandrill is shutting down . I was using their service for my domains table tennis match and Brainturk brain games online . I looked at the alternatives and settled with sparkpost . This is the sparkpost example for using perl . It seems simple enough so I asked my employee who is learning perl to try it out . When we ran the example we started getting an error . This example uses Net::SMTP and running it in debug mode gave us this
RCPT TO: <x@mydomain.com>
550 5.7.1 relaying denied
I started digging into this and as per sparkpost documentation, I had to verify DKIM and SPF records and I had only verified my email so I logged in to their web app and they have the option to copy the text required to validate DKIM it is something like this
scph0416._domainkey.tabletennismatch.com v=DKIM ....
I added this to my DNS and clicked on the verify button on their website, and it would complain that the record was not configured properly. After a lot of tries ( each time I have to wait for DNS to propagate), I figured out that I needed to remove the .tabletennismatch.com from the end.
Finally, I was able to verify the domain and then tried running the script, and the error was still the same. I logged in to their slack channel, but there was no one around at that time, so I logged in a support ticket. They did not seem to have anyone with Perl expertise, finally after around 6 emails, someone wrote that So it looks like some of the perl libraries were trying to use SSLv3 which we don't allow due to the POODLE vulnerability , he was using Net::SMTP::SSL and had manually patched it to use SSL v1 ( he pointed out the line number and the change) and he suggested that I use swaks . I used the swaks command line option, and that worked. I decided to wrap the command line option in the code.
I had forgotten about that, and I asked my employee to add it to our code and he said he had done that and asked me to review the code, I looked at the code and was surprised to find that he had used their example and not swaks wrapper. I mentioned that that example was not working, and he said that the test script he sent me had used the following
my $mailer = new Net::SMTP( 'smtp.sparkpostmail.com', port => 587, Debug => 1);
There was a typo on the port he had used port instead of Port and that was causing this error. I changed it to Port, and it worked. That is enough adventure for me.
]]>We have released Brainturk mobile app on the Various app stores
]]>
We have combined Dual N Back with the old snake game which is quiet fun to play.
The next step is we are working on adding touch controls to the games to make it work on mobile devices and we are looking at adding 3d games .
Most of the games are free but you will have to pay to access higher levels , Use this promo code to get 80% discount in case you are interested .
Special thanks to the perl community and CPAN authors for making this easier to develop.
I wanted to use this from my server as well as from Javascript and looking at their libraries for custom generators they have libraries for ( php, python, ruby, node, java , .net ) but no perl library was available.
]]> I looked at the python source and came up with a perl version to generate tokens, I am able to use to use this module to authenticate and add/delete data from perl .To get the data
my $tk="SECRET"; my $custom_data = {'auth_data' => 'foo1', 'other_auth_data'=> 'bar1'}; my $options = {'admin' => 'true'};my $firebase = Firebase::Auth->new ( token =>$tk);
my $token =
$firebase->create_token ( $custom_data, $options );my $ua = Mojo::UserAgent->new;
my $tx2 = $ua->get(
"https://yourfirebase.firebaseio.com/.json" => form
=> {auth => $token} )->res->body;
To post data
my $tk="SECRET"; my $custom_data = {'auth_data' => 'foo1', 'other_auth_data'=> 'bar1'}; my $options = {'admin' => 'true'};]]>my $firebase = Firebase::Auth->new ( token =>$tk);
my $token =
$firebase->create_token ( $custom_data, $options );my $ua = Mojo::UserAgent->new;
my $tx2 = $ua->put(
"https://yourfirebase.firebaseio.com/.json?auth=$token"
=> {DNT => 1} => json => $custom_data )->res->body;
I have been attending a few tech meetups and conferences in bangalore and have interviewed a lot of candidates for my company and in the end I decided to hire programmers who did not know perl and train them since I could not find any one who knew something beyond baby perl.
As far as the perl community in India , here are my thoughts , it seems to be a combination of many things , there are quiet a few good perl programmers in the different parts of the country but if you look at the general programming population
[1] chromatic had replied that India was at that time the second largest in terms of number of visits to perl.com
I have been creating some games in Javascript so thought why not use one of these libraries to use some gestures to play a game .
I have recently started with game programming so did not know where to start . Google led me to Seperating axis theorem but later I stumbled upon this blog and implemented this in Javascript and came up with this initial version of a picture back game here and another variant of the same game . WebRTC is currently enabled in Google chrome and Opera .
Once you click the start button look at the images in the game and if the image on screen is the same as the previous one move your head over to the green circle and if the image is different move it to the red circle .
]]>However I wonder if the reaction would have been different if you had used different wordings like celebrating the women cpan authors. Here is an example , http://perlbuzz.com/2009/03/celebrating-women-in-perl-on-ada-lovelace-day.html.
failed to map segment from shared object: Operation not permitted
Can't load '/tmp/del/Storable-2.30/blib/arch/auto/Storable/Storable.so' for module Storable: /tmp/del/Storable-2.30/blib/arch/auto/Storable/Storable.so: failed to map segment from shared object: Operation not permitted at
The error was due to the fact that I was trying to build and run the tests on a /tmp directory which had noexec enabled , moving to a different directory solved this issue
]]>