Category: Uncategorized

  • UTF-8 substr fot PHP

    “[Pulling] out an arbitrary substring which happens to cut a 2 byte UTF-8 sequence breaks the string;

    <?php
    header ('Content-type: text/html; charset=utf-8');
     
    $haystack = 'Iñtërnâtiônàlizætiøn';
     
    // Position 13 is in the middle of the ô char
    $substr = substr($haystack, 0, 13);
     
    print "Substr: $substr<br>";

    $substr now contains badly formed UTF-8 and your browser should display something wierd as a result (probably a ?)”

    Handling UTF-8 with PHP”
    phpwact.org

    a comment moved due to layout issues

    To go around this limitation, I used the following replacement substr code, which I extracted from “UTF-8 friendly replacement functions” v0.2, by Niels Leenheer & Andy Matsubara. For some reason, at the time of writing this, Google only seems to find a PDF version of this document.

    function substr($str, $start , $length = NULL) {
    
                 preg_match_all('/[\x01-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF][\x80-\xBF]/', $str, $arr);
    
                 if (is_int($length))
    
                       return implode('', array_slice($arr[0], $start, $length));
    
                 else
    
                       return implode('', array_slice($arr[0], $start));
    
          }
  • Subtitle timings for .srt's with ProjectX

    Afterdawn’s ProjectX guide told me to select re-build TTX-PTS from 1st MpgAudio stream… in the PreSettings, so I did, and voilá! Now I don’t have to time the subtitles manually with VisualSubSync anymore. What a waste of effort that proved to be!

  • freenigma

    Freenigma promises to provide encryption for major webmail services such as GMail, Yahoo! Mail and Hotmail, using a simple to set-up Firefox extension. (Via Killinki)

  • IE7 on viimeistä silausta vaille valmis

    Microsoft julkisti tiistaina Internet Explorer 7 -selaimesta Release Candidate 1 -version, jonka pitäisi vastata ominaisuuksiltaan kuluvan vuoden aikana markkinoille tulevaa, lopullista tuotantoversiota. RC1-versio on vapaasti halukkaiden saatavilla Microsoftin sivujen tai automaattisen päivityspalvelun kautta.

    Tietoviikko

    IE:n suomenkielisillä sivuilla ollaan tämän kirjoitushetkellä vielä versiossa Beta 3, eikä RC1 ole myöskään tarjolla Windows Updaten valinnaisten päivitysten joukossa. Microsoft.comin IE-sivustolta se siis kuitenkin jo löytyy, mitä ilmeisimmin englanninkielisenä. En ole koeasentanut sitä, odotan suomenkielistä versiota.

  • Theme Switcher: fixing the theme editor breakage

    Version 2.0 of Mr Peer’s Theme Switcher is would be perfect, if it weren’t for the unfortunate breaking of WordPress’ built-in theme editor, causing all requests to open files for editing be redirected to the home page. The problem seems to be the theme parameter, which is used by both the built-in editor and Theme Switcher.

    Fixing this issue seemed to be as simple as replacing all isolated mentionings of theme in the plugin source with a new, non-ambiguous keyword. I chose switchto, and the resulting code is available behind the previous link.

    So, the parameter to switch themes with this modified version of the plugin is switchto=themename, and this eliminates the problem with the theme editor. Otherwise it should be identical to the original in functionality.

  • TrackMeNot: protection against surveillance and data-profiling

    TrackMeNot is a browser extension that protects web-searchers against surveillance and data-profiling. It does so not by means of concealment or encryption (i.e. covering one’s trail), but instead, paradoxically, by the opposite strategy: noise and obfuscation. […]

    TrackMeNot runs in Firefox as a low-priority background process that periodically issues randomized search-queries to popular search engines, e.g., AOL, Yahoo!, Google, and MSN. It hides users’ actual search trails in a cloud of indistinguishable ‘ghost’ queries, significantly increasing the difficulty of aggregating such data into accurate or identifying user profiles.”

    D.C. Howe via Knuttz’s