Privacy policy

PRIVACY POLICY

SmartDev team

*********************************************************

2000 English stories : https://play.google.com/store/apps/details?id=smartdev.app.englishstories

we don’t collect sensitive user information, this application just require read and write storage for save photos in  app.

This is permission required for app:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  • Fake post (binh.app.funstatus) https://play.google.com/store/apps/details?id=binh.app.funstatus   :

we don’t collect sensitive user information, this application just require read and write storage for save photos in  app.

<android:uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  • Hair Sticker for Photos ( https://play.google.com/store/apps/details?id=binh.app.hairsticker)

My application (Hair Sticker for Photos) only require CAMERA permission:

<uses-permission android:name=android.permission.CAMERA/>

It allows user to take photo by CAMERA.

  •   500 photo stickers ( https://play.google.com/store/apps/details?id=sticker.app.binh.sticker)

My application (500 Photo Stickers) only require CAMERA permission:

<uses-permission android:name=android.permission.CAMERA/>

It allows user to take photo by CAMERA.

*********************************************************

2000 English stories : https://play.google.com/store/apps/details?id=smartdev.app.englishstories

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

 

 

7 luật để làm giao diện UI tuyệt đỉnh

7 luật để làm giao diện UI “tuyệt đỉnh” (Phần 1): Ánh sáng đến từ bầu trời

 

7 luật để làm giao diện UI “tuyệt đỉnh” (Phần 2): Trắng và Đen trước hết

 

7 luật để làm giao diện UI “tuyệt đỉnh” (Phần 3): Tăng gấp đôi khoảng trắng

[Android App] Eyecare Blue light filter

 

https://play.google.com/store/apps/details?id=binh.app.testproject

icon

Are you used to using your Android device at night?
Do you think the screen of your Android device is too bright to look at at night?
Recent research suggests that exposure to blue light before sleep may distort your natural (circadian) rhythm and cause inability to fall asleep.
Now you have Eye Care which makes the screen darker, it can protect your eyes effectively.This app has the effect of reducing the blue light.

Features:
* Blue light filter : To reduce the blue glare, can effectively protect the eyes(especially when playing phone in bed at night).

* You can choose the degree of adaptation to the environment, as well as a variety of colors!
* Simple, low battery consumption, without affecting other applications smoothly executed.
TAGS: eyes protector, screen filter, eye care, blue filter…

 

 

 

 

Hãy đưa cho tôi những người lười nhất mà tiền có thể mua được

Trong bài viết này Jeff Atwood có nói đến một kiểu “lười biếng thông minh”, thực chất là cách quản lý thời gian một cách hiệu quả hơn trong công việc. Trong thời đại bùng nổ thông tin và các phương thức giao tiếp như hiện nay thì bạn rất dễ sa đà vào các hoạt động như: chat chit, facebook, check email, news… dẫn đến mất tập trung trong công việc hiện tại. Khi làm công việc nào đó cần sự tập trung thì bạn nên tắt hết những thứ gây sao nhãng này đi nhé! 🙂

Khi làm việc thì bạn nên tắt hết các ứng dụng để được tập trung nhất có thể.Khi làm việc thì bạn nên tắt hết các ứng dụng để được tập trung nhất có thể.


Omar Shahine gần đây đã đăng một bài viết truyền cảm hứng ca ngợi sự lười biếng:

Cứ vài phút lại có một email đến và desktop alert kèm theo âm thanh khiến cho tôi rất dễ bị mất tập trung vào công việc hiện tại của mình và phải ngó vào phần inbox của hộp thư. Trong khi tôi rất thích chức năng này của Outlook khi nó mới ra đời, nhưng hiện nay nó đã trở thành gót chân Asin trong năng suất công việc của mình.

Nếu bạn muốn hoàn thành công việc, bạn phải học cách đánh giá đúng sự lười biếng là một nét tính cách tích cực trong thực tế. Và tôi xin đưa vấn đề này lên một mức cao hơn: bạn cũng nên tắt luôn phần thông báo mỗi khi có nội dung chat mới.

Có nhiều chi tiết về điều này trong hai bài viết của Ole Eichhorn là Tyranny of EmailTyranny Revisited:

Bất cứ khi nào bạn đang làm việc gì đó mà không yêu cầu sự tập trung, bởi tất cả ý nghĩa của nó, thì hãy chạy ứng dụng email client của bạn, chạy chương trình chat IM, có phần thông báo (notification) được bật lên, nhận các cuộc điện thoại… Nhưng khi bạn thực sự cần phải hoàn thành công việc, hãy tắt hết mọi thứ. Hãy cô lập chính bản thân bạn.

Trong một số trường hợp thì chính sự lười biếng đó có thể giúp ích cho công việc của bạn, nếu bạn tuân theo những điều sau:

1. Lựa chọn những việc không nên làm

Thế giới ngày nay là một sự kết hợp bùng nổ của rất nhiều hướng tiếp cận có thể được. Và tỉ lệ nhiễu ngày càng tăng lên. Việc lựa chọn điều gì không nên làm là rất quan trọng– và người ta có thể cho rằng điều đó còn quan trọng hơn– việc lựa chọn công việc nào để làm. Đây là sự lười biếng mang lại hiệu quả: tại sao lại phải dành ra 5 ngày để làm công việc nghiên cứu kỹ càng trên 10 giải pháp khác nhau khi mà bạn có thể nhanh chóng loại đi 8 trong số đó dựa trên một số tiêu chuẩn chính? Hãy hướng tới mục tiêu chính. Hãy trau dồi kỹ năng bỏ đi những hướng tiếp cận không phù hợp nhanh nhất bạn có thể. Việc download phần code của một vài module có sẵn về xài thì nhanh hơn nhiều so với việc tự mình ngồi viết ra nó.

2. Cân bằng giữa giao tiếp và cách ly

Mỗi ngày chúng ta luôn luôn phải giao tiếp trong các hoạt động thông thường– thông qua điện thoại, chat, email, mạng xã hội… Cái giá cho tất cả những hoạt động giao tiếp thường xuyên này đang ngày càng tăng lên vì nó làm ngắt quãng công việc của bạn. Trong một số lĩnh vực, giống như quản lý chẳng hạn, thì sự gián đoạn là dấu hiệu của một việc gì đó được hoàn thành. Nhưng nó lại là một yếu tố có hại trong phát triển phần mềm. Nếu chúng ta không thể có trạng thái hoàn toàn tập trung trong công việc, thì rất khó để chúng ta có thể làm việc hiệu quả được, vì vậy việc giao tiếp phải được quản lý cẩn trọng và đôi khi nên trì hoãn lại.

3. Con người không thể nâng công suất lên như máy móc được

Những nhà phát triển thực sự lười biếng thì bắt máy móc làm việc cho họ. Điều này một phần là do sự thúc đẩy của lợi ích bản thân, nhưng những nhà phát triển thông minh biết rằng con người không thể nâng công suất lên như máy móc được. Nếu bạn muốn lúc nào cũng hoàn thành công việc đúng hẹn, đáng tin cậy nào và bạn muốn nhân tố con người bị loại trừ nhiều nhất trong khả năng có thể chấp nhận được. Đối với mỗi vấn đề làm mình bị mất thời gian, tôi tự hỏi mình rằng– làm thế nào để mình có thể sẽ không bao giờ phải gặp vấn đề này một lần nữa? Nếu giải pháp của tôi có thể khắc phục được nó thì không còn ai sẽ phải gặp rắc rối với vấn đề đó nữa, đó cũng là một hiệu ứng phụ rất tốt.

Giờ đây, có một sự phân biệt khá rõ ràng giữa kiểu lười biếng thông minh, như đã mô tả ở trên– lười biếng khiến cho cuộc đời của mỗi chúng ta trở nên dễ dàng hơn một chút– và chỉ đơn giản là đừng nhấc mông bạn ra khỏi ghế. Nếu tôi đang xây dựng một công ty phần mềm, thì tôi sẽ nỗ lực để tìm thuê những người lười biếng nhất mà mình có thể.

Về tác giả bài viết:

Jeff_atwood_coding_horrorJeff Atwood là một chuyên gia công nghệ tại Mỹ, hiện đang sinh sống và làm việc tại Berkeley, CA. Anh là một kỹ sư phần mềm chuyên về công nghệ Microsoft .NET, và là một blogger nổi tiếng trong cộng đồng công nghệ với blog Coding Horror, anh là người sáng lập và kiêm Giám đốc điều hành (CEO) của trang web hỏi đáp uy tín Stack Overflow và cũng là đồng sáng lập của Stack ExchangeDiscourse.

Background Thread with IntentService

IntentService được sử dụng giống như một AssyncTask để tạo một thread riêng biệt so với main Thread trong activity với mục đích cập nhật UI.
Ưu diểm của IntentService là thread ko bị destroy khi activity bị destroy.
Giả sử như thread của bạn là download một file pdf nhưng trong quá trình download activity bị destroy (rotate màn hình , có cuộc gọi đến), nếu sử dụng AssyncTask thì quá trình download này bị ngắt quảng theo, còn sử dụng IntentService thì quá trình download vẫn được tiếp tục.
android.app.IntentService is a subclass of android.app.Service that handle asynchronous requests (expressed as Intents) on demand. Clients send requests through startService(Intent) calls; the service is started as needed, handles each Intent in turn using a worker thread, and stops itself when it runs out of work.
IntentService

Create our custom IntentService, MyIntentService.java

You have to implement constructor of MyIntentService(). If you only override the default constructor of MyIntentService(String name) from IntentService, RuntimeException of java.lang.InstantiationException with Unable to instantiate service will be thrown.

package com.example.androidintentservice;

import android.app.IntentService;
import android.content.Intent;

public class MyIntentService extends IntentService {

 public static final String ACTION_MyIntentService = "com.example.androidintentservice.RESPONSE";
 public static final String EXTRA_KEY_IN = "EXTRA_IN";
 public static final String EXTRA_KEY_OUT = "EXTRA_OUT";
 String extraIn;
 String extraOut;

 public MyIntentService() {
  super("com.example.androidintentservice.MyIntentService");
 }

 @Override
 protected void onHandleIntent(Intent intent) {

  //get input
  extraIn = intent.getStringExtra(EXTRA_KEY_IN);
  extraOut = "Result from MyIntentService: Hello " + extraIn;

  //dummy delay for 5 sec
  try {
   Thread.sleep(5000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } //wait 3 sec

  //return result
  Intent intentResponse = new Intent();
  intentResponse.setAction(ACTION_MyIntentService);
  intentResponse.addCategory(Intent.CATEGORY_DEFAULT);
  intentResponse.putExtra(EXTRA_KEY_OUT, extraOut);
  sendBroadcast(intentResponse);
 }

}

Modify layout to add a TextView to display result

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    <TextView
        android:id="@+id/result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

Main code in MainActivity.java. In order to receive result from IntentService, implement BroadcastReceiver, register in onCreate() and unregister in onDestroy(). To start MyIntentService, call startService() with coresponding intent.

package com.example.androidintentservice;

import android.os.Bundle;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.widget.TextView;

public class MainActivity extends Activity {

 TextView textResult;

 private MyBroadcastReceiver myBroadcastReceiver;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  textResult = (TextView)findViewById(R.id.result);

  //Start MyIntentService
  Intent intentMyIntentService = new Intent(this, MyIntentService.class);
  intentMyIntentService.putExtra(MyIntentService.EXTRA_KEY_IN, "Android-er");
  startService(intentMyIntentService);

  myBroadcastReceiver = new MyBroadcastReceiver();

  //register BroadcastReceiver
  IntentFilter intentFilter = new IntentFilter(MyIntentService.ACTION_MyIntentService);
  intentFilter.addCategory(Intent.CATEGORY_DEFAULT);
  registerReceiver(myBroadcastReceiver, intentFilter);
 }

 @Override
 protected void onDestroy() {
  super.onDestroy();
  //un-register BroadcastReceiver
  unregisterReceiver(myBroadcastReceiver);
 }

 public class MyBroadcastReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {
   String result = intent.getStringExtra(MyIntentService.EXTRA_KEY_OUT);
   textResult.setText(result);
  }

 }

}

Modify AndroidManifest.xml to add <service> of MyIntentService

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.androidintentservice"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.androidintentservice.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name="com.example.androidintentservice.MyIntentService"></service>
    </application>

</manifest>

Lập trình viên cũng là người sử dụng

Bài viết được dịch từ blog Coding Horror

Hiện tại tôi đang phụ trách việc xây dựng một API nhỏ cho BetaBrite-specific một tập con của Alpha Sign Communications Protocol. Về mặt tự nhiên, tôi muốn nó trở nên dễ dàng sử dụng và dễ hiểu đối với những lập trình viên khác– đó là một vấn đề về usability (tính dễ sử dụng) kinh điển. Bạn sẽ áp dụng hướng tiếp cận usability nào khi mà độc giả của bạn lại là những nhà phát triển phần mềm khác?

Lập trình viên cũng chính là người sử dụng khi dùng các API của các đồng nghiệp khác viết ra.Lập trình viên cũng chính là người sử dụng khi dùng các API của các đồng nghiệp khác viết ra.


Câu trả lời thì cũng không mấy ngạc nhiên, nó chính xác giống như cách mà bạn thực hiện đối với người dùng bình thường. Steven Clarke của công ty Microsoft có một blog hoàn toàn tập trung vào chủ đề này, và ông ta hiện đang tiến hành những nghiên cứu về tính usability (tính dễ hiểu) đều đặn trên toàn bộ các sản phẩm công nghệ sắp ra lò của hãng Microsoft. Có một cái gì đó tóm tắt dày đặc trong những kết quả của ông ta (trong file powerpoint), và tất cả nó giống như là bánh-mì-và-bơ của các nghiên cứu về tính usability vậy. Không có thứ gì là quá thiên về các lập trình viên ở trong đó cả. Nó tập trung vào con người, các use case, các tác vụ, và có rất nhiều sự quan sát. Ở đây là một ít ví dụ tiêu biểu từ blog của ông ta, cái mà tôi đề xuất bạn nên xem qua.

Về các Attribute (thuộc tính):

Tôi nghĩ rằng một yếu tố trong vấn đề này đó là khả năng khó nhìn thấy của các attribute (thuộc tính). Ví dụ, một người tham gia trong cuộc nghiên cứu tuần này đã sử dụng debugger để duyệt qua những dòng code khi anh ta để ý thấy một hành vi (behavior) không mong đợi tại một thời điểm trong suốt quá trình thực thi của đoạn code đó. Anh ta đã tập trung vào một khối code riêng biệt và sử dụng nỗ lực của mình vào việc tìm hiểu xem liệu có phải khối code đó có thể là nguyên nhân của cái hành vi (behavior) mà anh ta đã quan sát thấy hay không. Nguyên nhân của cái hành vi đó là do bởi một thuộc tính (attribute) đã được áp dụng tới class đó để định nghĩa phương thức mà anh vừa mới duyệt qua. Vì vậy khi anh ta đọc đoạn code của mình, thì cái thuộc tính đó lại nằm ngoài sự tập trung chú ý của anh.

trên ADO.NET:

Trong một nghiên cứu về tính dễ sử dụng (usability) khác mà tôi tiến hành trên ADO.NET, những người tham gia đã được yêu cầu viết code để truy vấn một table và xuất ra các kết quả trên màn hình console. Những kết quả này được lưu trữ trong một DataReader. Nhiều người tham gia mong chờ tìm thấy một thuộc tính Count trên DataReader đó để họ có thể sử dụng một vòng lặp qua nội dung của DataReader, và đánh chỉ số mỗi thành phần trong mỗi lần lặp của vòng lặp đó. Tuy nhiên, không có thuộc tính nào như vậy tồn tại cả. Những người tham gia đã dành một số lượng lớn thời gian để tìm kiếm một số thuộc tính tương tự khác như là Length, NumberOfRows, v.v… nhưng vẫn không tìm thấy bất cứ cái gì có thể giúp ích cho họ.

Đến lúc này, thì hầu hết những người tham gia sẽ tìm đến tài liệu trợ giúp (help docs) để tìm một đoạn code mẫu có thể giúp họ. Ngay khi người tham gia tìm thấy một đoạn code mẫu mà chỉ cho họ rằng họ cần sử dụng một IEnumerator để duyệt qua nội dung của DataReader đó, họ hiểu chính xác điều cần phải làm. Thậm chí mặc dù giải pháp đó có khác một chút so với giải pháp mà những người tham gia đã thử ban đầu, nhưng họ cũng không gặp khó khăn gì trong việc hiểu hướng tiếp cận mới này.

Khi nói đến tính usability (tính dễ sử dụng), thì không có cái nào có thể thay thế được sự quan sát. Nó là tuyệt đối quan trọng.

Có một thứ đã xuất hiện trong đầu tôi hầu như ngay lập tức đó là sự quan trọng của những đoạn code mẫu tốt. Chúng là những thứ đầu tiên mà tôi tìm kiếm trong bất kỳ một môi trường mới nào mà mình bị đặt vào, và dù cho là tốt hơn hoặc tồi hơn, chúng lên dây cho kinh nghiệm của tôi. Nhưng, như Steven đã mô tả trong bài viết Dr. Dobb’s Journal, là Measuring API Usability (Đo lường tính dễ sử dụng của API) (PDF), bạn phải cẩn thận rằng bạn không thể che lấp được những quyết định thiết kế API tồi thông qua những đoạn code mẫu tốt được:

Kinh nghiệm đã thực sự giúp đỡ chúng tôi nhận ra nguyên nhân gốc của vấn đề mà chúng tôi đã quan sát thấy trong phòng thí nghiệm về tính usability (tính dễ sử dụng). Ví dụ, trong một nghiên cứu, chúng tôi quan sát thấy có rất nhiều các lập trình viên đang dành một phần lớn thời gian để tìm kiếm trong các tài liệu trợ giúp một vài đoạn code mẫu mà sẽ chỉ cho họ cách làm thế nào để có thể hoàn thành một tác vụ được yêu cầu. Cách hiểu đầu tiên của dữ kiện này chỉ đơn giản là “Hãy sửa lại tài liệu trợ giúp đó sao cho dễ hiểu!” Tuy nhiên, khi chúng tôi sử dụng framework kinh nghiệm để mô tả vấn đề này, thì nó trở nên rõ ràng rằng lý do mà các lập trình viên đã không thành công khi họ tìm kiếm qua tài liệu trợ giúp là bởi vì cái mà họ đang tìm kiếm thì đơn giản lại không tồn tại. Cái API mà họ đang làm việc trên đó cung cấp một tập các sự trừu tượng với mức sai lệch đối với những lập trình viên sử dụng nó. Họ mong chờ một kiểu trừu tượng đặc biệt được đưa ra bởi API nhưng nó lại không có, bởi vậy họ không thể tìm thấy bất cứ thứ gì về nó trong tài liệu trợ giúp. Theo suy luận đó, nhóm phát triển API đã thiết kế lại API để đưa ra những thứ mà giống với các lập trình viên sử dụng API đang mong chờ. Khi chúng tôi kiểm thử lại API đó, thì đúng là nó đã hoạt động tốt hơn rất nhiều.

Đây là một vấn đề mà tôi đã từng được tiếp xúc trước đây. Nếu bạn đang phải trả lời cho rất nhiều câu hỏi từ những lập trình viên khác về một số thứ mà bạn đã viết ra, thì nó có thể không phải bởi đồng nghiệp của bạn kém cỏi đâu.

[Android Application] 8000 English idioms

icon

https://play.google.com/store/apps/details?id=binh.app.englishidiom

FEATURES :
Lists of over 8000 idioms used in everyday conversational English, with their meaning.
FREE!!! Learn and practice a lot of great idioms and phrases for your upcoming conversations, from this app.
– Free and offline
– English Idioms with over 8,000 definitions
– Bookmark your favourite entries
– Search word and suggestion
– Share content to Chat, Social Network
– Filter to locate the word faster

KEYWORD: English idioms, idioms, 8000 english idioms, idioms in english….

[Trekking Apachai] : Cực tây tổ quốc

A Pa Chải là điểm cực Tây trên đất liền của Việt Nam, vùng giáp biên 2 nước Trung Quốc và Lào thuộc xã Sín Thầu, huyện Mường Nhé, cách tỉnh lỵ Điện Biên Phủ khoảng 250 km. Nơi này được mệnh danh là “1 con gà gáy cả 3 nước đều nghe thấy”. Nằm ở độ cao 1864 m so với mực nước biển, nơi đây tập trung chủ yếu người dân tộc Hà Nhì và một số dân tộc thiểu số khác. A Pa Chải trong tiếng Hà Nhì có nghĩa là vùng đất bằng phẳng, rộng lớn. A Pa Chải còn là địa danh gắn liền với cột mốc số 0 (không số) có tọa độ 22°23’53″N 102°8’51″E, nằm trên đỉnh núi Khoang La San thuộc xã Sín Thầu huyện Mường Nhé, tỉnh Điện Biên. Cột mốc là ngã ba biên giới của 3 nước Việt Nam – Lào – Trung Quốc, cột mốc được 3 quốc gia thống nhất cắm mốc vào ngày 27/6/2005, được làm bằng đá granit, cắm giữa một hình lục giác, bên ngoài cùng là khối vuông diện tích 5x5m, cột cao 2 mét có 3 mặt quay về 3 hướng, mỗi mặt có khắc tên nước bằng tiếng quốc ngữ riêng và quốc huy của mỗi quốc gia.

Nên đi A Pa Chải vào thời gian nào

Thời tiết ở Tây Bắc luôn khó dự báo trước nên cũng không thể đưa ra cho các bạn chính xác khoảng thời gian nào nên đi A Pa Chải, tuy nhiên có một vài lưu ý như dưới đây :

  • Cố gắng tránh đi vào ngày mưa bão bởi với quãng đường gần chục km đi bộ, trời mưa sẽ khiến bạn khá là vất vả khi di chuyển.
  • Tránh đi vào các dịp lễ như 30/4, 2/9 bởi những dịp này có quá nhiều người lên đây. Riêng việc cung cấp chỗ ăn nghỉ và người dẫn đoàn đã khá là mệt mỏi cho các cán bộ chiến sỹ đồn 317.
  • Đi kết hợp với một số mùa đặc trưng của Tây Bắc để có thể đi được nhiều nơi trong cùng một chuyến đi như : mùa lúa 9 (tháng 9), mùa hoa ban nở (tháng 3), mùa dã quỳ (tháng 12) mùa hoa mận (tháng 11)

    Thủ tục xin phép khi tới A Pa Chải

  • Để vào được đến A Pa Chải, bất cứ đoàn nào cũng phải có các chiến sĩ bộ đội đồn biên phòng đóng trên địa bàn (đồn 317) dẫn đường và phải luôn theo sát nhau vì nếu lãng đi một chút thôi là có thể lạc nhau và lạc sang nước bạn. Trước đó, để được sự tiếp đón của bộ đội biên phòng, các đoàn đi phải có giấy giới thiệu của địa phương cư trú hoặc cơ quan công tác để xin phép Bộ chỉ huy bộ đội biên phòng Điện Biên, sau đó Bộ chỉ huy sẽ giới thiệu xuống đồn biên phòng và chính quyền địa phương nơi các đoàn đến (vì đây là khu vực biên giới nên các thủ tục này là bắt buộc, các bạn hết sức lưu ý nếu không muốn bị trục xuất khỏi địa bàn).
    Khu vực biên giới (Ảnh – Nguyễn Ngọc Viên)

    Một số quy định về cư trú, đi lại và hoạt động khu vực biên giới, các bạn đọc để biết tránh trường hợp không mang đầy đủ giấy tờ rồi không được phép ở lại, thì lại nghĩ các anh Biên phòng gây khó dễ cho mình.

Khu vực biên giới trên đất liền gồm xã, phường, thị trấn có một phần địa giới hành chính trùng hợp với biên giới quốc gia trên đất liền.

  • Công dân Việt Nam khi vào khu vực biên giới phải có giấy chứng minh nhân dân hoặc giấy tờ do công an xã, phường thị trấn nơi cư trú cấp.
  • Người nước ngoài đang công tác tại các cơ quan Trung ương vào khu vực biên giới phải có giấy phép do Bộ Công an cấp. Nếu người nước ngoài đang tạm trú tại địa phương vào khu vực biên giới phải có giấy phép do công an cấp tỉnh nơi tạm trú cấp.
  • Người, phương tiện của Việt Nam và nước ngoài đủ điều kiện vào khu vực biên giới,vành đai biên giới nếu ở qua đêm phải đến cơ quan công an cấp xã, phường, thị trấn hoặc đồn công an sở tại đăng ký quản lý tạm trú theo quy định của pháp luật về đăng ký và quản lý hộ khẩu.
  • Trong thời gian ở khu vực biên giới mọi hoạt động của người, phương tiện phải chịu sự hướng dẫn, kiểm tra, kiểm soát của Bộ đội biên phòng, công an, chính quyền địa phương.

Phương tiện đi và đến A Pa Chải

Tp Điện Biên Phủ cách thủ đô Hà Nội khoảng gần 500km. Để đi từ Hà Nội – Điện Biên Phủ các bạn có thể lựa chọn nhiều cách để tới đây tùy thuộc điều kiện kinh tế và lộ trình của bạn.

Đường bộ

Xe giường nằm đi Điện Biên chạy hàng ngày tại Bến xe Mỹ Đình, thời gian xe chạy vào khoảng 12-13 tiếng. Đi bằng xe giường nằm có một lợi thế nữa là có thể gửi xe máy kèm theo. Nếu không thích đi bằng ô tô các bạn cũng có thể lập lịch trình đi xe máy thẳng từ Hà Nội lên Điện Biên, với chặng đường khoảng 500km bạn sẽ mất nguyên một ngày để di chuyển thẳng.

Đường hàng không

Hiện tại Vietnam Airlines là hãng duy nhất khai thác đường bay Hà Nội – Điện Biên, máy bay sử dụng cho đường bay này là ATR 72. Giá vé khứ hồi vào khoảng 2800k. Từ thành phố Điện Biên Phủ, đi theo quốc lộ 12 khoảng 280km theo lịch trình Mường Chà – Si Sa Phìn -Chà Cang –  Mường Nhé – Sín Thầu sẽ tới được trung tâm xã Sín Thấu, điểm bắt đầu cho hành trình chinh phục Cực Tây Tổ Quốc A Pa Chải. Đường nhựa ô tô đi đã được làm tới tận trung tâm xã, riêng xe máy có thể chạy tới tận chân đỉnh núi Khoang La San theo đường cấp phối, tiết kiệm được khoảng hơn 2 tiếng đi bộ so với thời đường chưa làm xong.

Leo mốc 0 – A Pa Chải

Từ đồn 317 các bạn có thể di chuyển bằng xe máy tới chân núi, để xe tại đó rồi bắt đầu hành trình chinh phục Cực Tây. Hành trình sẽ lần lượt vượt qua những đồi cỏ gianh cao gần bằng đầu người (nhưng nếu đi mùa khô các bạn có thể sẽ tránh được đồi cỏ này), vượt qua cánh rừng nguyên sinh với những đoạn dốc gần như dựng đứng. Tùy vào sức khỏe của mình nhưng thường sẽ mất khoảng 4-5 tiếng để có thể đến với Cực Tây

Địa điểm ăn nghỉ tại A Pa Chải

Đồn 317 cũ chụp năm 2009 (Ảnh – Buratino)

Đồn biên phòng 317 và nhà dân trong xã Sín Thầu là những địa điểm các bạn có thể liên hệ để xin ngủ nhờ cũng như nhờ nấu ăn. Hiện nay thì A Pa Chải đã là có thể coi là một điểm du lịch nhiều người đến nên bên Biên phòng cũng đã chủ động trong việc sắp xếp chỗ ngủ và chuẩn bị đồ ăn cho các bạn khi tới đây. Tuy nhiên, nhiệm vụ chính của lực lượng Biên phòng là tuần tra, giữ gìn và đảm bảo an ninh tại biên giới chứ không phải là hướng dẫn viên du lịch, chính vì vậy nếu có thể tự chủ động về việc này các bạn nên tự lo để tránh ảnh hưởng đến sinh hoạt của Đồn (để có chỗ nghỉ ngơi cho khách du lịch thường thì bên Đồn sẽ bố trí dồn các chiến sĩ lại ngủ chung với nhau để nhường phòng cho khách) Một lựa chọn cho các bạn là nghỉ và ăn tối tại Mường Nhé, gọi điện trước vào trong Đồn 317 để xin phép việc leo mốc 0 rồi sáng sớm hôm sau đi sớm vào để làm thủ tục. Đường đã được làm khá tốt nên thời gian đi từ Mường Nhé vào Sín Thầu chỉ khoảng 2 tiếng.

Một số lịch trình đi phượt A Pa Chải

(Ảnh – Buratino)

Đây là một số lịch trình cơ bản cho các bạn muốn chinh phục Cực Tây A Pa Chải, các bạn có thể thay đổi bằng cách thêm/bớt các điểm đến trên hành trình để phù hợp với chuyến đi của mình.

Lịch trình 3 ngày 4 đêm

Ngày 0 : Hà Nội – Điện Biên – Đi xe giường nằm từ Hà Nội lên Điện Biên – Gửi xe máy theo ô tô Ngày 1 : Điện Biên – Mường Chà – Mường Nhé – Đồn 317 – Sáng sớm có mặt ở Điện Biên, ăn sáng vào Bộ chỉ huy Biên Phòng tỉnh xin giấy phép. – Đi thẳng từ Điện Biên vào Mường Nhé (200km) – Có thể lựa chọn nghỉ ngơi tại Mường Nhé (nếu đi vào các dịp lễ đông như 30-4) hoặc vào thẳng đồn 317 ngủ nhờ Ngày 2 : Đồn 317 – Mốc 0 – Đồn 317 – Mường Nhé – 8h sáng dậy ăn sáng, chuẩn bị đồ mang theo dọc đường và đồ ăn trưa để leo mốc – 12h-14h tới mốc 0, dừng chụp ảnh và ăn trưa. Thời gian tùy thuộc vào khả năng leo núi của từng đoàn – 14h từ mốc 0 trở về, khoảng 16h-17h sẽ về tới đồn 317 – Thu dọn đồ đạc và chạy ngược ra Mường Nhé nghỉ ngơi Ngày 3 : Mường Nhé – Điện Biên Phủ – Hà Nội – Từ Mường Nhé chạy ngược ra Tp Điện Biên Phủ, thăm thú một số di tích như Hầm Đờ Cát, Đồi A1, Bảo tàng chiến thắng Điện Biên Phủ … – Tối người + xe máy lên ô tô trở về Hà Nội – Sáng sớm ngày 4 có mặt tại Hà Nội

Lịch trình 5 ngày 6 đêm

Ngày 0 : Hà Nội – Điện Biên – Đi xe giường nằm từ Hà Nội lên Điện Biên – Gửi xe máy theo ô tô Ngày 1 : Điện Biên – Mường Chà – Mường Nhé – Đồn 317 – Sáng sớm có mặt ở Điện Biên, ăn sáng vào Bộ chỉ huy Biên Phòng tỉnh xin giấy phép. – Thăm quan một số điểm du lịch như Hầm Đờ Cát, Đồi A1, Nghĩa trang đồi A1 trong khoảng 1 tiếng. – Đi thẳng từ Điện Biên vào Mường Nhé (200km) – Có thể lựa chọn nghỉ ngơi tại Mường Nhé (nếu đi vào các dịp lễ đông như 30-4) hoặc vào thẳng đồn 317 ngủ nhờ Ngày 2 : Đồn 317 – Mốc 0 – Đồn 317 – Mường Nhé – 8h sáng dậy ăn sáng, chuẩn bị đồ mang theo dọc đường và đồ ăn trưa để leo mốc – 12h-14h tới mốc 0, dừng chụp ảnh và ăn trưa. Thời gian tùy thuộc vào khả năng leo núi của từng đoàn – 14h từ mốc 0 trở về, khoảng 16h-17h sẽ về tới đồn 317 – Thu dọn đồ đạc và chạy ngược ra Mường Nhé nghỉ ngơi Ngày 3 : Mường Nhé – Mường Lay – Sìn Hồ – Từ Mường Nhé đi ngược ra Mường Chà rồi đi theo QL  12 đi Mường Lay – Đến khu vực xã Chăn Nưa thì rẽ theo TL 128 đi Sìn Hồ – Tối nghỉ ngơi tại Sìn Hồ – Đừng quên đi tắm lá thuốc để xóa tan mệt mỏi mấy ngày vừa qua Ngày 4 (Lựa chọn 1) : Sìn Hồ – Lai Châu – Tam Đường – Bình Lư – Mù Cang Chải (Thích hợp nếu đi vào mùa lúa chín) – Sáng dây có thể đi chơi chợ Sìn Hồ nếu đúng ngày chợ họp, lên Đài tưởng niệm chụp ảnh toàn cảnh Sìn hồ – Từ Sìn Hồ đi về Thị xã Lai Châu, qua Tam Đường tới ngã 3 Bình Lư thì rẽ đi Than Uyên -> Mù Cang Chải. Nếu thời tiết đẹp thì sẽ được ngắm mây Sìn Hồ. – Nếu về sớm có thể tranh thủ đi chơi quanh Mù Cang Chải – Tối ngủ và ăn uống tại Mù Cang Chải Ngày 4 (Lựa chọn 2) : Sìn Hồ – Lai Châu – Tam Đường – Bình Lư – Sapa – Sáng dây có thể đi chơi chợ Sìn Hồ nếu đúng ngày chợ họp – Từ Sìn Hồ đi về Thị xã Lai Châu, qua Tam Đường tới ngã 3 Bình Lư thì rẽ đi đèo Ô Quy Hồ -> Thị trấn Sapa – Tối nghỉ ngơi và chơi tại Sapa Ngày 5 (Lựa chọn 1) : Mù Cang Chải – Tú Lệ – Nghĩa Lộ – Hà Nội – Phương án 1 : Dạo chơi Thị trấn Mù Cang Chải, rồi về Tú Lệ ăn trưa sau đó chạy thẳng về Hà Nội – Phương án 2 : Dành nguyên 1 ngày để chơi ở Mù Cang Chải, La Pán Tẩn, Chế Cu Nha, Đèo Khau Phạ rồi nửa đêm gửi người và xe máy theo xe khách Lai Châu về Hà Nội Ngày 5 (Lựa chọn 2) : Sapa – Hà Nội – Dành trọn 1 ngày để du lịch Sapa kết hợp với nghỉ ngơi lấy sức – Tối gửi người + xe máy về Hà Nội bằng tàu hỏa hoặc ô tô Sáng ngày 6 có mặt tại Hà Nội

Các kinh nghiệm trên đường đi A Pa Chải

Trên đường leo A Pa Chải (Ảnh – Buratino)

Một số kinh nghiệm tổng hợp chung cho chuyến đi A Pa Chải từ các đoàn đi trước, các bạn nên đọc qua để có thêm kinh nghiệm cho bản thân mình. Về chuẩn bị đồ đạc (Một số thứ cơ bản thôi, chi tiết các bạn xem bài (Kinh nghiệm chuẩn bị đồ khi đi phượt)

  • Nên mang theo 1 đôi giầy bộ đội (hoặc giầy dành cho việc leo núi) tránh sử dụng các loại không phù hợp như giày da, giày búp bê (với các bạn nữ). Đối với nam bạn nào đi được dép tổ ong thì cứ dùng
  • Mặc quần áo dài, đeo khẩu trang và dùng khăn rằn quấn cổ khi đi qua đồi cỏ gianh, tránh việc bị cỏ cứa vào chân, tay gây chảy máu.
  • Mang theo 1 áo mưa mỏng dạng áo để khoác trong trường hợp trời mưa và khi đi xuyên rừng để tránh bị ngấm lạnh.
  • Khi vào tới Mường Nhé thì nhớ mua nước mang theo, mua tại Trung tâm huyện bao giờ cũng dễ hơn so với việc vào trong xã mới tìm mua. Leo mốc 0 khá mệt và mất nước nên cứ tính bình quân mỗi thành viên 1 chai 1,5 lít. Nếu được thì chuẩn bị trước 1 ít đường Gluco hòa vào nước để uống cùng, đường Gluco có tác dụng chống mỏi cơ khi leo.

Về giấy tờ thủ tục

  • Mang đầy đủ CMND, Hộ chiếu hoặc giấy tờ xác nhận nhân thân
  • Nếu thành viên nào trong đoàn có thể xin giấy giới thiệu thì mang đi, thuận lợi hơn khi đi đường (các loại giấy tờ của báo thì quá ổn)
  • Khi lên tới Điện Biên thì vào Bộ chỉ huy BP Tỉnh để xin phép nhất là đi vào những dịp nhạy cảm như 30-4, 2-9… bạn nào có những mối quan hệ sẵn với bên BP rồi thì có thể bỏ qua bước này.
  • Liên hệ với Đồn 317 trước ngày lên để nhờ các anh chuẩn bị đồ ăn, nếu ngày bạn vào đến Mường Nhé muộn quá (sau 20h) thì chủ động mua thức ăn từ ngoài huyện mang vào và tự nấu, không nên phiền đến các chiến sĩ ở đồn.

[Android Application] Son Doong Cave- Best application about Son Doong

https://play.google.com/store/apps/details?id=binh.app.sondoongcave

Son Doong Cave – the world’s largest in Vietnam’s central Quang Binh province

Trekking to Son Doong is my dream, but now i can’t do it because of some problem.

And I developed an Android Application for all people who love trekking, who has plan to visit to Son Doong or just love a very beautiful scene of Son Doong – Real Paradise in the world.

Hope you enjoy it .

Thank you so much.

Binh