Saturday, January 04, 2014
read Realtime Web Apps With HTML5 WebSocket, PHP, and jQuery, but it uses pusher, not really telling you how to write websocket javascript, it's a waste of time.
now reading JavaScript Web Applications, which is good. found an interesting app while reading this book: Holla
because of clojure, start to use emacs, I love it's old-fashioned interface.
a bookmarklet to increasing font size:
javascript:var p=document.getElementsByTagName('*');for(i=0;i<p.length;i++){if(p[i].style.fontSize){var s=parseInt(p[i].style.fontSize.replace("px",""));}else{var s=16;}s+=2;p[i].style.fontSize=s+"px"}
Thursday, January 09, 2014
light table is open sourced, it is such a good news. I was wondering how they wrap they wrap the web app (written entirely in clojurescript) with chromium and waiting them to open source the project, now it's the time.
I did try a little bit of emacs, i think the whole integration with shell, dired and window arrangement is great. but on editing part, still have to a lot of customization in order to match vim. i'd like to customize my editor with lisp, but i think i need to spend more time on emacs-lisp first, and use evil-mode.
Thursday, January 16, 2014
finished JavaScript Web Applications, should read it two years ago.
start reading Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript and Async JavaScript: Build More Responsive Apps with Less Code, both are good.
today found a problem with drupal_json_output()
response with bom
, which will cause php json_decode()
return null
. first thing i found is php json_encode()
All string data must be UTF-8 encoded. second thing is if any php file contains a bom
before <?php
, the output will be with a bom
. i wrote a script to find files with bom
and removed the bom
, json output resumes normal. (add DirectoryScanner to composer.json
)
require './vendor/autoload.php';
use TheSeer\DirectoryScanner\DirectoryScanner;
$scanner = new DirectoryScanner;
$scanner->setIncludes(['*.php', '*.inc', '*.module']);
$scanner->addExclude('.git');
/* @var $i SPLFileInfo */
foreach ($scanner($dir) as $i)
{
$file = $i->getRealPath();
$data = file_get_contents($file);
if (substr($data, 0, 3) == pack('CCC', 239, 187, 191))
{
echo $file, "\n";
}
}
Saturday, January 18, 2014
there few things i am excited about php 5.6 new features:
...$param
- bundled phpdbg
use function
anduse const
Friday, January 24, 2014
I'm listening to few podcasts recently (including archives), Java Posse, Ruby Rogues, Java Spotlight, Programming Throwdown, and a good place to find new podcasts about programming (or any other topics): player.fm.
When moving my backups to new machine, git treats my windows files as updated (permission changed), have to disable the file mode:
git config --add --global core.filemode false
very busy past couple weeks and didn't read much, reading How We Got Here: A Slightly Irreverent History of Technology and Markets and reserved Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers.
Blog Archive
- Newer Entries
- 2014 February
- 2014 March
- 2014 August
- 2014 September
- 2014 October
- 2014 November
- 2014 December
- 2015 January
- 2015 February
- 2015 March
- 2015 April
- 2015 May
- 2015 June
- 2015 July
- 2015 August
- 2015 September
- 2015 October
- 2015 November
- 2015 December
- 2016 January
- 2016 February
- 2016 March
- 2016 April
- 2016 May
- 2016 June
- 2016 July
- 2016 August
- 2016 September
- 2016 October
- 2016 November
- 2016 December
- 2017 January
- 2017 February
- 2017 March
- 2017 April
- 2017 May
- 2017 June
- 2017 July
- 2017 August
- 2017 September
- 2017 October
- 2017 November
- 2017 December
- 2018 January
- 2018 February
- 2018 March
- 2018 April
- 2018 May
- 2018 June
- 2018 July
- 2018 August
- 2018 September
- 2018 October
- 2018 November
- 2018 December
- 2019 January
- 2019 February
- 2019 March
- 2019 April
- 2019 May
- 2019 July
- 2019 October
- 2019 November
- 2019 December
- 2020 August
- 2020 September
- 2020 October
- 2020 November
- 2020 December
- 2021 January
- 2021 February
- 2021 March
- 2021 April
- 2021 May
- 2021 June
- 2021 August
- 2021 September
- 2021 December
- 2022 March
- 2022 April
- 2022 May
- 2022 June
- 2022 July
- 2022 August
- 2022 September
- 2022 October
- 2022 November
- 2022 December
- 2023 January
- 2023 February
- 2023 March
- 2023 April
- 2023 July
- 2023 August
- 2023 September
- 2023 October
- 2023 November
- 2023 December
- 2024 January
- 2024 February
- 2024 March
- 2024 April
- 2024 May
- 2024 June
- 2024 August
- 2024 September
- 2024 October
- 2024 November