Skip to content

Instantly share code, notes, and snippets.

@larsen
larsen / fix-double-encode.pl
Created September 27, 2013 08:24
Fix double encoded string
use Encode;
use Encode::DoubleEncodedUTF8;
my $dodgy_utf8 = "Some byte strings from the web/DB with double-encoded UTF-8 bytes";
my $fixed = decode("utf-8-de", $dodgy_utf8); # Fix it
@larsen
larsen / colours.sh
Created September 18, 2013 16:14
iterate terminal colors
for i in {0..255} ; do
printf "\x1b[38;5;${i}mcolour${i}\n"
done
Examining task ID: task_201206131155_0003_m_000009 (and more) from job job_201206131155_0003
Examining task ID: task_201206131155_0003_m_000000 (and more) from job job_201206131155_0003
Examining task ID: task_201206131155_0003_m_000002 (and more) from job job_201206131155_0003
Exception in thread "Thread-147" java.lang.RuntimeException: Error while reading from task log url
at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getErrors(TaskLogProcessor.java:130)
at org.apache.hadoop.hive.ql.exec.JobDebugger.showJobFailDebugInfo(JobDebugger.java:211)
at org.apache.hadoop.hive.ql.exec.JobDebugger.run(JobDebugger.java:81)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://10.84.74.227:9103/tasklog?taskid=attempt_201206131155_0003_m_000002_4&start=-8193
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
package Net::MusixMatch;
use Moose;
use Net::API::Abstract;
extends 'Net::API::Abstract';
set_domain 'http://api.musixmatch.com/ws/1.1/';
using Simple::Auth;
using JSON parser;
api_method 'track' => (
@larsen
larsen / gist:2337396
Created April 8, 2012 13:44
a snippet from Net::MusixMatch implementation
sub get_track {
my $self = shift;
my %params = @_;
return unless $params{ track_id }
|| $params{ track_mbid }
|| $params{ track_echonest_id };
my $result = $self->_call_api( 'track.get', %params );
@larsen
larsen / gist:2336609
Created April 8, 2012 10:56
Using Cassandra's thrift interface, simple example
use strict;
use warnings;
use feature 'say';
use lib 'gen-perl';
use Thrift::XS;
use Thrift::Socket;
use Thrift::FramedTransport;
use Thrift::XS::BinaryProtocol;
@larsen
larsen / gist:2336407
Created April 8, 2012 10:14
Thrift generated Perl code - client get()
sub get{
my $self = shift;
my $key = shift;
my $column_path = shift;
my $consistency_level = shift;
$self->send_get($key, $column_path, $consistency_level);
return $self->recv_get();
}
@larsen
larsen / gist:2336401
Created April 8, 2012 10:11
Thrift generated Perl code
package Cassandra::Column;
use base qw(Class::Accessor);
Cassandra::Column->mk_accessors( qw( name value timestamp ttl ) );
@larsen
larsen / gist:2336390
Created April 8, 2012 10:06
Excerpt from Cassandra's service description in Thrift
struct Column {
1: required binary name,
2: optional binary value,
3: optional i64 timestamp,
4: optional i32 ttl,
}
...
service Cassandra {
use strict;
use warnings;
use feature qw/ say /;
use constant MXM_HM_GROUP => 9604;
use Net::Hiveminder;
use DateTime;