How To Tweets Your Current iTunes Track

Well, it’s nothing. Last Saturday I’ve stuck in office, have nothing to do but arranging my iTunes collection. Been awake since Friday night, and it seems my sleep disorder haven’t been healed yet :( So while i’m twittering i want also to use my current track played in my iTunes to be posted in twitter.

I remember i’ve made a small python script to do this couple years ago but lost the source code *facepalm* Hmmm, I think i gave the codes to @cothat and @rara79. But it will be rude to wake up those guys just for asking source codes :P

I rewrite it all over again, just to get me bored and hopefully sleep after that :P

Anyway, these are the codes that make it happen :)

You can make it simple and more robust though. I don’t put any exception to check whether my iTunes is running or not (yet) to prevent flooding my timeline with probably blank message :P

My previous version will run a loop and sleep couple of seconds. And within that loop it will check is the iTunes playing same song as previous or not. It will post to twitter if new song is detected :) Useful if you like to skip song in the middle.

[cc lang=’python’ ]
“””
simple Python Script to get current track being played in iTunes
and tweet it (and also update your FB status)
dependencies:
– py-appscript, Control AppleScriptable applications from Python
– tweepy, Twitter API for Python

Author: Nuri Abidin
Date: 2012-02-04
“””
from appscript import *
from decimal import *
from ConfigParser import ConfigParser
from optparse import OptionParser
from sys import exit
from time import strftime, sleep, localtime
import string, os, re, sys, tweepy

class nuyTwiTunes:
def __init__(self, config_file=””):
config = self.getconf(config_file)
self.twitter_consumer_key = config[‘consumer_key’]
self.twitter_consumer_secret = config[‘consumer_secret’]
self.twitter_access_token = config[‘access_token’]
self.twitter_token_secret = config[‘token_secret’]
self.print_console(‘Initiating the application…’)

# just printing formatted text to console
def print_console(self, s):
t = strftime(‘%Y-%m-%d – %X’)
print “%s %s” % (t,s)

# read the config file
def getconf(self, config_file):
param = {}
c = os.path.expanduser( config_file )

if not os.path.exists(c):
self.print_console(‘ERROR: No configuration file: %s’ % c)
exit(1)

conf = ConfigParser()
conf.read(c)

#read config items to dictionary
for section in conf.sections():
for items in conf.items(section):
param[items[0]] = items[1]
return param

# ‘read’ the current track being played in iTunes
def get_itunes_track(self):
myApp = app(‘iTunes’)
mySong = (“%s – %s” % (myApp.current_track.artist(), myApp.current_track.name()) )
songTime = myApp.current_track.time();
timeChunks = string.split(songTime, “:”)
playingTime = (Decimal(timeChunks[0]) * 60) + Decimal(timeChunks[1])
return mySong, playingTime

# post to twitter
def post_tweet(self, the_tweet=”Hai ^_^”):
auth = tweepy.OAuthHandler(self.twitter_consumer_key, self.twitter_consumer_secret)
auth.set_access_token(self.twitter_access_token, self.twitter_token_secret)
api = tweepy.API(auth)
api.update_status(the_tweet)

# post current iTunes track to twitter
def tweet_the_tunes(self):
# play and sleep until track changes
while True:
(track_name, play_time) = self.get_itunes_track()
tweet = “iPlay: %s ^_^ #fb” % (track_name)
self.print_console(“%s –%s seconds–” % (tweet,play_time) )
self.post_tweet(tweet)
sleep(play_time)

def main():
usage = “usage: %prog [options]”
parser = OptionParser(usage=usage)
parser.add_option(‘-c’, ‘–config’,
dest=”config_file”,
default=”nuy_tunes.conf”,
)
(options, args) = parser.parse_args()

try:
if options.config_file:
config_file = options.config_file
else:
config_file = “./nuy_tunes.conf”

my_tunes = nuyTwiTunes( config_file )
my_tunes.tweet_the_tunes()
except:
raise
parser.print_help()
exit(1)

if __name__ == “__main__”:
main()
[/cc]

and the configuration file is simply like this

[cc lang=’python’ ]
[twitter]
consumer_key = your_twitter_consumer_key
consumer_secret = your_twitter_consumer_secret
access_token = your_twitter_access_token
token_secret = your_twitter_token_secret
[/cc]

Once more thing …
You need to use a Mac to do this :P
Having one is a good thing :P

*yawn*
and blogging this script make me feel sleepy already …

iPod, 10 tahun

Di MacWorld Expo 2001, Steve Job memperkenalkan konsep “Digital Hub“-nya.

“We believe the Mac can become the digital hub of our lifestyle, adding termendous value to our other digital devices”(1)

Dan wujud dari lifestyle dan other digital devices tadi adalah musik (peluncuran iTunes di Januari 2001) dan iPod (diluncurkan pada Oktober 2001). Mungkin lebay, tapi yang baca tulisan saya ini sepertinya nyaris tidak ada yang tidak tahu/kenal/pernah baca mengenai perangkat musik portabel spektakuler keluaran Apple ini.

Pada awalnya iPod hanya dapat terhubung dengan komputer Mac, mungkin sesuai konsep menjadikan Mac sebagai digital hub tadi. Namun Apple tidak bisa tutup mata bahwa pengguna/penikmat musik justru sebagian besar tidak menggunakan Mac :) Jadi pada Juli 2002, Apple meluncurkan iPod generasi ke-dua yang kompatibel dengan Windows dan mampu menampung 4000 lagu dengan kapasitas 10GB. Generasi pertama hanya 1000 lagu dengan kapasitas 5GB.

iPod bukan mp3 player pertama di dunia, tapi Steve Jobs berhasil membuatnya menjadi mp3 player paling sukses di pasar hingga saat ini. Desainnya yang minimalis tapi cantik dan elegan serta fungsionalitasnya mampu mencuri perhatian banyak orang.

Dan bulan ini, iPod telah berumur 10 tahun.

Varian yang ditawarkan makin banyak, baik itu dari segi kapasitas penyimpanan maupun dari inovasi desain fisiknya yang beragam. Dan tampaknya, kotak musik mungil dari Apple ini semakin membuat mp3 player lainnya tenggelam. Terlebih lagi iPod sekarang tidak sekedar hanya music player. Bermain Angry Birds, personal financing sampai mengukur detak jantung bisa dilakukan menggunakan iPod.
Di dusun tempat almarhum nenekku tinggal dulu suka ada pertanyaan

“hondamu mereknya apa?”

Sebegitu identiknya Honda dengan sepeda motor.
Pilih Mana?

Nah, iPod-mu mereknya apa?
Maksudku, iPod tipe apakah milikmu saat ini?

Hehehehehe

(1)Carmine Gallo, The Innovation Secret of Steve Jobs, (McGraw-Hill 2010), 56-57
http://www.youtube.com/watch?v=9046oXrm7f8
http://en.wikipedia.org/wiki/Ipod

Multitouch Support di Ubuntu 10.10

Ilustrasi Multi Touch dari geekyard.com

Ilustrasi Multi Touch dari geekyard.com

Ubuntu

Ubuntu

Nah ini dia. Melalui blog pribadinya  dan juga perusahaannya, Mark Shuttleworth mengumumkan bahwa dukungan akan fungsi multi-touch di Ubuntu 10.10 yang diberinama uTouch 1.0. Hal ini akan membuat Linux menjadi semakin kompetitif setelah fungsi serupa digunakan Mac OSX dan juga Windows 7.

Yang menarik juga dari berita ini, Mark menyebutkan bahwa tim Ubuntu telah menciptakan “bahasa” sendiri untuk keperluan multi-touch ini. Hasilnya diharapkan akan menjadi standar baru aplikasi berbasiskan gesture multi-touch di dunia Linux khususnya.

Our multi-touch team has worked closely with the Linux kernel and X.org communities to improve drivers, add support for missing features, and participate in the touch advances being made in open source world. To complete the stack, we’ve created an open source gesture recognition engine and defined a gesture API that provides a means for applications to obtain and use gesture events from the uTouch gesture engine.

API di atas saat ini sudah dirilis di Launchpad dengan mengadopsi lisensi GPLv3 dan LGPLv3.

Dengan hadirnya uTouch di Maverick Meerkat (codename Ubuntu 10.10), maka penetrasi Linux di pasar desktop maupun mobile device diharapkan akan semakin meningkat. Fakta saat ini menunjukkan bahwa kemampuan multi-touch khususnya di mobile device adalah sesuatu yang sangat mutlak. Di desktop sendiri yang saya tahu Mac yang mempelopori penggunaannya (cmiiw, i’m fully using Mac for the last 5 years, dont know much anymore about PC news)

Jadi, multitouch itu sebenarnya apaan sih?
Detil mengenai multitouch mulai sejarah awal hingga perkembangannya sampai saat ini dapat dibaca di Wiki::Multi-Touch. Namun secara garis besar bisa saya katakan bahwa multi-touch itu adalah

sebuah enhancement dari teknologi layar sentuh (touch screen) saat ini. Teknologi ini akan memungkinkan pengguna untuk menggunakan 1 jari atau lebih pada saat bersamaan untuk menyentuh layar yang akan membuatnya menjalankan fungsi yang berbeda. Tergantung kombinasi jari yang digunakan serta gerakan jarinya.

Masih ga jelas?

Contoh yang paling banyak dikenal orang pengenai penerapan multi-touch ini adalah saat Apple meluncurkan iPhone, iPod Touch dan juga memperbaiki jajaran trackpad MacBook Pro (khususnya yang unibody) dengan kemampuan ini. Terakhir adalah Apple Magic Mouse dan Magic TrackPad. Dengan perangkat-perangkat Apple tadi (katakanlah contohnya iPhone), kamu bisa menggunakan jari 2 jari dan gerakan mencubit untuk mengecilkan (zoom-out) gambar. Gerakan sebaliknya akan membersarkan gambar (zoom-in). Ponsel-ponsel Android sendiri kini juga  dilengkapi dengan kemampuan multi-touch ini di Android 2.0/2.1 (di versi sebelumnya juga udah ada sih, cumah didisable di level kernelnya).

Di MacBook Pro, gerakan 4 jari digeserkan serentak ke atas akan menyingkirkan semua window aktif dari layar Anda. Gerakan sebaliknya (4 jari geser ke bawah) akan mengembalikan semua window aplikasi yang tadi “tersingkir” kembali ke posisi semula.

Nah keren kan? We’ll see the next enhancements from Linux-Open Source World.

Google Chrome is Coming On Mac Near You

Setelah Picasa, Google kini telah menyiapkan langkah berikutnya untuk melakukan porting browser mereka yaitu Google Chrome ke Mac dan juga Linux. 

Sebelumnya, salah seorang developer dari Google telah menyatakan kalo raksasa search engine itu tengah bekerja aktif untuk membuat release baru Chrome yang juga akan dapat dijalankan secara  nativ di Mac maupun Linux (googlemac.blogspot.com). Dan sepertinya harapan tersebut dapat terwujud (semoga) di semester awal tahun 2009 ini. Horeee :)

Saat Google Chrome dirilis tahun 2008 lalu, browser ini hanya berfokus di Windows saja. Bahkan enginenya sendiri memanfaatkan modul Internet Explorer (yang kerasa sih settingan proxynya). Hal ini yang banyak dikeluhkan pecinta Google lainnya yang tidak menggunakan environment Windows.

Setelah itu muncullah berbagai usaha untuk dapat memasang Chrome ke platform lain. Misalnya Linux, FreeBSD dan juga Mac. Saya sendiri mencoba Chrome Linux menggunakan Wine di Ubuntu Desktop saya. Cuman untuk Mac emang belum sempat. Ada sih portingan Chrome ke Mac yang dikenal sebagai Crossover Chromium. Cuman ya itu, belum sempat nyobain.

Nah semoga di Google Chrome v2.0 ini dukungan untuk Mac dan Linux akan benar-benar terwujud tanpa ada masalah. :)

referensi:

Picasa for Mac, akhirnya…

Saya adalah seorang pengguna Picasa, sebuah perangkat lunak dari Google untuk organizing dan editing file-file foto yang ada di komputer kita. Selama ini Picasa hanya bekerja di sistem operasi Windows dan kemudian dapat berjalan pula di Linux (via WINE). Sayangnya Picasa versi Mac waktu itu belum ada. Ini yang jadi agak menyusahkan saya sebagai pengguna Mac (pindahan dari Windows & Linux sebelumnya :P). Walaupun sebenarnya ada sih plugin untuk iPhoto yang dapat membantu kita untuk upload foto-foto digital kita ke Picasa Web Album (PWA).

 
Nah, sekarang pada Mac users yang juga pengguna Picasa dapat bernafas lega. Tanggal 5/1/2009 kemarin Google telah mengumumkan bahwa versi Beta dari Picasa for Mac telah dapat di download dan digunakan. Picasa ini dapat digunakan sebagai alternatif untuk iPhoto-nya Mac.
Picasa for Mac Beta
(Credit: Google)
 
Referensi:

 

All About Telkomsel Flash

Telkomsel Flash

Saya adalah pengguna Telkomsel Flash time based. Pake henpon Nokia N73 ajah sih, belom sudah punya modem USB nya. Yang jelas saya sudah sukses nyobain Telkomsel Flash di Windows dengan Huawei E220 + ZTE MF3xx (express card), di Leopard sukses pake Huawei E220.

Saat ini saya masih belum sukses nyobain modem ZTE MF622 punya Indosat. Nah kebetulan punya kolega di ZTE, jadi minta tolong ke dia untuk unlock tuh modem biar bisa digunakan pake simcard GSM manapun :P Jadi biar saya bisa nyoba lagi dengan simcard simPATI saya sendiri :)

Nah ada yang mo sharing soal SETTING/KONFIGURASI koneksi Flash dengan modem dan O/S pilihan masing-masing? Bisa email atau taruh link di comment box deh :) Kalo soal network quality jangan komplain ke saya yah. Terus terang saya ga bisa bantu heheheheh tapi kali-kali ajah ada officer Telkomsel yang berkompeten dengan layanan tersebut yang mantengin blog saya ini (seperti halnya telkomsel blackberry prepaid)

Huawei E220 vs ZTE MF622

Huawei E220 vs ZTE MF622

E220 Flash di atas adalah punya si Derry, akhirnya saya beli sendiri. Keluaran ‘Yes’ Optus Australia. And so far ga ada masalah. Punya Derry standar 3.6mbps, yang optus 7.2mbps

Howto: Setup Huawei E220 HSDPA USB Modem with Leopard

In my previous post, I wrote that I was having trouble to get ZTE MF622 work on my Leopard. Not solved yet until now. 

Today, Derry was kindly enough to lend me his Huawei E220 HSDPA Modem. It’s Telkomsel Flash modem package but already been unlocked. So, I can use any SIM card from any available GSM operator. But unfortunately, the E220 driver for Mac from Telkomsel is not working on Leopard. So, I need to google to find the suitable driver for that.

So, how to install Huawei E220 HSDPA USB modem on Mac OSX Leopard:

  1. Download the driver here or here (add .dmg after the file name)
    E220.dmg
  2. Extract the package file (E220.dmg) and run the file "Mobile_Connect_Drv_App.pkg"
    Run installer
  3. Follow the wizard
    Continue
  4. Read the agreement, and continue if you agree
    Agree

    Aggree

  5. Select installation destination
    Agree

    Aggree

    Password

  6. Continue Installation

 

How to setup GPRS/3G/HSDPA connection with Huawei E220 on OSX Leopard:

  1.  Insert the SIM card into the data card. 
  2. Connect the data card to your PC. 
  3. Open the Finder window, and select Mobile Connect in the Application directory. 
    mobile connect
  4. Then launch the management program of the Mobile Connect. If the Personal Identification Number (PIN) code of the data card is locked, the system displays the Verify PIN dialog box for you to enter the PIN code. 
  5. If you enter wrong PINs for three consecutive times, the system displays the PIN Unblocking Key dialog box for you to enter the valid PIN Unblocking Key (PUK). Then the Mobile Connect interface is displayed.

    Note: 

    • If you enter wrong PUKs for ten consecutive times, the SIM card is invalid permanently
    • The PIN and PUK are delivered with the SIM card provided by your service provider. For details, consult your service provider.
  6.  Now, we create a profile. From Mobile Connect UI above, click on Setting button
    Create profile

    Click on New button
    I’m using Telkomsel Flash service, therefor I create a profile like picture above.
    Dont forget to use PAP as Authentication method.
    Click Save then OK if you finish creating profile

  7.  Select the profile you want to use and click Connect
  8. During the dial-up access, the Mac OS X system requires you to enter the account and password of the system administer. You can access the Internet only when the correct account and password are entered.
  9. When you access the internet successfully, the system displays the prompt, saying “Connection successful!”.

  10. IMHO, I think Huawei have better english in the UI compare to his ‘brother’ :D This is what i’ve got from MF622 UI :P Connect estalish
  11. Voila! Now I’m connected to Telkomsel Flash network

  12. When you try to browse for the first time after connected, you will be redirected to http://flash.telkomsel.com/id/HalamanUtama.php.
    Choose the package you want.

  13. You’ll have this page after finish selecting a package
  14. Checking IP
  15. Start browsing

That’s all. I hope this tutorial can help you (the Leopard & Telkomsel Flash users) to setup Huawei E220 modem on your Mac :)

 

Read this post on my new blog
http://nuy.nurikidy.com/2008/05/21/howto-setup-huawei-e220-hsdpa-usb-modem-with-leopard/