1.  The OS X filesystem, HFS+, by default is in read-only mode in my ubuntu.

     So I installed hfsprogs using
      
    sudo apt-get install hfsprogs
    

     (you have to enable universe package-source)

     to mount the "Macintosh HD", use this

    $cd 
    $mkdir osx
    $sudo mount -t hfsplus -o force,rw /dev/sda2 osx 
    


     Nevertheless, it still mounted as read-only, and some folders refused to open at all.

     Here the trick. We have to have same uid as the os x.

     so, create new user

    sudo useradd -d /home/newuser -m -s /bin/bash -G root newuser
    
    sudo passwd newuser
    
    sudo usermod --uid 501 newuser
    
    sudo chown -R 501:newuser /home/newuser
    
    .

     by default the first user on OSX has an uid 501.

     Now, as we have the same uid on linux and OS X. We could freely read the filesystem.
    0

    Add a comment



  2.  Sepertinya tahun depan tidak akan ada kebakaran hutan,

     tak ada asap, 

     karena tak ada lagi yang bisa dibakar.





    0

    Add a comment

  3.  I got the problem because using 'recursive' as function name, :)

     At least now I know that, :)

     The next? Beautifying the result, :D 

    .
    function listFilesNFolders(form) {
      var list = [];
      var lv = 0;                    //lv for level or depth
      list.push(['tadaa...<br>']);
      list.push(['heheh...']);
      var row = [];
      row.push('<br> Hello World!!! ');
      list.push(row);
      
      var home = DriveApp.getFolderById('0BxZS62a5NdNYUGxySmp2QW41OUU'); 
      list.push('<br>');
      list.push(home.getName());
      crawl(home,list,lv);
      return list;
    }
    
    //don't use 'recursive' as function name, it won't work
    function crawl(home,list,lv){
      lv++;
      list.push('<br>tadaa...'+lv+'...');
    
      var files=home.getFiles();  
      while (files.hasNext()){
        var file=files.next();
        list.push('<br>f '+file.getName());
      }
      
      var folders=home.getFolders();
      while (folders.hasNext()){
        var folder=folders.next();
        list.push('<br>d '+folder.getName());
        
        crawl(folder,list,lv);
      }
    }
    
    function doGet(e) {
      return HtmlService.createHtmlOutputFromFile('form.html');
    }
    
    
    
    
    .



    0

    Add a comment

  4.  Sepuluh hari gak ketemu, :)








    0

    Add a comment

  5.  Jika MotoGP Sepang gagal karena asap, maka Rossi cukup finish ketiga di Valencia untuk jadi juara dunia, :)
    0

    Add a comment

  6.  Trik Old Shatterhand di Llano Estacado untuk mendatangkan hujan sepertinya tak berhasil di sini.

     :(

     (ingat Karl May)
    0

    Add a comment

  7.  I have trouble accessed it within function,

     so I pass it to every function,
     not so elegant solution, but it works, :) .

     In the code below, I have global variable named list.

     I have to passed as parameter on function dummy in order to edit its value or it wouldn't affected or have error message or undefined (I experienced both, :) )

    function listFilesNFolders(form) {
      var list = [];
      list.push(['tadaa...<br>']);
      list.push(['heheh...']);
      var row = [];
      row.push('<br> Hello World!!! ');
      list.push(row);
      
      var home = DriveApp.getFolderById('0BxZS62a5NdNYUGxySmp2QW41OUU'); 
      
      dummy('<br> test',list);
      return list;
    }
    
    function dummy(d,list){
      list.push(d);
    }
    
    

    The form

     <form id="myForm">
         <input type="submit" 
        value="OK"        
        onclick="
        this.value='Proses';
        google.script.run.withSuccessHandler(fileUploaded).listFilesNFolders(this.parentNode);
        return false;
     "
                        >
     </form>
    
    .





    0

    Add a comment

  8.  :)

     Xcode update,
     iTunes,
     and Command Line Tools









    0

    Add a comment



  9.  Ini terjadi di Malang, bukan hutan, ini ladang tebu sehabis panen.

     Naik sepeda lewat beginian, hanya 20 meter terpapar asap, rasanya...

     Cuma sekian detik.

     Tak terbayangkan jika terpapar berbulan-bulan, di setiap tempat, di setiap waktu

    0

    Add a comment

  10.  Here it is.

     I used getFolderById() to determine the folder I want to list the files and folders inside.  I used home as variable name of the folder

     home.getFiles() is used to gets a collection of all files in home.

     home.getFolders() is used to gets a collection of all folders in home.

    I have list and row  as array or tuple or 'list' to accommodate the result. Maybe it's wasting time to have two variable, but I plan to write code to list 'files and folders inside subfolders' recursively. I know maybe it didn't even need that array variable, :). But just in case...

    function listFilesNFolders(form) {
      var list = [];
      list.push(['tadaa...<br>']);
      list.push(['heheh...']);
      var row = [];
      row.push('<br> Hello World!!! ');
      list.push(row);
      
    
      var home = DriveApp.getFolderById('0BxZS62a5NdNYUGxySmp2QW41OUU'); 
      // Log the name of every file in the user's Drive.
      var files = home.getFiles();
      list.push('<br>Files:');
      while (files.hasNext()) {
        var file = files.next();
        list.push('<br>-',file.getName());
        //Logger.log(file.getName());
      }
      // Log the name of every folder in the user's Drive.
      var folders = home.getFolders();
      list.push('<br>Folders:');
      while (folders.hasNext()) {
        var folder = folders.next();
        list.push('<br>-',folder.getName());
        //Logger.log(folder.getName());
      }
      
      
      return list;
    }
    
    function doGet(e) {
      return HtmlService.createHtmlOutputFromFile('form.html');
    }
    
    

    The Form

      <form id="myForm">
        <input type="submit" 
        value="OK"        
        onclick="
        this.value='Proses';
        google.script.run.withSuccessHandler(fileUploaded).listFilesNFolders(this.parentNode);
        return false;
        "
                        >
      
    </form>
    
    <div id="output"></div>
    
    <script>
        function fileUploaded(status) {
            document.getElementById('myForm').style.display = 'none';
            document.getElementById('output').innerHTML = status;
        }
    </script>
    
    <style>
     input { display:block; margin: 20px; }
    </style>

    The Result


    0

    Add a comment

Archive
Label
Popular Posts
Popular Posts
Loading