This probably is the most frequent asked question: programming language choice. Well, there are literally hundreds even thousands of programming languages out there. Several have gained sweet popularity, some have been discontinued, buried along with obsolete technologies. Some languages have lasted to date, some others just get illusively overhyped.
That, of course, makes total beginners get confused. What should I learn? Where can I find help if I get stuck? This short article would probably help you clear your path to choose a programming language.
Warning my lovely readers! The following will be a very technical article, but still, I can’t prevent your inner desire to keep reading this great article. 🙂
In my lab course on computer architecture, implementing processor in VHDL is one thing every electrical engineering student have to face. You know, it is like building your own Intel Core i7 yourself, but of course with much much much simplified processor architecture.
One of such thing is MIPS32, MIPS stands for Microprocessor without Interlocked Pipeline Stages. Cool huh?
MIPS is commonly be used for teaching processor architecture in not so great details. There are several stages every processor should have: Instruction Fetch, Instruction Decoding, Executing, Memory access, and write back. (are you confused? I’ve told you this will be very technical, it’s your fault. Keep reading!)
If you curious in the detail of the assignment, you should download the lab guide here (http://el3111.bagus.my.id/modul-praktikum/) unfortunately, it’s written in Indonesian only. No translation!
Instead of building our own hardware by connecting the individual physical logic gates, we’re implementing this MIPS processor in FPGA by writing VHDL code. Personally, I really enjoyed this lab course, I learned a lot when I was doing something. You know, I’m a kinesthetic learner. So I learn more and better when my hands grab something ‘real’.
As a bonus, here a screenshot of VHDL code I wrote days ago.
Whew! I’m now in my 5th semester, with 71 credits done out of 144. Easy, 73 to go with 19 credits for this semester, which means 54 left for the last three semesters, what a nice life!
But lately I heard numerous friends are buzzing around talking about internship.
What?! Internship? Oh man, I almost forgot to prepare that! (or at least think of it). As of the curriculum for electrical engineering student, it is required to take 8 weeks internship at engineering company.
Next year (2016) local companies will open for intership. But I interested to go abroad.
Few of my friends are planning to get internship at CERN. While the others are pursuing really-prestigious-multinational-engineering-company. Hmm, I’m not really sure where to go (and most importantly, get accepted for interning).
Well, it is still one semester left to prepare myself.
Doing problem sets, again; for my upcoming exam, again. And let’s click the Google Chrome icon, again. But not about MIT essays, again (look here if don’t read yet). But it is about little-tiny-micro robots!
I’m going to build some toy projects which using this cheap microcontroller:
Chrome landed me on this site (here), that’s about very amusing tiny robots. Can’t be patient to build such robot. 🙂
But the more impressive yet beautiful design must be this bristlebot (here). This design has even been redesigned by chinese (or taiwanese) manufacturer and put it on the production line; then they called it “hexbug”, very pretty design by the way.
I am tired doing problem set all night long for my upcoming exams. To refresh my brain, let’s click the Google Chrome icon. In this article, I would like to share my findings, and here we go.
I am reflecting why is on earth I must do all these problem sets, I am not loving it. But eventually I came up with my Quora Digest which lists interesting question about MIT, I was once dreaming to be one of student there, but now I am facing the reality: problem sets.
The question is, what is the best MIT short Essay? And the answerer leads me to this link [here]. I don’t know who wrote this essay, but let’s assume it is not a parody essay.
I’d ever read (or at least skim) over question asked by MIT, my answer to these questions are considerably low quality answer. Then I take a look at the essay posted at that link. Wow. I don’t even think I would get inspiration like him.
It has been over a month since I migrated from Windows. It was actually happened by accident! My laptop was used to dual-booted with Windows 7 and Ubuntu 13.04. When I was logging in to Ubuntu I realized that I was unable to perform “apt-get update”, after googled for a while I found that Ubuntu 13.04 was not supported by Canonical per 2014 (I’m not sure when). The packages for my old Ubuntu had vanished from the main server. I know it was possible to configure my old ubuntu to download packages from other version, but I was too lazy to do such thing.
I decided to upgrade my old ubuntu to the newer one: Ubuntu 14.04, it is a Long Term Support (LTS) version of Ubuntu, so I just need to upgrade every 5 years instead of every 6 months. After, I found it difficult to upgrade 13.04 to 13.04; it requires me to upgrade to 13.10, then 14.04, which I didn’t want to do. It would waste my internet quota. And the final choice was: fresh install the newer ubuntu and then uninstall the old one. Sounded seamless plan at that time, but let me continue..
I didn’t fully understand how was this happened, but I think I misunderstood the installation option. After the fresh-install finished, I realized that my harddisk was so empty. Guess what, yes, I just formatted the entire disk and really “fresh-install” ubuntu 14.04. All of my files had gone. Hmm.
Okay, I didn’t need to regret everything I’ve done so far. I just keep using my ubuntu 14.04, and I gotta used to it. I even didn’t have any wishes to come back to Windows. I just wanted to be Linux Expert.
People who are really serious about software should make their own hardware -Alan Kay
Perancangan prosesor sangat menarik buat saya, prosesor tidak punya bagian mekanik yang bergerak namun dapat melakukan banyak hal, sama seperti otak kita. Hal itulah yang membuat saya kagum.
Orang yang benar-benar serius tentang perangkat lunak semestinya membuat perangkat kerasnya sendiri. Penafsiran saya, untuk betul-betul mengetahui how the software we are using really work underhood, kitamesti tahu bagaimana instruksi alias program komputer dieksekusi. Inilah alasannya mengapa kita harus membuat hardware kita sendiri.
Anda tahu modem? Pernah bongkar “mesin” modem USB Anda? Jika dibongkar, Anda akan temui chip modem yang menjadi pusat pemrosesan data yang lalu-lalang. Ada bagian yang bergerak? Tidak. Namun benda sekecil itu mampu memproses hingga jutaan informasi tiap detiknya.
Baik, sekarang mari kita fokuskan ke prosesor. Ketika membuat prosesor, kita benar-benar dibebaskan untuk merealisasikan desain apapun yang kita mau. Bahkan, kita bisa membuat instruction set sendiri sesuka kita, menambah kurang fitur-fitur yang diimplementasikan oleh prosesor buatan kita, menentukan seberapa cepat ia berjalan, dan seterusnya.
Jika Anda membayangkan prosesor adalah otak komputer yang diproduksi Intel dan AMD, Anda tidak salah. Tapi sebetulnya tidak terbatas itu saja, Anda bahkan sebetulnya bisa membuat sendiri prosesor di rumah, really, namun tentu tidak secepat prosesor laptop Anda. :p
Ada sebuah instructable mengenai pembuatan prosesor 8-bit sederhana di link ini. Cukup mudah diikuti meskipun saya sendiri belum pernah mencobanya.
Anda sebenarnya tidak mesti jadi seorang sarjana elektro atau computer scientist untuk mengerjakan proyek ini, namun mempelajari sistem digital baik di universitas ataupun secara otodidak akan sangat banyak membantu Anda mengerti perancangan prosesor. Ada banyak buku-buku yang menawarkan informasi berharga mengenai topik ini, mulai dari yang murah hingga mahal, dari yang berbahasa inggris sampai bahasa Indonesia pun juga ada.
Jika Anda tertarik dengan dunia rancang-merancang makhluk kecil nan powerful ini, Anda bisa mengikuti link yang saya sediakan di posting berikut ini.