Showing posts with label Misc.. Show all posts
Showing posts with label Misc.. Show all posts

Tuesday, March 14, 2017

Free "Remote Desktop" Setup for Windows Home Editions

As you might already know, all Windows Home Edition variants don't support Microsoft Remote Desktop Protocol (RDP) https://en.wikipedia.org/wiki/Remote_Desktop_Protocol. Therefore, you need different software stack as a solution to the problem.

Enter VNC (https://en.wikipedia.org/wiki/Virtual_Network_Computing). VNC is another protocol to remotely control Windows desktop. VNC can be used as RDP replacement, especially, if you want to control Windows Home desktop from Linux. This is a verified setup that I have tested:

  • The VNC client, i.e. the machine that will be used to control the Windows Home desktop, runs Linux. In my case it's a XFCE4 window manager. I'm using Vinagre (https://wiki.gnome.org/Apps/Vinagre/) as the client application to access the remote VNC server. 
  • The VNC server, i.e. the machine that runs Windows Home OS, is running TigerVNC(http://tigervnc.org) as the application that implements VNC server functionality. TigerVNC is very well maintained as you can see in their github page: https://github.com/TigerVNC/tigervnc.
Hopefully, this is helpful for those thinking about remotely controlling a Windows Home desktop machine.

Tuesday, September 27, 2016

What are 0xDEADBEEF, 0xFEEEFEEE, 0xCAFEFEED & co. ?

If you stumbled in this post looking looking for detailed answer for any of those mentioned in the title, without further ado, there are more complete explanation at:


But, if you want to know the big picture, read on ;-)

Chances are, you stumbled here after doing some hardcore debugging and found yourself baffled at the values that showed-up in the CPU registers or in the heap/stack memory. I found the first two values in the title (0xDEADBEEF and a variant of the second, i.e. 0xFEEEFEEEFEEEFEEE) while doing debugging in two different systems. The 0xDEADBEEF was on a System i (Power 5) system and the second one was on a Windows 64-bit machine.

All of these values are debugging-aid value, so to speak. It makes them very visible in the debugger (for those who already know). The purpose is to signal that something went wrong and to give an idea what possibly wrong, i.e. where the error possibly comes from, just with a glance on the debugger. For example, 0xDEADBEEF could mean either the program accessed unitialized (heap?) memory or a NULL pointer is encountered (pointing to uninitialized memory). Anyhow, it means something is wrong with one of your pointer. Similar case is indicated by 0xFEEEFEEE or its 64-bit variant.

These "readable" hexadecimal values are categorized as hexspeak because it looks like a "language" despite being hexadecimal value, i.e. you can read them aloud in English or other intended human language. The most hilarious of them all is 0xB16B00B5 ("Big Boobs"). I wonder who was the Hyper-V project manager at the time this Linux guest signature was determined at Microsoft LoL.

Sunday, February 22, 2015

Windows - The object invoked has disconnected from its client (Partial Fix)

I got this particular error message:
"The object invoked has disconnected from its client"
when trying to log into my Windows 8.1 machine locally.

This error is particularly debilitating because I cannot log in to my machine even from confirmed accounts that I used either for day to day tasks or administrative tasks. The culprit turns out to be a USB flash disk left plugged on one of the machine's USB socket. The fix is very simple, just remove the "offending" USB flashdisk and then all-is-well.
The USB flash disk in question contains a valid UEFI bootable OS along with the mandatory EFI partition to boot an UEFI-compliant OS. It seems to be some kind of check in Windows "chain of trust" detects this "irregularity" as breaking the "chain of trust" when Windows boot. Therefore, Windows decided that this is a malicious login attempt and blocks access into it. However, somehow the protection mechanism ends up with very uninformative message.


I list my analysis as "Partial Fix" because it works for my particular Windows 8.1 setup but might not work for other Windows versions.

Friday, January 30, 2015

CCSIDs a.k.a Code Pages in IBM PASE for i

It all started with iconv() function in iSeries PASE. I need to figure out how to convert strings back and forth between iSeries PASE and ILE programs. I didn't realize at first that there were TWO instead of one libiconv library installed on the iSeries I worked with. One from GNU and one from IBM (the original one). I had to specify the one I intend to use specifically in my Makefile.am as follows:

 pase_to_rpg_string_LDADD = /QOpenSys/QIBM/ProdData/OS400/PASE/lib/libiconv.a

Well, then it turned out, the code page "string" specified for ILE C didn't work out. I found out that the code page string should be as shown here. I'm puzzled as to where that guy found the code page string. Then, I finally found that it was AIX code page specification after all, as this link shows. I reproduce it below, just in case (and hopefully IBM doesn't mind ;).

Table 1. CICS Shortcodes, CCSIDs and code pages that TXSeries for Multiplatforms supports
CICS short code nameCCSIDAIX® and Windows code pageHP–UX code page nameSolaris code page nameDescription
3737IBM-037american_eIBM-037IBMLatin-1 EBCDIC
8859-1819ISO8859-1iso8859_18859Latin-1 ASCII (ISO)
819819ISO8859-1iso8859_18859Latin-1 ASCII (IBM/ISO)
850850IBM-850roman8IBM-850Latin-1 ASCII
437437IBM-437iso8859_1IBM-437Latin-1 (PC) ASCII
930930IBM-930cp930IBM-930Japanese EBCDIC
931931IBM-931japanese_eIBM-931Japanese EBCDIC
939939IBM-939cp939IBM-939Japanese EBCDIC
932932IBM-932sjisja_JP.pckJapanese ASCII
EUCJP954IBM-eucJPeucJPeucJPJapanese ASCII (ISO)
942942IBM-942IBM-942IBM-942Japanese ASCII
943943IBM-943IBM-943IBM-943Japanese ASCII
EUCKR970IBM-eucKReucKReucKRKorean ASCII (ISO)
934934IBM-934IMB-934IBM-934Korean ASCII
944944IBM-944IBM-944IBM-944Korean ASCII
949949IBM-949korean15IBM-949Korean ASCII
933933IBM-933korean_eIBM-933Korean EBCDIC
EUCTW964IBM-eucTWIBM-eucTWeucTWTraditional Chinese
938938IBM-938IBM-938IBM-938Traditional Chinese ASCII
948948IBM-948IBM-948IBM-948Traditional Chinese ASCII
937937IBM-937chinese-t_eIBM-937Traditional Chinese EBCDIC
BIG5950Zh_TW.big5big5zh_TW.BIG5Traditional Chinese BIG5
946946IBM-946IBM-946IBM-946Simplified Chinese ASCII
13811381IBM-1381hp15CNIBM-1381Simplified Chinese ASCII
935935IBM-935chinese-s_eIBM-935Simplified Chinese EBCDIC
EUCN1383IBM-eucCNchinese-s_eeucCNSimplified Chinese ASCII (ISO)
GB180305488GB18030gb18030GB18030Simplified Chinese GB18030
864864IBM-864arabic8IBM-864Arabic ASCII
8859-61089ISO8859-6iso8859_6ISO8859-6Arabic ASCII (ISO)
10891089ISO8859-6iso8859_6ISO8859-6Arabic ASCII (IBM/ISO)
420420IBM-420arabic_eIBM-420Arabic EBCDIC
855855IBM-855IBM-855IBM-855Cyrillic ASCII
866866IBM-866IBM-866IBM-866Cyrillic ASCII
8859-5915ISO8859-5iso8859_5ISO8859-5Cyrillic ASCII (ISO)
915915ISO8859-5iso8859_5ISO8859-5Cyrillic ASCII (IBM/ISO)
10251025IBM-1025IBM-1025IBM-1025Multilingual Cyrillic EBCDIC
869869IBM-869greek8IBM-869Greek ASCII
8859-7813ISO8859-7iso8859_7ISO8859-7Greek ASCII (ISO)
813813ISO8859-7iso8859_7ISO8859-7Greek ASCII (IBM/ISO)
875875IBM-875greek_eIBM-875Greek EBCDIC
856856IBM-856hebrew8IBM-856Hebrew ASCII
8859-8916ISO8859-8iso8859_8ISO8859-8Hebrew ASCII (ISO)
916916ISO8859-8iso8859_8ISO8859-8Hebrew ASCII (IBM/ISO)
424424IBM-424hebrew_eIBM-424Hebrew EBCDIC
273273IBM-273german_eIBM-273Austria, Germany EBCDIC
277277IBM-277danish_eIBM-277Denmark, Norway EBCDIC
278278IBM-278finnish_eIBM-278Finland, Sweden EBCDIC
280280IBM-280italian_eIBM-280Italy EBCDIC
284284IBM-284spanish_eIBM-284Spain, Latin Am.(Sp) EBCDIC
285285IBM-285english_eIBM-285UK EBCDIC
297297IBM-297french_eIBM-297France EBCDIC
500500IBM-500IBM-500IBM-500International latin-1 EBCDIC
871871IBM-871icelandic_eIBM-871Iceland EBCDIC
852852IBM-852IBM-852IBM-852Latin-2 ASCII
8859-2912ISO8859-2iso8859_2ISO8859-2Latin-2 ASCII (ISO)
912912ISO8859-2iso8859_2ISO8859-2Latin-2 ASCII (IBM/ISO)
870870IBM-870IBM-870IBM-870Latin-2 EBCDIC
857857IBM-857turkish8IBM-857Turkey ASCII
8859-9920ISO8859-9iso8859_9ISO8859-9Turkey ASCII (ISO)
920920ISO8859-9iso8859_9ISO8859-9Turkey ASCII (IBM/ISO)
10261026IBM-1026turkish_eIBM-1026Turkey EBCDIC
UTF-81208UTF-8 (only)UTF-8UTF-8Unicode file code set
UCS-21200UCS-2 (only)UCS-2UCS-2Unicode processing code set

So, next time, you code on iSeries PASE, use "IBM-037" (EBCDIC code page) and "ISO8859-1" (ASCII 8-bit) strings to convert back and forth.

I hope this post will somehow save somebody someday.

Thursday, May 29, 2014

Batch Encoding mp4 Videos to Wav (Audio CD format) in Windows

At times, you want to listen to your favorite tunes while driving in congested roads or for extended period of time between cities. The problem is, your car's audio only support Audio CD. This dictates you to convert your favorite tunes to Audio CD. Moreover, you don't have enough time to convert them one by one. Enter the "batch encoding" realm..
Simply put, batch encoding is the process of encoding multiple files in one go. To do that, we use shell script, or batch file in Windows. Because most of my favorite tunes are mp4 videos, my batch encoding script converts those mp4s into wav files. I used VLC to carry out the encoding and I'm using a powershell script to automate the encoding into batch encoding. This is the powershell script that I use:
$outputExtension = ".wav"
$bitrate = 128
$channels = 2

foreach($inputFile in get-childitem -Filter *.mp4)
{ 
  $outputFileName = [System.IO.Path]::GetFileNameWithoutExtension($inputFile.FullName) + $outputExtension;
  $outputFileName = [System.IO.Path]::Combine($inputFile.DirectoryName, $outputFileName);
  
  echo "Output filename: $outputFileName" 
    
  $programFiles = ${env:ProgramFiles(x86)};
  echo "Program Files: $programFiles"
  
  if($programFiles -eq $null) { $programFiles = $env:ProgramFiles; }
  
  $processName = $programFiles + "\VideoLAN\VLC\vlc.exe"
  echo "processName: $processName"
  
  $processArgs = "-I dummy -vvv `"$($inputFile.FullName)`" --sout=#transcode{acodec=`"s16l`",ab=`"$bitrate`",`"channels=$channels`"}:standard{access=`"file`",mux=`"wav`",dst=`"$outputFileName`"} vlc://quit"

  echo "processArgs: $processArgs"
  
  start-process $processName $processArgs -wait

  }
It's not that complicated. It's a slightly modified script from VLC wiki (https://wiki.videolan.org/How_to_Batch_Encode/). There was one hiccup though because by default poweshell doesn't permit script execution. Therefore, I have to run powershell as administrator and then modify the execution policy to unrestricted like so:
Windows PowerShell
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

PS C:\Users\zzz> Set-ExecutionPolicy Unrestricted
Anyway, the powershell script above assumes that you placed all of the mp4 in the current directory (directory where the powershell script located). The batch encoding result will be located in the current directory as well.
Now, to create audio CD, you'll need the application to burn the wav files into audio CD. I'm using cdrecord in Linux to do this because for some reason, the only machine with CD/DVD writer that I have is running Linux. You can use your favorite CD authoring application to do this.

Happy Encoding!

Wednesday, October 30, 2013

When did human know to make nano structures?

Well, it's far longer than what you might think.

The Damascus steel (http://en.wikipedia.org/wiki/Damascus_steel) already contains nano structures in it. The steel making process to make the Damascus steel started as early as the 3rd century.

You can read details of the nano structure here: http://www.crystalresearch.com/crt/ab40/905_a.pdf

Until now, the process of making Damascus steel has not been rediscovered. The process itself was lost probably due to various reasons. Read the Wikipedia entry above for that.

What is interesting from this, is that we are not as advanced as we thought compared to older civilization. Are we starting to rediscover what ancient human did thousands of years ago?

Thursday, September 5, 2013

Mediterranean Missile Test Detected by Voronezh-DM Radar?

This news: http://en.rian.ru/military_news/20130904/183151257/Russia-Defense-Ministry-Israel-Playing-With-Arms-After-Israel-Launch.html
mentions that the missile launch (which was described as a test launch by both Israel and USA) was detected in Armavir region of Russia. This is the relevant news quote:
The launch was detected at 10:16 a.m. Moscow time (6:16 a.m. GMT) by radar in the southern Russian city of Armavir

Now, if you look at what radar installation is in Armavir, you would find this: http://en.wikipedia.org/wiki/Voronezh_radar. This means that the Voronezh-DM radar is working as "advertised". It's powerful enough to detect ballistic object(s) thousands of miles away. Feel free to disagree in the comment section :-)

Friday, August 9, 2013

[New Article over at Infosec Institute] Introduction to Automated Captcha Solving

My article on (introduction to) solving captcha automatically is online just now over at: http://resources.infosecinstitute.com/introduction-to-automated-captcha-solving/

I hope it adds into your repertoire if you haven't know it yet :-).

Saturday, May 4, 2013

Alternative Way to Store Information -- Quipu

Chinese, Japanese or Korean "writings" are exotic but all of them are still writings as we know it.
How about this: http://en.wikipedia.org/wiki/Quipu.

Quipu is entirely different. What makes me really amazed is that it proved that you don't need the "writing system as we know it" to store information. Thus, to build complex stuffs or develop complex system. Well, Quipu is a "sort of" writing but it's far more different than what other cultures have developed over the last several millenia. It's an original idea, an out-of-the box solution to store and presumably transmit information.

Wednesday, January 16, 2013

What Happened in Mali?

I was quite surprised to read the news on France involvement  on the "internal" Mali troubles with "rebels" and "supposedly terrorists". Common sense would of course ruled that action as probably "useless" and waste of taxpayer money. But, well, not exactly if you dig deeper though.

The first hint comes from "the conflict" happens in the North of Mali (http://blogs.defensenews.com/intercepts/2013/01/photo-of-the-day-jan-15-2013/). What the hell is there in the "North"? Call me conspiracy theorists. But, if you look at this: http://www.oklouranium.com/, you'll notice that there is an uranium ore mine to the northeast of Mali. Are these guys fighting for Uranium? Well, that link shows that the company mining the uranium is from Australia, instead of France. But, if that
mine falls to the "rebels" hand, that would be a VERY big trouble. I'm quite sure there is black market for uranium and also there's demand of course. Another interesting fact is Mali has a quite big gold deposit (12th) in the world and 3rd in Africa. The fact is mentioned in the previous link. This is interesting nonetheless. If the rebels could control access to the gold deposit, they could probably fund themselves adequately.

Another issue in Africa lately is the feeling of unease in the West as China encroach into Africa and making big inroads, trying to secure raw materials in an area traditionally "controlled" by European countries. Well, maybe I'm thinking too much into this. But, I think it's just common sense. Any industrialized/semi-industrialized Nation or let's groups of people would have demands for raw materials. The problem is, if the material is as dangerous as uranium, that would be troublesome.

Friday, July 27, 2012

Perpanjangan Paket Data Tri (3)

Memperpanjang paket data Tri memang agak lebih ribet dibandingkan paket data dari operator lain, khususnya untuk kasus kuota yang sudah habis sebelum masa aktif paket tersebut habis. Berikut ini cara topup dan "memaksa" kuota yang sudah anda topup segera bisa digunakan sebelum masa aktif paket tersebut habis: 
1. Beli voucher topup untuk paket yg anda pakai. Dalam kasus saya, saya membeli dari ATM, pada struk dari ATM muncul nomor kode untuk topup. Karena nomor kode topup tertera pada struk, jangan buang struk anda setelah transaksi di ATM.

2. Dari modem atau HP anda, kirim SMS ke 234 dengan isi "mau 1GB" jika paket yang anda inginkan adalah paket 50rb (1.25GB). Untuk denominasi paket lain, silahkan ganti 1GB dengan jenis paket anda. 

3. Reboot (Matikan kemudian nyalakan) HP anda untuk memastikan topup yang anda baru saja lakukan langsung diaktifkan oleh Tri (3). 

Saya sebelumnya harus menanyakan "trik SMS" ini ke customer service Tri sebab setelah topup 50rb, paket yang saya gunakan tetap tidak aktif. Ini berbeda dengan Indosat yang hanya akan meminta anda mematikan kemudian menyalakan modem atau HP jika anda baru saja topup paket data yang anda gunakan. 

Friday, June 22, 2012

Amelia Earhart Last Trip Footnote

I never knew before that Amelia Earhart did a stop in Bandung after a flight from Bangkok in her last flight, the attempt to encircle the globe: http://acepilots.com/earhart2.html. It's rather surprising and not-so-surprising at the same time.

I have known for several years that the Netherland/Dutch East Indies Government (now Indonesia) did try to establish aviation "center" in Bandung despite its rather bad location (sorrounded by mountains, Bandung was prehistoric lake long ago).


Wednesday, June 20, 2012

Automotive Night Vision (civilian version of FLIR?)

When you read this: http://en.wikipedia.org/wiki/Automotive_night_vision. Every single one of the implementation reads like a Forward Looking Infra-Red (FLIR: http://en.wikipedia.org/wiki/Forward_looking_infrared) to me. To be more precise, read this line from GM implementation of the automotive night vision: "This system was developed with Raytheon and worked by using an infrared sensing camera mounted behind the vehicle's grille".

Now, why would Raytheon is in there? if it's not for FLIR tech, then I'd be surprised. The question is: what kind of FLIR sensor is being used? I think it must've been the  long-wave infrared (LWIR) cameras because it doesn't need Cryogenic cooling which is almost impossible in the target vehicle, given the required size and energy requirement.

Another question is will this technology be adopted en-masse? Time will tell. But, to be sure this is a dual use tech.

Tuesday, May 22, 2012

Our Distorted View of The Ancient World

We, who live in 21st century tends to view the ancient past as less advanced civilization. The long held view of superiority of present technology compared to ancient times, for example ancient Egypt or ancient Greek is now challenged by the discovery of several remnants from the old times.
The Antikythera Mechanism (http://www.antikythera-mechanism.gr/) is one of them. The precision of this instrument is a silent proof of the ingenuity of our "ancient" predecessors. Perhaps we shouldn't call whoever invent the machine as "ancient" but rather as advanced predecessors.
Perhaps, reinvention is a feature of any advanced civilization, be it human or not. Maybe, very far in the future when a global catasthrope happens and then reinvention happens let's say to our present day radio technology, human living in that time would call us the ancient as well :-).

Sunday, January 29, 2012

Opting Out Google Ad Tracking

If you've been following the new Google Privacy policy, you must have known about the Ad Tracking. That is, Google will "track" your browsing habits and present you with personalized result on various Google services that you use. If you think that you don't want to be tracked, you can opt-out. These are the steps:
  1. Go to Google Dashboard (https://www.google.com/dashboard/)
  2. Sign in to your account
  3. Go to Google Ads Preferences Manager (http://www.google.com/ads/preferences/?hl=en)
  4. Choose opt-out in the services you wished not to be tracked (or all of Google services that you use)
If you're using Google Chrome browser and want this setting to be applied permanently, you can use the Keep My Opt-Outs Chrome browser plugin.

Monday, January 16, 2012

How to Recognize The Documentation That You Wrote Has Gone Too Deply Nested?

One of the way to recognize that you have gone too far "nesting" your documentation section. For example, if you have gone to make section v.w.x.y, that means you're now four levels deep. Four levels are already too deep because human brain are not naturally able to remember something with "nesting-level" more than that.

When your nesting has gone too deep, consider creating a new "chapter" and provide a smooth transition into that new "chapter". That way, people will understand what your're trying to say. Monstrous "chapter" is not good or it's better to say that it's a bad writing habit.

Be aware of it next tome you write documentation

Saturday, January 14, 2012

Intel Atom Finally Arrived in Smartphone (x86 malware finally enters the phone)

Well, as Anand points out: http://www.anandtech.com/show/5365/intels-medfield-atom-z2460-arrive-for-smartphones. Intel Atom smartphone will finally arrive this year.

I'm not that much concerned about its performance but I'm really concerned with the "malware legacy" that the platform has. x86, due to its prevalence has been the playing ground for malware "craftsmen" for years. So, when it enters the smartphone space, surely it's a cause for concern. Android NDK provides the "entry point" to "craft" a host of new malware for the platform.

It seems to be there will be a lot of work for the security guys in that particular platform even before its public release from Intel partners.

Thursday, November 10, 2011

Productive Reading vs Consumptive Reading

After being on the "consumptive reading" side (without being aware) for a couple of months I realized that there are actually two types of reading habit which I have to be always aware of in order to avoid wasting my time on not so important things. They are consumptive reading and productive reading.

I defined consumptive reading as reading information which has no immediate benefit outside of knowing "something is happening and have no immediate consequences on oneself". It does add to one's knowledge but have no immediate effect or impact in productivity (measured by useful output). To put it bluntly, it's "distraction" that consumes ones energy. On the other hand, productive reading is reading information which has immediate effect on ones work, which adds value to ones work by either shorten the time required to finish ones work or helps in other way(s) or will help on other "not so immediate" work.

It's rather easy to recognize consumptive reading. Ask yourself whether what you're currently reading adds immediate value to what you're working on. Whether it improves your skillset or specific knowledge. If it's not, then what you're doing is consumptive reading. If you're not in your "leisure time". Then, it's better to avoid doing consumptive reading because it eats into time available for productive reading or other activities which much more useful for you.

Recognizing these two types of reading "habit" is important in the age of "information overload" like now because we have very limited time to live and we should not waste it. This is not about money or anything. It's about appreciation to life itself. To live life to its fullest :-).

Wednesday, October 19, 2011

Gmail Binary File Attachment Bug and Its Fix

If you're attaching a binary file to an email bound to a Gmail account or if you're attaching a binary file to an email outgoing from a Gmail account, be very careful. If your binary file contains the 0Dh, 0Ah byte sequence, Gmail very probably would treat it as text attachment instead of binary attachment which will result in Gmail truncating/deleting the 0Dh byte.

This is bug really annoying, especially if the file requires a "binary precision", it will become unusable. The fix is quite easy, just make Gmail unable to "peek" into the attachment by compressing the file with Winrar or other file compressor. A side note: WinZip or other Zip compressor still enables Gmail to "peek" into your attachment(s).

Tuesday, August 30, 2011

Idul Fitri, Astronomi dan Navigasi

Untuk sesaat mari kita kesampingkan masalah penentuan 1 Syawal tahun ini dan merunut kembali pendekatan "logis" perhitungan penanggalan Hijriyah dan sejarahnya. Penanggalan Hijriyah adalah "lunar calendar". Artinya penanggalan berdasarkan posisi bulan terhadap pengamat di bumi. Mengapa bulan diambil sebagai patokan perhitungan waktu? Alasannya sederhana, karena posisi bulan relatif mudah di amati dan presisi pengamatan yang cukup akurat sekalipun tidak menggunakan alat bantu. Hal tersebut adalah salah satu alasan peradaban masa lalu menggunakan bulan sebagai patokan. Selain itu, efek dari posisi bulan dapat diamati secara tidak langsung melalui pasang-surut air laut di daerah pesisir.

Penanggalan pada dasarnya adalah pengamatan benda langit, jadi subjek ini merupakan bagian dari ilmu astronomi. Astronomi dapat kita temui pada peradaban masa lalu karena penentuan waktu (penanggalan) merupakan bagian yang penting dari sebuah peradaban. Untuk menentukan hari2 yang penting dan hal-hal lain yang bersifat ritual, penanggalan sangat penting. Hal itu menyebabkan ilmu astronomi selalu berkembang di tempat-tempat dengan peradaban maju.

Kegunaan lain dari ilmu astronomi adalah dalam hal navigasi. Terutama navigasi di laut. Bintang-bintang tertentu mempunyai posisi yang berubah terhadap horizon tergantung posisi kita di bumi (posisi terhadap garis lintang dan bujur). Misalnya, posisi bintang "Polaris" bergerak mendekati horizon jika kita bergerak dari belahan bumi utara ke arah equator. Selain itu, pengamatan terhadap bulan dapat menjadi alat bantu perhitungan waktu untuk kapal-kapal yang berada di laut pada malam hari.

Sekarang, apa hubungan antara astronomi, navigasi dan idul fitri? Hubungannya ada pada pengukuran yang akurat terhadap posisi benda langit terhadap horizon. Salah satu alat (tanpa mekanisme digital dan bantuan satelit) yang paling akurat dalam menentukan posisi benda langit terhadap horizon adalah sextant (http://en.wikipedia.org/wiki/Sextant). Sextant adalah alat navigasi yang ditemukan pada abad ke-18 (http://www.mat.uc.pt/~helios/Mestre/Novemb00/H61iflan.htm).Alat ini digunakan untuk pengamatan benda langit dengan akurat untuk membantu navigasi di masa lalu sebelum GPS ditemukan dan saat ini digunakan sebagai back-up untuk navigasi global sebab tidak membutuhkan suplai listrik dan tetap berfungsi jika satelit GPS mati/tidak dapat dihubungi.

Sextant dapat mengukur posisi benda langit terhadap horizon dengan akurat. Sehingga selain untuk navigasi, sextant juga dapat digunakan untuk membantu perhitungan penanggalan. Jika langit dalam keadaan mendung, sextant dapat melakukan pengukuran dengan menggunakan "artificial" horizon yang "built-in" pada alat tersebut.

Penentuan hilal pada penanggalan Hijriyah, adalah penentuan posisi bulan terhadap horizon (CMIIW). Di luar dari kontroversi berapa derajat kah yang "valid" (government-ego excluded), sextant dapat digunakan jika seandainya kita berada di tengah laut pada saat mendekati idul fitri untuk membuat keputusan sendiri di luar dari pengaruh pemerintah. he..he..he..



Selamat Idul Fitri :-)