Sunday, November 16, 2014

Good News: Microsoft Open Sources .NET; Now It Will Run On Linux And Mac

from EFYTimes

Microsoft and Satya Nadella – the journey of rapid re-invention has set its sky-limit level, it seems. In the world of computing, Microsoft has moved a crucial step further, as they have now started open sourcing the foundation of .NET. .NET is a software which is used by worldwide developers to build websites and other online applications.

As per the latest development, the free code of .NET will now be applicable not only on those computer severs which are run by Microsoft’s own Windows operating system, but also for its two arch rivals – Linux and Apple’s Mac OS. Microsoft veteran S. “Soma” Somasegar has told that they are going to have a developer offering now which will be both relevant and attractive for developers, working on any application. Microsoft, in this way, is grabbing every possible opportunity to stay in the top in the modern software era and online services, without just reigning with their Windows system.

The software giant has realised the fact that open source Linux OS is growing very popular among businesses and software developers. The main focus of Linux OS is its containers, which streamlines building applications in a modern way. Theoritically, open source .NET, which runs on Linux and Mac OS, will now expand the usability of Microsoft’s developer tools. Hence the company will be able to create revenue from other channels as well, including premium versions of its developer tools and of course cloud computing service, Microsoft Azure. This is one of the biggest moves since January, when CEO Satya Nadella took up the charge, with an aim to raise the company’s standards in terms of open source software. Recently the company announced free Microsoft Office applications for Apple iPhones, iPads and Android devices. They have also announced the next version of Windows for computer servers will run Docker too, which is a Linux-based container technology.

.NET is considered as one of the most relevant competitors of Java. It’s considered more powerful than Java too. Microsoft now hopes to open source the .NET virtual machine and associated software libraries too. Then the company will also work with outside developers, including developers from Mono project, and will build versions of .NET virtual machine, which also run on Linux and Mac OS. With .NET on Mac OS, it will make it easier for developers to build software for Linux severs as well. Well, the code which will allow .NET run on Linux and Mac OS has not been created yet, but as Somasegar says, it will be done in next few months.

He also said engineers in his company have been discussing this move for lat twelve years and now, thanks to Nadella, the company has actually made it happen. It’s not that Somasegar has given full credit to the CEO for the latest development, but yes he has acknowledged the fact that Nadella has played a crucial role. Somasegar commended Nadella for his advanced thinking nature and continuous drive towards more and more development. It’s for sure than open source .NET will make Microsoft software more appealing to developers.

Saturday, November 15, 2014

7 Alasan Mengapa Sebuah Pengembang Kehilangan Motivasi!

Dikutip dari EFYTimes
Tahukah anda mengapa seorang programmer atau developer software merasa kurang termotivasi di ruang kerja mereka? Nah, kami memiliki tujuh alasan untuk Anda.

Tak seorang pun di dunia ini bekerja hanya untuk uang. Kalau demikian, maka pengembang / programmer, yang biasanya dibayar dengan sangat baik, tidak pernah akan berhenti dari pekerjaan mereka. Tetapi alasan paling umum di balik pengembang perangkat lunak berhenti pekerjaan adalah kurangnya motivasi. Apakah Anda tahu mengapa pengembang merasa kurang termotivasi di ruang kerja mereka? Nah, kami memiliki tujuh alasan untuk Anda:

1. Kurangnya manajemen

Motivasi untuk pengembang dan proyek menghasilkan adalah dari manajemen yang baik. Manajemen yang baik berarti pengambilan keputusan yang cepat, mendorong pemikiran mandiri, membangun perangkat lunak berkualitas dan membela tim saat dibutuhkan. Jika pengembang mendapat manager seperti itu maka ia / dia tidak akan pernah merasa lelah bekerja bahkan berjam-jam untuk memberikan hasil terbaik. Manajemen yang baik sangat diperlukan untuk motivasi pengembang dan software mereka.

2. Kurangnya atmosfer untuk berhasil

Sebagian besar proyek perangkat lunak selalu berhadapan dengan resiko dimana mereka ditakdirkan untuk gagal. Pengembang menemukan jenis ketidakamanan menakutkan dan jika tenggat waktu tidak realistis maka pengembang merasa kurangnya motivasi untuk sukses dengan proyek. Pengembang ingin membangun sebuah perangkat lunak yang sangat mudah dikelola. Jika suasana kerja tidak menawarkan kualitas dan pemeliharaan, maka pengembang menemukan kurangnya motivasi untuk membangun perangkat lunak. Pengembang tidak merasa cukup termotivasi untuk memberikan proyek tepat waktu jika tenggat waktu tidak realistis.

3. Kurangnya tantangan

Pengembang selalu bersemangat untuk belajar keterampilan baru dan menerima tantangan baru. Tapi jika ada kekurangan tantangan dalam pekerjaan, maka pengembang merasa kurang termotivasi. Jika pengembang diperbolehkan untuk bekerja dengan teknologi baru di tempat kerja, maka tingkat produktivitas mencapai tingkat yang baru. Pengembang selalu membutuhkan beberapa tugas teknis menantang yang menuntut pendekatan kreatif. Jika tantangan tidak ada bagi setiap pengembang, maka tidak ada yang menyenangkan sama sekali untuk pekerjaan.

4. Kurangnya kesempatan untuk menunjukkan kreativitas

Pengembang selalu dalam kreativitas, menciptakan desain baru. Pengembang selalu sangat menyukai pemecahan masalah dan jika tidak ada ruang lingkup yang cukup untuk menampilkan kreativitas teknis, pengembang merasa kurangnya motivasi ketika ada tidak cukup kreativitas yang ditawarkan.

5. Mengabaikan

Pengembang selalu tahu jika ada proses dalam suatu sistem tidak bekerja dengan baik. Jika pengembang tidak memiliki suara dan jika mereka tidak mampu menjadi vokal tentang masalah mereka maka mereka akan kurang termotivasi. Bos mengabaikan kebutuhan untuk mendapatkan teknologi yang lebih baik di setiap ruang kerja untuk pengembang, maka faktor motivasi berkurang.

6. Kurangnya pengakuan kerja keras

Insinyur suka membangun sesuatu dengan cara yang kreatif baru yang menyenangkan. Pengembang senang untuk menempatkan kerja keras tetapi jika tidak ada pengakuan yang cukup untuk kerja keras mereka, maka dapat menjadi faktor besar di balik kurangnya motivasi. Jadi pengakuan bekerja sebagai faktor motivasi besar bagi pengembang yang bekerja pada sebuah proyek pengembangan perangkat lunak.

7. Memiliki kendala warisan

Berkembang dengan antarmuka yang buruk, kode yang jelek dan model data yang dirancang buruk tidak pernah disukai oleh setiap pengembang. Jika ada terlalu banyak pembatasan, maka akan membunuh kreativitas dan rasa menyenangkan dalam membangun perangkat lunak juga akan mati. Pengembang akan kurang motivasi jika aplikasi berkualitas buruk digunakan untuk waktu yang lama.

Monday, August 18, 2014

Security: 10 Tips for Hardening a Linux Server

Posted by Darrel Haswell from SoftLayer Blog

In light of all the complex and specialized attacks on Internet-facing servers, it’s very important to protect your cloud assets from malicious assailants whose sole purpose is to leach, alter, expose, siphon sensitive data, or even to shut you down. From someone who does a lot of Linux deployments, I like to have handy a Linux template with some extra security policies configured.

Securing your environment starts during the ordering process when you are deploying server resources. Sometimes you want to deploy a quick server without putting it behind an extra hardware firewall layer or deploying it with an APF (Advance Policy Firewall). Here are a couple of security hardening tips I have set on my Linux template to have a solid base level of security when I deploy a Linux system.

Note: The following instructions assume that you are using CentOS or Red Hat Enterprise Linux.

1. Change the Root Password
Log in to your server and change the root password if you didn’t use a SSH key to gain access to your Linux system.

  • passwd - Make sure it’s strong.
  • Don't intend on using root.

2. Create a New User
The root user is the only user created on a new Linux install. You should add a new user for your own access and use of the server.

  • useradd <username>
  • passwd <username> (Make sure this is a strong password that’s different from your root password.)

3. Change the Password Age Requirements
Change the password age so you’ll be forced to change your password in a given period of time:

  • chage –M 60 –m 7 –w 7 <username>
    • M: Minimum of days required between password changes
    • m: Maximum days the password is valid
    • w: The number of days before password will warn of expiration

4. Disable Root Login
As Lee suggested in the last blog, you should Stop Using Root!

  • When you need super-user permissions, use sudoinstead of suSudo is more secure than using su: When a user uses sudo to execute root-level commands, all commands are tracked by default in/var/log/secure. Furthermore, users will have to authenticate themselves to run sudo commands for a short period of time.

5. Use Secure Shell (SSH)
rlogin and telnet protocols don’t use an encrypted format, just plain text. I recommend using SSH protocol for remote log in and file transfers. SSH allows you to use encryption technology while communicating with your sever. SSH is still open to many different types of attacks, though. I suggest using the following to lock SSH down a little bit more:

  • Remove the ability to SSH as root:
    1. vi /etc/ssh/sshd_config.
    2. Find #PermitRootLogin yes and change toPermitRootLogin no.
    3. Run service sshd restart.
  • Change the default SSH 22 port. You can even utilize RSA keys instead of passwords for extra protection.

6. Update Kernel and Software
Ensure your kernel and software patches are up to date. I like to make sure my Linux kernel and software are always up to date because patches are constantly being released with corrected security flaws and exploits. Remember you have access to SoftLayer’s private network for updates and patches, so you don’t have to expose your server to the public network to get updates. Run this with sudo to get updates in RedHat or CentOS: yum update.

7. Strip Your System
Clean your system of unwanted packages. I strip my system to avoid installing unnecessary software to avoid vulnerabilities. This is called “reducing the attack surface.” Packages like NFS, Samba, even the X Windows desktops (i.e., Gnome or KDE) contain vulnerabilities. Here’s how reduce the attack surface:

  • List what is installed: yum list installed
  • List the package name: yum list <package-name>
  • Remove the package: yum remove <package-name>

8. Use Security Extensions
Use a security extension such as SELinux on RHEL or CentOS when you’re able. SELinux provides a flexible Mandatory Access Control (MAC); running a MAC kernel protects the system from malicious or flawed applications that can damage or destroy the system. You’ll have to explore the official Red Hat documentation, which explains SELinux configuration. To check if SELinux is running, runsestatus.

9. Add a Welcome/Warning
Add a welcome or warning display for when users remote into your system. The message can be created using MOTD (message of the day). MOTD’s sole purpose is to display messages on console or SSH session logins. I like for my MOTDs to read “Welcome to <hostname>. All connections are being monitored and recorded.”

  • I recommend vi /etc/motd

10. Monitor Your Logs
Monitor logs whenever you can. Some example logs that you can audit:

  • System boot log: /var/log/boot.log
  • Authentication log: /var/log/secure
  • Log in records file: /var/log/utmp or /var/log/wtmp:
  • Where whole system logs or current activity are available: /var/log/message
  • Authentication logs: /var/log/auth.log
  • Kernel logs: /var/log/kern.log
  • Crond logs (cron job): /var/log/cron.log
  • Mail server logs: /var/log/maillog

You can even move these logs to a bare metal server to prevent intruders from easily modifying them.

This is just the tip of the iceberg when securing your Linux server. While not the most secure system, it gives you breathing room if you have to deploy quick servers for short duration tests, and so on. You can build more security into your server later for longer, more permanent-type servers.

- Darrel Haswell

Darrel Haswell is an advisory SoftLayer Business Partner Solution Architect.

Monday, December 02, 2013

Mengadopsi Visual Studio dan Team Foundation Server untuk memelihara Siklus Hidup Aplikasi (Application Lifecycle Management - ALM)

Ini hanya sekedar share bagaimana menerapkan TFS dengan Visual Studio untuk manajemen Siklus Hidup Aplikasi (ALM). Sumber diambil dari

Topik ini memperkenalkan tutorial yang mengikuti anggota tim fiktif karena secara bertahap mengadopsi Visual Studio sebagai solusi untuk manajemen siklus hidup aplikasi (ALM). Tutorial ini menunjukkan bagaimana tim dimulai dengan cepat dan kemudian mulai menggunakan Visual Studio untuk kegiatan ALM tambahan pada berbagai titik di setiap waktu.
Cerita: Irna, Andi, Fadla, dan David adalah tim yang mengembangkan aplikasi web di sebuah perusahaan minimarket. Tim ini telah memutuskan untuk menggunakan Team Foundation Server (TFS) untuk mengelola source code. Seiring waktu, tim juga mulai menggunakan Visual Studio, Team Web Access, Microsoft Test Manager, Microsoft Feedback Manager, dan PowerPoint untuk mengelola backlog, membuat storyboard, mendapatkan feedback pelanggan, dan review, tes, dan membangun source code.
Tim Anda dapat mengadopsi fitur Visual Studio untuk ALM dalam urutan apapun, kecuali satu fitur tergantung pada yang lain. Misalnya seperti yang ditunjukkan gambar berikut, tim yang ingin melakukan pengujian eksplorasi dan umpan balik permintaan dalam Visual Studio harus mengelola backlogs mereka di TFS.

ALM Incremental Adoption

Step 1 : Sebelum Anda Memulai
Irna menginstall TFS dan meletakkan source code timke dalam Version Control. Dia juga melakukan setup continuous-integration builds sehingga tim bias mengidentifikasi dan memperbaiki bug lebih dini.

Setup Version Control ...... to be continued.

Sunday, October 20, 2013

Fix Issue When Installing PostgreSQL on Windows 8 64 Bit Using Installer

This post is the answer for my previous post. After googling hard, finally I found the answer from this link

The steps I followed are:
  1. Download your latest PostgreSQL installer from here and save to C:\Download\
  2. Uninstall your previous installation PostgreSQL if any.
  3. Delete the postgres user if it still exists.
    net user postgres /delete
  4. Create the postgres user with a password you can remember
  5. Add the postgres user to the Administrators group
  6. Add the postgres user to the Power Users group
  7. Run a command window as the postgres user
    runas /user:postgres cmd.exe
  8. Run the installer file from within the command window. C:\Download\postgresql-9.3.1-1-windows-x64.exe
    This should run the installation successfully.
  9. Remove the postgres user from the Administrators group.

Installing PostgreSQL using Binary Zip Distribution on Windows 8 64 Bit

In previous version of windows (let's say windows Xp, Vista, and 7) i was install my pgsql with no problem at all using installer. But i got a problem when my laptop upgraded to windows 8 (64 bit), my installation was failed with error below :

After searching for many forums and sources, i got no suitable solution because my problem still occurred like above. I had several problems with the one click installer and after the installation process was finished, we could not start the PostgreSQL database. Since i could not solve this problem in a reasonable amount of time, so i decided to switch my installation using zip binary distribution of PostgreSQL.

Friday, September 27, 2013

Run Local network (LAN) and Wifi/Internet connection together on a laptop at the same time

We know that make an application or coding a program will keep us to connected every time to the internet, because we often need Google. If we are using a laptop, usually there are two connection available, LAN to connect to local network and WIFI to connect to the internet. If you don't know how to keep your two connections alive together, i'm sure you will very busy to plug and unplug your LAN cable or switch on and switch off your WIFI. So let's do the little tricks below to solve this :
  1. Open your command prompt as Administrator (on Win 7/8) by right click the its shortcut and select "Run As Administrator"
  2. We will use the WIFI as default route and LAN as static route. Before to do this we need to remove the two default route created by system, because this is why we couldn't connected to the internet or to the LAN network at the same time.
  3. Run this command to delete the DEFAUT route : route DELETE
  4. Add route to your LAN network As example your LAN default gateway is and your server farm/segment is subnet mask so the command is: route ADD MASK
  5. Add route to your WIFI/Internet network We will set the WIFI as the default gateway. As example your internet ip gateway is so the command is: route ADD MASK
  6. This's it, now you can connect to your LAN and Internet at the same time. Good luck!.

Friday, September 20, 2013

Error maximum request length exceeded on ASP.Net

I have come across this error multiple times at work. This problem occurs because the default value for the maxRequestLength parameter in the section of the Machine.config or Web.Config file is 4096 (4 megabytes). As a result, files that are larger than this value are not uploaded by default.
To resolve this problem, use one of the following methods:
  • In the Machine.config file, change the maxRequestLength attribute of the configuration section to a larger value. This change affects the whole computer.
  • In the Web.config file, override the value of maxRequestLength for the application. For example, the following entry in Web.config allows files that are less than or equal to 1 GB to be uploaded:
Max value for maxRequestLength attribute is "1048576" (1 GB) for .NET Framework 1.0 or 1.1 and "2097151" (2 GB) for .NET Framework 2.0.
Note: During the upload process of large files, built-in ASP.NET loads the whole file in memory before the user can save the file to the disk. Therefore, the process may recycle because of the memoryLimit attribute of the processModel tag in the Machine.config file. More info you can find in Microsoft KB article:;EN-US;295626

Sunday, February 24, 2013

Keep Application Running On Windows 2003 Server Remote Desktop Session

If you are an server Administrator, you will need sometime to run applications from remote desktop. But on the default server policy setting, that application will be shutdown during the end of remote desktop session. Because of security reason. Yesterday i found this problem and got the troubleshooting. How to keep your application execute from remote desktop session to keep running and not shutdown by the server policy? Here are the resolution (choose one of them):

Wednesday, September 26, 2012

SSH Using Windows Command Prompt

SSH is a secure remote shell networking tool to replace the telnet tool. In Linux, SSH command line was very familiar tool and have been the default tool for along time ago. So it's very user friendly for Linux user. But how do SSH command in windows? There are many ways to do that. The famous one is install Putty, the SSH client tool for windows. But how to SSH from the windows command prompt? So we feel like in Linux command line. The way is to install the OpenSSH. Look at the screenshots below :

So, it's feel like in Linux. Good Luck!

Tuesday, May 29, 2012

5 Free Open Source Security Tools

Network and server security can be expensive, but not having good security is even more expensive. Fortunately, you can have the best of both worlds thanks to the many free and open source security solutions that are available to web hosting professionals and system administrators. The following are five that will help lock down your server and keep you informed when evildoers strike.

Simply FTP Script With DateTime Manipulation

This is a new simply FTP Script related to my previous post that completed with date time manipulation argument.

@echo off

echo ################################################
echo  Source  :
echo  Version : 1.0
echo  Syntax  : UnduhFTP dd mm yyyy flag
echo  Contoh  : UnduhFTP 16 05 2012 NOW
echo  Args    : %1=dd %2=mm %3=yyyy %4=Flag
echo            Flag Date: set with NOW or YESTERDAY
echo ################################################

set FTP_USER=username
set FTP_PASSWD=password
set FTP_LOCAL_DIR_A=\\192.168.x.x\drive_d$\locationA
set FTP_LOCAL_DIR_B=\\192.168.x.x\drive_d$\locationB
set FILE_LIST_A=listA.txt
set FILE_LIST_B=listB.txt

REM Change the date to Date-1
set dd=%1
set mm=%2
set yyyy=%3
set flag=%4

Wednesday, May 23, 2012

A Simply Windows FTP Batch Script To Download Files From Multiple Different Folder To Your Multiple Different Local Folder

A few moments ago, i had a case at the office how to download reports from the ftp server from multiple locations with different folders and different dates. So we need a smart script to do that, and here is :

@echo off

REM #############################
REM Usage: UnduhFTP dd mm yyyy
REM Example: UnduhFTP 16 05 2012
REM %1=dd %2=mm %3=yyyy
REM #############################

set FTP_HOST=192.x.x.x
set FTP_USER=username

set FTP_REMOTE_DIR_A=/YourRemoteFolderA
set FTP_REMOTE_DIR_B=/YourRemoteFolderB

set FTP_LOCAL_DIR_A=D:\YourFolderA
set FTP_LOCAL_DIR_B=D:\YourFolderB

Sunday, May 06, 2012

Micro Controller Programming: Back To The Past Of Me

Dulu aku adalah pecinta Microcontroller, berikut ini adalah toko-toko penjual kit mikrokontroler online di Indonesia untuk mempermudah pencarian dan ingatan.

Digi Ware
Toko Mikon
CP : David Fernando
Jl. Jatipadang Utara No.8, Pasar Minggu
Jakarta 12540
SMS : +62-857-1836-3975
YM : defgee

Tuesday, January 10, 2012

Simple Remote Desktop Application in Fedora 16

There are many remote desktop application in linux, such as rdesktop, vnc, and etc. But in Fedora, there's no gui or desktop version for rdesktop by default. Existing version just for vnc. You still can use rdesktop for desktop remoting well but this program have to be execute from command line. If you need to embed the rdekstop command line to the Application Menu, you have to create a shorcut. Another way is use application called remmina. Remmina is remote administration application in linux that support multiprotocol packaged in pluggins.