SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Blog Hacks 2011
   Kamakura.pm Techtalk #01
          yusukebe
Back to
YAPC::Asia 2010
I said




         Photo by ya-ko http://ya-ko.com/blog/
Blog Hacks




 by naoya and miyagawa
2004   2011
Blog Hacks 2011
“Blog                 Blogging
            Hack
        ” on Blog Hacks (2004)
Blog
MovableType




Blosxom Perl   ...
Hack#01 CSS Framework
‱ Grid Layout
‱ Reset
‱ Font
  Blog
I love Bluetrip!

  Simple Markup
  24-column grid
An empty starter kit
  Cool font style
Markup with Bluetrip
<div class="container">
  <div id="header" class="span-24 large fancy">
    <h1>Welcome!</h1>
  </div>
  <hr />
  <div id="wrapper" class="span-24">
    <div id="content" class="span-17 colborder">
       <h2>This is h2 title.</h2>
       <p>
         description...
       </p>
    </div>
    <div id="side" class="span-6 last">
       <h3 class="thin">Side menu</h3>
    </div>
  </div>
  <hr class="space" />
  <div id="footer" class="span-24">
    <hr />
    <address>Here is footer</address>
  </div>
</div>
Hack#02   iPhone
use Media Queries
/* media queries */
@media only screen and (max-width: 479px) {
    body { margin: 1.5em; }
    #header h1 { font-size: 200% }
    #content { font-size: 170%;
               line-height: 1.5em; }
    pre { overflow:auto; }
}
Hack#03 YouTube
YouTube Data API




   JW Player
var url = 'http://gdata.youtube.com/feeds/api/videos?'
          + 'author=yusukebe&v=2&alt=jsonc&callback=?';

$.getJSON(url,function(json){
    var playlist = new Array();
    $.each(json.data.items,function(){
        var video = {
            file : 'http://www.youtube.com/watch?v='
                    + this.id,
            title : this.title,
            description : this.description
        };
        playlist.push(video);
    });
    play(playlist);
});
function play(list){
    jwplayer('player').setup({
        'flashplayer': 'player.swf',
        'id': 'playerID',
        'width': '950',
        'height': '400',
        'playlist.position': 'right',
        'playlist.size': '440',
        'controlbar': 'bottom',
        'playlist': list
    });
}
Hack#04
Perl
MovableType



                           Mova
                               bleTy
                                     pe Plu
                                            gin
    pre
 Text::VimColor




          Text::VimColor        CSS
package MT::Plugin::VimColor;
use Text::VimColor;
use HTML::Entities qw/decode_entities/;
use MT::Template::Context;

MT::Template::Context->add_global_filter(vim_color => &highlight );

sub highlight {
    my $text = shift;
    my @codes = $text =~ m!<pre.*?>(.+?)</pre>!igms;
    for my $code (@codes) {
        my $syntax = Text::VimColor->new(
            string    => decode_entities($code),
            filetype => 'perl'
        );
        my $new_code = $syntax->html;
        $text =~ s/Q$codeE/$new_code/;
    }
    return $text;
}

1;
Hack#05 pubsubhubbub
pubsubhubbub
AnyE
              ven t::Fee
                         d




         AnyE
             vent::
                    HTTP
pubsubhubbub
use URI::Escape;
use AnyEvent;
use AnyEvent::HTTP;
use AnyEvent::Feed;
my $cv           = AnyEvent->condvar;
my $feed_reader = AnyEvent::Feed->new(
    url       => 'yourfeedurl',
    interval => 10,
    on_fetch => sub {
        my ( $feed_reader, $new_entries, $feed, $error ) = @_;
        if ( defined $error ) {
            warn "ERROR: $errorn";
            return;
        }
        publish_pings();
    }
);
$cv->recv;
sub publish_pings {
    my %form = (
         "hub.mode" => 'publish',
         "hub.url" => 'yourfeedurl',
    );
    my $body = join "&",
       map { "$_=" . URI::Escape::uri_escape( $form{$_} ) }
           keys %form;
    for my $hub (
         qw( http://pubsubhubbub.appspot.com ))
    {
         http_post $hub, $body, sub {
             warn "$hub:$_[1]->{Status}";
           }
    }
}


                                 ref: http://github.com/miyagawa/cpan-realtime-bot
★DISQUS
★Facebook
★Blosxom CMS
★          Blog
Enjoy Hacking Blog
      and ...
“Keep on Blogging”
       by

Weitere Àhnliche Inhalte

Was ist angesagt?

PerlでWeb APIć…„é–€
PerlでWeb APIć…„é–€PerlでWeb APIć…„é–€
PerlでWeb APIć…„é–€Yusuke Wada
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete:  Web Application with Mojolicious and othersInside Bokete:  Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and othersYusuke Wada
 
Mojo as a_client
Mojo as a_clientMojo as a_client
Mojo as a_clientMarcus Ramberg
 
Developing apps using Perl
Developing apps using PerlDeveloping apps using Perl
Developing apps using PerlAnatoly Sharifulin
 
Perl web frameworks
Perl web frameworksPerl web frameworks
Perl web frameworksdiego_k
 
Webrtc mojo
Webrtc mojoWebrtc mojo
Webrtc mojobpmedley
 
Mojolicious on Steroids
Mojolicious on SteroidsMojolicious on Steroids
Mojolicious on SteroidsTudor Constantin
 
Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101hendrikvb
 
Mojolicious - A new hope
Mojolicious - A new hopeMojolicious - A new hope
Mojolicious - A new hopeMarcus Ramberg
 
Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!
Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!
Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!Anatoly Sharifulin
 
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web frameworktaggg
 
20 modules i haven't yet talked about
20 modules i haven't yet talked about20 modules i haven't yet talked about
20 modules i haven't yet talked aboutTatsuhiko Miyagawa
 
Asynchronous programming patterns in Perl
Asynchronous programming patterns in PerlAsynchronous programming patterns in Perl
Asynchronous programming patterns in Perldeepfountainconsulting
 
16.mysql stored procedures in laravel
16.mysql stored procedures in laravel16.mysql stored procedures in laravel
16.mysql stored procedures in laravelRazvan Raducanu, PhD
 
Decoupling Objects With Standard Interfaces
Decoupling Objects With Standard InterfacesDecoupling Objects With Standard Interfaces
Decoupling Objects With Standard InterfacesThomas Weinert
 
Slim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutVic Metcalfe
 
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Arc & Codementor
 
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkJeremy Kendall
 
Add loop shortcode
Add loop shortcodeAdd loop shortcode
Add loop shortcodePeter Baylies
 

Was ist angesagt? (20)

PerlでWeb APIć…„é–€
PerlでWeb APIć…„é–€PerlでWeb APIć…„é–€
PerlでWeb APIć…„é–€
 
Perl5i
Perl5iPerl5i
Perl5i
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete:  Web Application with Mojolicious and othersInside Bokete:  Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
 
Mojo as a_client
Mojo as a_clientMojo as a_client
Mojo as a_client
 
Developing apps using Perl
Developing apps using PerlDeveloping apps using Perl
Developing apps using Perl
 
Perl web frameworks
Perl web frameworksPerl web frameworks
Perl web frameworks
 
Webrtc mojo
Webrtc mojoWebrtc mojo
Webrtc mojo
 
Mojolicious on Steroids
Mojolicious on SteroidsMojolicious on Steroids
Mojolicious on Steroids
 
Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101
 
Mojolicious - A new hope
Mojolicious - A new hopeMojolicious - A new hope
Mojolicious - A new hope
 
Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!
Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!
Mojolicious. ВДб ĐČ ĐșĐŸŃ€ĐŸĐ±ĐșĐ”!
 
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web framework
 
20 modules i haven't yet talked about
20 modules i haven't yet talked about20 modules i haven't yet talked about
20 modules i haven't yet talked about
 
Asynchronous programming patterns in Perl
Asynchronous programming patterns in PerlAsynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
 
16.mysql stored procedures in laravel
16.mysql stored procedures in laravel16.mysql stored procedures in laravel
16.mysql stored procedures in laravel
 
Decoupling Objects With Standard Interfaces
Decoupling Objects With Standard InterfacesDecoupling Objects With Standard Interfaces
Decoupling Objects With Standard Interfaces
 
Slim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and Knockout
 
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
 
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro framework
 
Add loop shortcode
Add loop shortcodeAdd loop shortcode
Add loop shortcode
 

Ähnlich wie Blog Hacks 2011

é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„
é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„
é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„Hisateru Tanaka
 
Using WordPress as your application stack
Using WordPress as your application stackUsing WordPress as your application stack
Using WordPress as your application stackPaul Bearne
 
Becoming a better WordPress Developer
Becoming a better WordPress DeveloperBecoming a better WordPress Developer
Becoming a better WordPress DeveloperJoey Kudish
 
Using Geeklog as a Web Application Framework
Using Geeklog as a Web Application FrameworkUsing Geeklog as a Web Application Framework
Using Geeklog as a Web Application FrameworkDirk Haun
 
PhpBB meets Symfony2
PhpBB meets Symfony2PhpBB meets Symfony2
PhpBB meets Symfony2Fabien Potencier
 
Web::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTPWeb::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTPMichael Francis
 
Zendcon 2007 Api Design
Zendcon 2007 Api DesignZendcon 2007 Api Design
Zendcon 2007 Api Designunodelostrece
 
Perl web app 테슀튞전랔
Perl web app 테슀튞전랔Perl web app 테슀튞전랔
Perl web app 테슀튞전랔Jeen Lee
 
Modern Web Development with Perl
Modern Web Development with PerlModern Web Development with Perl
Modern Web Development with PerlDave Cross
 
Operation Oriented Web Applications / Yokohama pm7
Operation Oriented Web Applications / Yokohama pm7Operation Oriented Web Applications / Yokohama pm7
Operation Oriented Web Applications / Yokohama pm7Masahiro Nagano
 
WordPress Cuztom Helper
WordPress Cuztom HelperWordPress Cuztom Helper
WordPress Cuztom Helperslicejack
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
Symfony2 - OSIDays 2010
Symfony2 - OSIDays 2010Symfony2 - OSIDays 2010
Symfony2 - OSIDays 2010Fabien Potencier
 
2014 database - course 2 - php
2014 database - course 2 - php2014 database - course 2 - php
2014 database - course 2 - phpHung-yu Lin
 
Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12Michelangelo van Dam
 
WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3Mizanur Rahaman Mizan
 
DBIx::Skinnyずä»Č間たち
DBIx::Skinnyずä»Č間たちDBIx::Skinnyずä»Č間たち
DBIx::Skinnyずä»Č間たちRyo Miyake
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) ThemingPINGV
 
GettingStartedWithPHP
GettingStartedWithPHPGettingStartedWithPHP
GettingStartedWithPHPNat Weerawan
 

Ähnlich wie Blog Hacks 2011 (20)

é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„
é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„
é–ąè„żPHPć‹‰ćŒ·äŒš php5.4ă€ăŸăżăă„
 
Perl Web Client
Perl Web ClientPerl Web Client
Perl Web Client
 
Using WordPress as your application stack
Using WordPress as your application stackUsing WordPress as your application stack
Using WordPress as your application stack
 
Becoming a better WordPress Developer
Becoming a better WordPress DeveloperBecoming a better WordPress Developer
Becoming a better WordPress Developer
 
Using Geeklog as a Web Application Framework
Using Geeklog as a Web Application FrameworkUsing Geeklog as a Web Application Framework
Using Geeklog as a Web Application Framework
 
PhpBB meets Symfony2
PhpBB meets Symfony2PhpBB meets Symfony2
PhpBB meets Symfony2
 
Web::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTPWeb::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTP
 
Zendcon 2007 Api Design
Zendcon 2007 Api DesignZendcon 2007 Api Design
Zendcon 2007 Api Design
 
Perl web app 테슀튞전랔
Perl web app 테슀튞전랔Perl web app 테슀튞전랔
Perl web app 테슀튞전랔
 
Modern Web Development with Perl
Modern Web Development with PerlModern Web Development with Perl
Modern Web Development with Perl
 
Operation Oriented Web Applications / Yokohama pm7
Operation Oriented Web Applications / Yokohama pm7Operation Oriented Web Applications / Yokohama pm7
Operation Oriented Web Applications / Yokohama pm7
 
WordPress Cuztom Helper
WordPress Cuztom HelperWordPress Cuztom Helper
WordPress Cuztom Helper
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
Symfony2 - OSIDays 2010
Symfony2 - OSIDays 2010Symfony2 - OSIDays 2010
Symfony2 - OSIDays 2010
 
2014 database - course 2 - php
2014 database - course 2 - php2014 database - course 2 - php
2014 database - course 2 - php
 
Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12
 
WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3
 
DBIx::Skinnyずä»Č間たち
DBIx::Skinnyずä»Č間たちDBIx::Skinnyずä»Č間たち
DBIx::Skinnyずä»Č間たち
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) Theming
 
GettingStartedWithPHP
GettingStartedWithPHPGettingStartedWithPHP
GettingStartedWithPHP
 

Mehr von Yusuke Wada

ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚č達
ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚čé”ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚č達
ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚č達Yusuke Wada
 
ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹
ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹
ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹Yusuke Wada
 
東äșŹè„±ć‡ș蚈画䞭
東äșŹè„±ć‡ș蚈画䞭東äșŹè„±ć‡ș蚈画䞭
東äșŹè„±ć‡ș蚈画䞭Yusuke Wada
 
Extreme remote working
Extreme remote workingExtreme remote working
Extreme remote workingYusuke Wada
 
Podcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPAN
Podcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPANPodcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPAN
Podcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPANYusuke Wada
 
ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01
ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01
ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01Yusuke Wada
 
It's not only about "REMOTE"
It's not only about "REMOTE"It's not only about "REMOTE"
It's not only about "REMOTE"Yusuke Wada
 
äș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚č
äș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚čäș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚č
äș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚čYusuke Wada
 
Google BigQueryă‚’äœżăŁăŠăżăŸïŒ
Google BigQueryă‚’äœżăŁăŠăżăŸïŒGoogle BigQueryă‚’äœżăŁăŠăżăŸïŒ
Google BigQueryă‚’äœżăŁăŠăżăŸïŒYusuke Wada
 
Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€
Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€
Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€Yusuke Wada
 
べある Perl Monger ぼ惍きæ–č
べある Perl Monger ぼ惍きæ–čべある Perl Monger ぼ惍きæ–č
べある Perl Monger ぼ惍きæ–čYusuke Wada
 
5 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 20145 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 2014Yusuke Wada
 
Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“
Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“
Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“Yusuke Wada
 
The master plan of scaling a web application
The master plan ofscaling a web applicationThe master plan ofscaling a web application
The master plan of scaling a web applicationYusuke Wada
 
そぼWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸ
そぼWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸăăźWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸ
そぼWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸYusuke Wada
 
Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€
Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€
Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€Yusuke Wada
 
10 things to learn from Bokete
10 things to learn from Bokete10 things to learn from Bokete
10 things to learn from BoketeYusuke Wada
 
ćƒ•ă‚‰ăźć±„æ­Žæ›ž
ćƒ•ă‚‰ăźć±„æ­Žæ›žćƒ•ă‚‰ăźć±„æ­Žæ›ž
ćƒ•ă‚‰ăźć±„æ­Žæ›žYusuke Wada
 
惕らがWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5぀た理由
惕らがWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5ă€ăźç†ç”±ćƒ•ă‚‰ăŒWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5぀た理由
惕らがWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5぀た理由Yusuke Wada
 
ćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠ
ćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠ
ćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠYusuke Wada
 

Mehr von Yusuke Wada (20)

ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚č達
ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚čé”ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚č達
ćƒ•ăŒă€ăăŁăŸ 70怋ぼうちぼ48怋ぼWebă‚”ăƒŒăƒ“ă‚č達
 
ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹
ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹
ă‚čッずGoă‚’ć–ă‚Šć…„ă‚Œă‚‹
 
東äșŹè„±ć‡ș蚈画䞭
東äșŹè„±ć‡ș蚈画䞭東äșŹè„±ć‡ș蚈画䞭
東äșŹè„±ć‡ș蚈画䞭
 
Extreme remote working
Extreme remote workingExtreme remote working
Extreme remote working
 
Podcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPAN
Podcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPANPodcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPAN
Podcastă‚’æ”Żăˆă‚‹æŠ€èĄ“ă€ă‚šăƒłă‚žăƒ‹ă‚ąăźăŸă‚ăźWebメディケ、そしどCPAN
 
ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01
ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01
ć‰”é€ ăźăƒ—ăƒ­ă‚»ă‚čă‚’ć›žă›ïŒv0.01
 
It's not only about "REMOTE"
It's not only about "REMOTE"It's not only about "REMOTE"
It's not only about "REMOTE"
 
äș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚č
äș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚čäș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚č
äș‹æ•…ă‹ă‚‰ăŻă˜ăŸă‚‹ă‚čă‚±ăƒŒăƒ«ăƒăƒŁăƒłă‚č
 
Google BigQueryă‚’äœżăŁăŠăżăŸïŒ
Google BigQueryă‚’äœżăŁăŠăżăŸïŒGoogle BigQueryă‚’äœżăŁăŠăżăŸïŒ
Google BigQueryă‚’äœżăŁăŠăżăŸïŒ
 
Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€
Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€
Webă‚”ăƒŒăƒ“ă‚čăźă‚łăƒłăƒ†ăƒłăƒ„ăƒ‘ă‚żăƒŒăƒł æˆ–ă„ăŻăƒ‡ăƒŒă‚żăźæŽ»âœ€
 
べある Perl Monger ぼ惍きæ–č
べある Perl Monger ぼ惍きæ–čべある Perl Monger ぼ惍きæ–č
べある Perl Monger ぼ惍きæ–č
 
5 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 20145 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 2014
 
Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“
Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“
Podcastă‚’ă‚«ă‚žăƒ„ă‚ąăƒ«ă« æ”Żăˆă‚‹æŠ€èĄ“
 
The master plan of scaling a web application
The master plan ofscaling a web applicationThe master plan ofscaling a web application
The master plan of scaling a web application
 
そぼWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸ
そぼWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸăăźWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸ
そぼWebă‚”ăƒŒăƒ“ă‚čăŻæœŹćœ“ă«ă€Œă‚ăŸă‚ŠăŸăˆă€ă ăŁăŸăźă‹ïŒŸ
 
Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€
Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€
Mojoliciousă§ă€ăă‚‹ïŒ WebケプăƒȘć…„é–€
 
10 things to learn from Bokete
10 things to learn from Bokete10 things to learn from Bokete
10 things to learn from Bokete
 
ćƒ•ă‚‰ăźć±„æ­Žæ›ž
ćƒ•ă‚‰ăźć±„æ­Žæ›žćƒ•ă‚‰ăźć±„æ­Žæ›ž
ćƒ•ă‚‰ăźć±„æ­Žæ›ž
 
惕らがWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5぀た理由
惕らがWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5ă€ăźç†ç”±ćƒ•ă‚‰ăŒWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5぀た理由
惕らがWebă‚”ăƒŒăƒ“ă‚čă‚’ă€ăă‚‹5぀た理由
 
ćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠ
ćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠ
ćƒ•ă‚‰ă‹ă‚™ă€ăă‚‹ăŸă‚ăź 「5Wă€ă«ă€ă„ăŠ
 

KĂŒrzlich hochgeladen

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

KĂŒrzlich hochgeladen (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Blog Hacks 2011

  • 1. Blog Hacks 2011 Kamakura.pm Techtalk #01 yusukebe
  • 2.
  • 3.
  • 5. I said Photo by ya-ko http://ya-ko.com/blog/
  • 6. Blog Hacks by naoya and miyagawa
  • 7. 2004 2011
  • 8. Blog Hacks 2011 “Blog Blogging Hack ” on Blog Hacks (2004)
  • 11.
  • 13. ‱ Grid Layout ‱ Reset ‱ Font Blog
  • 14. I love Bluetrip! Simple Markup 24-column grid An empty starter kit Cool font style
  • 16. <div class="container"> <div id="header" class="span-24 large fancy"> <h1>Welcome!</h1> </div> <hr /> <div id="wrapper" class="span-24"> <div id="content" class="span-17 colborder"> <h2>This is h2 title.</h2> <p> description... </p> </div> <div id="side" class="span-6 last"> <h3 class="thin">Side menu</h3> </div> </div> <hr class="space" /> <div id="footer" class="span-24"> <hr /> <address>Here is footer</address> </div> </div>
  • 17.
  • 18. Hack#02 iPhone
  • 20. /* media queries */ @media only screen and (max-width: 479px) { body { margin: 1.5em; } #header h1 { font-size: 200% } #content { font-size: 170%; line-height: 1.5em; } pre { overflow:auto; } }
  • 21.
  • 22.
  • 24.
  • 25. YouTube Data API JW Player
  • 26. var url = 'http://gdata.youtube.com/feeds/api/videos?' + 'author=yusukebe&v=2&alt=jsonc&callback=?'; $.getJSON(url,function(json){ var playlist = new Array(); $.each(json.data.items,function(){ var video = { file : 'http://www.youtube.com/watch?v=' + this.id, title : this.title, description : this.description }; playlist.push(video); }); play(playlist); });
  • 27. function play(list){ jwplayer('player').setup({ 'flashplayer': 'player.swf', 'id': 'playerID', 'width': '950', 'height': '400', 'playlist.position': 'right', 'playlist.size': '440', 'controlbar': 'bottom', 'playlist': list }); }
  • 28.
  • 29.
  • 31. MovableType Mova bleTy pe Plu gin pre Text::VimColor Text::VimColor CSS
  • 32. package MT::Plugin::VimColor; use Text::VimColor; use HTML::Entities qw/decode_entities/; use MT::Template::Context; MT::Template::Context->add_global_filter(vim_color => &highlight ); sub highlight { my $text = shift; my @codes = $text =~ m!<pre.*?>(.+?)</pre>!igms; for my $code (@codes) { my $syntax = Text::VimColor->new( string => decode_entities($code), filetype => 'perl' ); my $new_code = $syntax->html; $text =~ s/Q$codeE/$new_code/; } return $text; } 1;
  • 33.
  • 34.
  • 37. AnyE ven t::Fee d AnyE vent:: HTTP pubsubhubbub
  • 38. use URI::Escape; use AnyEvent; use AnyEvent::HTTP; use AnyEvent::Feed; my $cv = AnyEvent->condvar; my $feed_reader = AnyEvent::Feed->new( url => 'yourfeedurl', interval => 10, on_fetch => sub { my ( $feed_reader, $new_entries, $feed, $error ) = @_; if ( defined $error ) { warn "ERROR: $errorn"; return; } publish_pings(); } ); $cv->recv;
  • 39. sub publish_pings { my %form = ( "hub.mode" => 'publish', "hub.url" => 'yourfeedurl', ); my $body = join "&", map { "$_=" . URI::Escape::uri_escape( $form{$_} ) } keys %form; for my $hub ( qw( http://pubsubhubbub.appspot.com )) { http_post $hub, $body, sub { warn "$hub:$_[1]->{Status}"; } } } ref: http://github.com/miyagawa/cpan-realtime-bot
  • 40.