Wednesday, October 21, 2015
#MelawanAsap
Jika terus-terusan matahari tertutup asap hingga jadi berwarna orange atau malah tidak terlihat sama sekali, saya takut kalo tumbuhan tidak dapat berfotosintesis dengan sempurna dan tidak dapat menghasilkan oksigen yang optimal.
Sesak karena asap, juga karena kurang oksigen.
Eh, tunggu..., tumbuhan bukan tak maksimal berfotosintesis, tetapi tidak bisa lagi berfotosintesis, karena sudah jadi arang dan abu, :(
List All Files and Folders into Google Spreadsheet using Google App Script
I updated my last code, so it will list all folders name too, in addition of files name.
It will search the files and folders name in certain folder,
get the name,
the date it created,
the size,
the url address,
thi file id,
description,
and the MIME type (except in folder, I hardcoded it by write string "folder")
It will search the files and folders name in certain folder,
get the name,
the date it created,
the size,
the url address,
thi file id,
description,
and the MIME type (except in folder, I hardcoded it by write string "folder")
function uploadFiles(form) {
try {
var dropbox = "Testing";
var folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
var folder = folders.next();
} else {
var folder = DriveApp.createFolder(dropbox);
}
folders = folder.getFoldersByName(form.myNIM);
if(folders.hasNext()){
var anak = folders.next();
} else{
var anak = folder.createFolder(form.myNIM);
}
var blob = form.myFile;
var file = anak.createFile(blob);
file.setDescription("Uploaded by " + form.myName);
// listFilesAndFoldersInFolder(folder)
list_all_files_and_folders_inside_one_folder_without_subfolders()
return "File uploaded successfully " + file.getUrl();
} catch (error) {
return error.toString();
}
}
function list_all_files_and_folders_inside_one_folder_without_subfolders(){
var ss = SpreadsheetApp.openById("11AzGyCcWfvcE_mUltyjAx17wJDghOS-YH5e_zrHT-zc");
SpreadsheetApp.setActiveSpreadsheet(ss);
var sh = SpreadsheetApp.getActiveSheet();
sh.clear();
var folder = DriveApp.getFolderById('0BxZS62a5NdNYUGxySmp2QW41OUU'); // I change the folder ID here
var list = [];
//list.push(['Name','ID','Size']);
list.push(["Name", "Date", "Size", "URL", "Download", "Description", "MIME"]);
var files = folder.getFiles();
while (files.hasNext()){
file = files.next();
var row = []
//row.push(file.getName(),file.getId(),file.getSize());
row.push(file.getName(),
file.getDateCreated(),
file.getSize(),
file.getUrl(),
"https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
file.getDescription(),file.getMimeType())
list.push(row);
}
var files = folder.getFolders();
while (files.hasNext()){
file = files.next();
var row = []
//row.push(file.getName(),file.getId(),file.getSize());
row.push(file.getName(),
file.getDateCreated(),
file.getSize(),
file.getUrl(),
"https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
file.getDescription(),"folder")
list.push(row);
}
sh.getRange(1,1,list.length,list[0].length).setValues(list);
}
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}
Working with Google Script
I heard it's powerful,
it could be integrated with Google Drive,
so I decided to give it a try.
Try to make a form Name, NIM, Offering, and a button to upload a file.
Basically, it's super simple form.
It will upload file to my Google Drive, place it in folder NIM (or create it if there's no folder match with NIM).
As addition, I created spreadsheet manually and update its content, the list of files in the folders. (still got a trouble)
The Forms
.
DriveApp don't have getFileType() so I used file.getMimeType() instead, :)
it could be integrated with Google Drive,
so I decided to give it a try.
Try to make a form Name, NIM, Offering, and a button to upload a file.
Basically, it's super simple form.
It will upload file to my Google Drive, place it in folder NIM (or create it if there's no folder match with NIM).
As addition, I created spreadsheet manually and update its content, the list of files in the folders. (still got a trouble)
function uploadFiles(form) {
try {
var dropbox = "Testing";
var folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
var folder = folders.next();
} else {
var folder = DriveApp.createFolder(dropbox);
}
folders = folder.getFoldersByName(form.myNIM);
if(folders.hasNext()){
var anak = folders.next();
} else{
var anak = folder.createFolder(form.myNIM);
}
var blob = form.myFile;
var file = anak.createFile(blob);
file.setDescription("Uploaded by " + form.myName);
listFilesInFolder(folder)
return "File uploaded successfully " + file.getUrl();
} catch (error) {
return error.toString();
}
}
function listFilesInFolder(folderName) {
//var ssNew = SpreadsheetApp.create("Rekap");
//https://drive.google.com/open?id=11AzGyCcWfvcE_mUltyjAx17wJDghOS-YH5e_zrHT-zc
//https://docs.google.com/spreadsheets/d/11AzGyCcWfvcE_mUltyjAx17wJDghOS-YH5e_zrHT-zc/edit#gid=0
//var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc1234567/edit');
var ss = SpreadsheetApp.openById("11AzGyCcWfvcE_mUltyjAx17wJDghOS-YH5e_zrHT-zc");
SpreadsheetApp.setActiveSpreadsheet(ss);
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
/*
var myNewSheet = activeSpreadsheet.getSheetByName("Rekap");
if (myNewSheet != null) {
activeSpreadsheet.deleteSheet(myNewSheet);
}
myNewSheet = activeSpreadsheet.insertSheet();
myNewSheet.setName("Rekap");
*/
//0BxZS62a5NdNYUGxySmp2QW41OUU
//var folder = DriveApp.getFoldersByName(folderName).next();
var id = '0BxZS62a5NdNYUGxySmp2QW41OUU';
var folder = DriveApp.getFolderById(id);
var contents = folder.getFiles();
var file, data, sheet = SpreadsheetApp.getActiveSheet();
sheet.clear();
sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Type"]);
//sheet.appendRow(["Tadaa..."])
for (var i = 0; i < contents.length; i++) {
file = contents[i];
if (file.getFileType() == "SPREADSHEET") {
continue;
}
data = [
file.getName(),
file.getDateCreated(),
file.getSize(),
file.getUrl(),
"https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
file.getDescription(),
file.getFileType().toString()
];
sheet.appendRow(data);
}
};
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}
The Forms
< form id="myForm">
Nama <input type="text" name="myName" placeholder="Nama">
NIM <input type="text" name="myNIM" placeholder="NIM">
Offering <input type="text" name="myOff" placeholder="Offering">
Upload File<input type="file" name="myFile">
<input type="submit" value="Upload File"
onclick="this.value='Uploading..';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(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>
DriveApp don't have getFileType() so I used file.getMimeType() instead, :)
function list_all_files_inside_one_folder_without_subfolders(){
var ss = SpreadsheetApp.openById("11AzGyCcWfvcE_mUltyjAx17wJDghOS-YH5e_zrHT-zc");
SpreadsheetApp.setActiveSpreadsheet(ss);
var sh = SpreadsheetApp.getActiveSheet();
sh.clear();
var folder = DriveApp.getFolderById('0BxZS62a5NdNYUGxySmp2QW41OUU'); // I change the folder ID here
var list = [];
//list.push(['Name','ID','Size']);
list.push(["Name", "Date", "Size", "URL", "Download", "Description", "MIME"]);
var files = folder.getFiles();
while (files.hasNext()){
file = files.next();
var row = []
//row.push(file.getName(),file.getId(),file.getSize());
row.push(file.getName(),
file.getDateCreated(),
file.getSize(),
file.getUrl(),
"https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
file.getDescription(),file.getMimeType())
//file.getFileType().toString())
list.push(row);
}
sh.getRange(1,1,list.length,list[0].length).setValues(list);
}
Tuesday, October 20, 2015
Working with Audio in Python
What I did is read a .wav file, extract the raw audio data, (I use first 1/20 data for sample), transform it using Fast Fourier Transform, manipulate it (I only use the first cluster frequency spectrum ), transform it back using InverseFFT.
I use matplotlib and numpy module to plot and compute.
I also use sys and wave module as 'interface'.
.
I use matplotlib and numpy module to plot and compute.
I also use sys and wave module as 'interface'.
import matplotlib.pyplot as plt
import numpy as np
import wave
import sys
spf = wave.open('violin2.wav','r')
#Extract Raw Audio from Wav File
signal = spf.readframes(-1)
signal = np.fromstring(signal, 'Int16')
fs = spf.getframerate()
print fs
#If Stereo
if spf.getnchannels() == 2:
print 'Just mono files'
sys.exit(0)
Time=np.linspace(0, len(signal)/fs, num=len(signal))
sample = []
st=[]
for i in np.arange(len(signal)/20):
sample.append( signal[i])
st.append(Time[i])
ft=np.fft.fft(sample)
pft=[]
for i in np.arange(len(ft)):
if i<500: data-blogger-escaped-ample="" data-blogger-escaped-else:="" data-blogger-escaped-from="" data-blogger-escaped-ft="" data-blogger-escaped-i="" data-blogger-escaped-ift="" data-blogger-escaped-ignal="" data-blogger-escaped-ime="" data-blogger-escaped-pft.append="" data-blogger-escaped-pft="" data-blogger-escaped-plt.figure="" data-blogger-escaped-plt.grid="" data-blogger-escaped-plt.plot="" data-blogger-escaped-plt.show="" data-blogger-escaped-plt.title="" data-blogger-escaped-pre="" data-blogger-escaped-rue="" data-blogger-escaped-sample="" data-blogger-escaped-signal="" data-blogger-escaped-st="" data-blogger-escaped-wave...="">
Monday, October 19, 2015
Friday, October 16, 2015
iWork Update on El Capitan
My Pages, Number and Keynote received new feature.
...and hey, my view is increased twofold, :D
(And my Keynote on iPhone 4s is upgraded as well)
Subscribe to:
Posts (Atom)
My sky is high, blue, bright and silent.
Nugroho's (almost like junk) blog
By: Nugroho Adi Pramono
323f
(5)
amp
(1)
android
(12)
apple
(7)
arduino
(18)
art
(1)
assembler
(21)
astina
(4)
ATTiny
(23)
blackberry
(4)
camera
(3)
canon
(2)
cerita
(2)
computer
(106)
crazyness
(11)
debian
(1)
delphi
(39)
diary
(286)
flash
(8)
fortran
(6)
freebsd
(6)
google apps script
(8)
guitar
(2)
HTML5
(10)
IFTTT
(7)
Instagram
(7)
internet
(12)
iOS
(5)
iPad
(6)
iPhone
(5)
java
(1)
javascript
(1)
keynote
(2)
LaTeX
(6)
lazarus
(1)
linux
(29)
lion
(15)
mac
(28)
macbook air
(8)
macbook pro
(3)
macOS
(1)
Math
(3)
mathematica
(1)
maverick
(6)
mazda
(4)
microcontroler
(35)
mountain lion
(2)
music
(37)
netbook
(1)
nugnux
(6)
os x
(36)
php
(1)
Physicist
(29)
Picture
(3)
programming
(189)
Python
(109)
S2
(13)
software
(7)
Soliloquy
(125)
Ubuntu
(5)
unix
(4)
Video
(8)
wayang
(3)
yosemite
(3)