Custom Search

jeudi 8 décembre 2011

(Tranlations) Постійно вчитись - Клінт Шанк

Стаття з книги 97 Things Every Programmer Should Know. Величезне спасибі друзям за допомогу з перекладами. Буду вдячний за будь-які зауваження щодо помилок чи неточностей. Ну що ж, поїхали!

В оригіналі статтю можна прочитати тут.

Clint Shank
Ми живемо в цікаві часи. Розробка поширюється по світу, і ви дізнаєтеся, що є дуже багато людей, здатних виконувати твою роботу. Вам слід постійно вчитися, щоб залишатися конкурентоздатним. Інакше ви застрягнете на своїй роботі до того часу, поки Ви станете непотрібними або на неї не підрядиться хтось за меншу оплату.

То що ж Вам з усім цим робити? Деякі роботодавці достатньо щедрі, щоб забезпечити тренінги для покращення Ваших умінь. Інші ж можуть не мати змоги виділити ні часу, ні грошей для Вашої освіти взагалі. Щоб не ризикувати, потрібно серйозно взятись за свою освіту самостійно.

Ось список способів, як продовжувати навчатися. Багато з них доступні безкоштовно в інтернеті:
  • Читайте книги, журнали, блоґи, Твіттер та веб-сайти. Якщо ви бажаєте заглибитись у вивчення предмету, подумайте про приєднання до розсилок новин. 
  • Якщо ви справді хочете розібратись в технології, приступайте до діла -- пишіть код. 
  • Завжди намагайтеся працювати з наставником, бо якщо ви найкращий у колективі, це може ускладнити Вашу освіту. Хоча від кожного можна чогось навчитися, набагато більше можна почерпнути від того, хто розумніший чи досвідченіший за Вас. Якщо ж ви не можете знайти вчителя, переходьте до наступних пунктів. 
  • Використовуйте віртуальних учителів. Знайдіть в інтернеті авторів і розробників, які Вам справді до вподоби, і читайте все, що вони пишуть. Підпишіться на їхні блоґи. 
  • Вивчайте фреймворки та бібліотеки, які ви використовуєте. Якщо ви знаєте, як що-небудь працює, то можете краще його використовувати. Якщо вони мають відкритий код, то Вам дуже пощастило. За допомогою дебаґґера покроково проходьте код і спостерігайте, що відбувається під капотом. Ви побачите код, який писали і перевіряли дуже розумні люди. 
  • Кожного разу, коли ви зробили помилку, виправили баґ, або зіткнулися з проблемою, постарайтесь розібратися, що сталось насправді. Скоріше за все, ще хтось зіткнувся з подібною проблемою і опублікував її в інтернеті. Google -- Ваш друг:) 
  • Прекрасний спосіб щось вивчити -- вчити це або говорити про це. Коли люди збираються Вас слухати, і задавати Вам запитання, у Вас буде чудова мотивація вчитись. Спробуйте lunch’n’learn на роботі, приєднайтесь до групи користувачів, або відвідайте якусь місцеву конференцію. 
  • Приєднайтеся до навчальної групи, або створіть нову (як-то спілка вивчення "узорів"-паттернів), або приєднайтеся до місцевої групи користувачів мови, технології чи дисципліни, яка Вас цікавить. 
  • Відвідуйте конференції. Якщо ж не маєте змоги -- багато конференцій транслюються онлайн безплатно. 
  • Далеко їхати? Слухайте подкасти. 
  • Користувалися статичним аналізом кодової бази? Бачили попередження свого середовища розробки (IDE)? Дізнайтеся, що вони повідомляють і чому. 
  • Послухайте пораду Pragmatic Programmers та вивчайте нову мову програмування кожного року. Принаймні вивчіть нову технологію чи інструмент. Це дасть Вам нові ідеї, які ви зможете використати у технології, з якою працюєте зараз. 
  • Не все, що ви вивчаєте, повинно буди пов’язане з технологією. Вивчайте свою галузь роботи, щоб краще розуміти вимоги і допомагати в розв’язанні бізнес-проблем. Вчіться бути продуктивнішими і краще працювати -- це також дуже хороший варіант. 
  • Поверніться до школи.  (?)
Було би класно мати таку можливість, як Нео з “Матриці” і просто завантажити усю необхідну інформацію у наш мозок. Але, на жаль, такої можливості немає, тому доведеться тратити час. Вам не треба проводити кожну вільну годину навчаючись. Трохи часу кожного тижня - це набагато краще, ніж нічого. Повинне бути життя і поза роботою.

Технологія змінюється швидко. Не відставайте.

jeudi 8 septembre 2011

How can I better enjoy my HTC EVO Shift 4G With Sense UI and Gingerbread?

Contributed by Alex Hiironen

The HTC EVO Shift 4G from Sprint is an excellent Android phone, with hardware keyboard, physical navigational controller, and decent specs. One of its drawbacks, however, is the HTC Sense user interface. The Sense UI affects fewer of the phone's applications than the Touchwiz overlay on some Samsung phones, but Sense does require users to find some extra know-how or workarounds for certain things: the accessibility option in settings, the unlock gestures, the stock launcher, the call answer/reject/end gestures, the in-call screen, and the Contacts, Messaging, Alarms, and camera apps. Don't worry, most of this is still usable.

In this post, I explain how to work around the accessibility glitches in the HTC Sense interface on my Evo Shift. There may be a little variation, especially when it comes to the gestures, but most of this information should transfer to other HTC Sense UI phones.

Finding Accessibility Settings in a New Sense UI Device

When you walk into the store to check out Sense UI cell phones or when your new Sense UI device comes in the mail, the person who is helping you start accessibility may tell you there is no accessibility item in the phone's settings. No need to sound the alarm.

To restore the accessibility option to settings, direct the sighted person helping you to go into the Market and install Talkback by Eyes-Free Project or by Google, Inc. Doing this not only installs the screen reader but also adds the Accessibility option to Settings.

To start speech, have the person helping you go into Settings/Accessibility, and check both Accessibility and Talkback. After that, you're good to go, and can manage the rest on your own.

A Note About the Instructions in This Post

When I say, "Press enter to do something," I mean "Press the actual Enter key on the hardware keyboard," not the center of the arrow keys. The center button in the arrow keys only seems to move focus through lists of items.

Unlocking the Screen on the Evo Shift

To unlock the screen, press the power button at the top of the phone. Spiel or Talkback says the time. Place your finger in the very center of the screen (both horizontally and vertically) and swipe down, and the screen unlocks. This gesture applies to the Shift, but may not apply to all Sense devices.

Alternatively, unlock the screen by opening the hardware keyboard.

Using the Stock Launcher in HTC Sense Phones

The HTC Sense launcher or home screen is almost completely inaccessible, so you'll want to go to the Market to install a home screen you can use. Examples of home screens that work well with speech are the Eyes-Free Shell by Eyes-Free Project or Google, Inc., and Launcher Pro by Federico Carnales.

The only part of the stock HTC launcher that is usable with a screen reader is the All Applications list. To access it, press the Menu key. Then you can scroll through a list of all the apps installed, and you can press the enter key on the one you want to use.

Answering/Rejecting Calls on the Evo Shift

Gestures to answer and reject calls on Sense UI phones vary, depending on the version of Android you're running and on whether the screen is locked or unlocked. With the Shift and Gingerbread (2.3), the following instructions apply:

To answer a call while the phone is locked, simply swipe down from the very center of the screen, like when you unlock it.

To reject a call while the screen is locked, do the gesture in reverse, swiping up, starting at the bottom edge of the screen protector, if you have one, or above the 4 capacitive function keys. This makes the phone stop ringing and sends the call directly to voicemail.

To answer a call while the screen is unlocked, like when you're on your home screen or in another app, tap the on-screen answer button, which is located in the bottom left portion of the screen above the capacitive home and menu buttons. Having a screen protector helps. If you have one, locate the button by finding the edge of the screen protector and tap about .25 inch or .5 cm from the left. To do this, I usually hold the phone in my left hand and reach around so I can touch the button on the screen with my left thumb. It takes practice, but is second nature once you've done it enough. With the phone positioned in landscape, these buttons move to the long edge of the screen and become a bit longer and easier to tap.

To reject a call while the screen is unlocked, like when you're on your home screen or in another app, tap the on-screen ignore button, which is located in the bottom right portion of the screen above the capacitive back and search buttons. It's the same spot for answering, except on the right side of the screen. I find these gestures are easier to do by holding the phone in one hand and reaching around with my thumb to do the tapping.

Some users of FroYo (2.2) and earlier answer calls with a free app called Shake Call by YSRSoft.

Since the Sense UI has removed the Use Power Button to End Call accessibility feature, you can also reject calls by pressing the power button.

Ending Calls on HTC Sense Phones

Ending calls is a little trickier on Sense UI phones because an accessibility feature allowing the power button to hang up has been removed, so you have to use the on-screen end-call button.

To end a call or hang up, pull the phone away from your face so the screen wakes up, find the lower left center of the screen, and tap it. The spot is roughly between the two capacitive buttons on the left and a little over 1 inch or 2.5 cm above the bottom edge. You have to do a little practicing, but after a few taps in that general area, it will be second nature. The phone plays a short tone to confirm the call has been ended.

You're probably thinking, "Why can't I just open the keyboard and arrow to the end call button?" You can, but I've found that sometimes Talkback or Spiel doesn't speak in the in-call screen, even when I have the phone far enough away from my face to avoid interfering with the proximity sensor. On those occasions, I've had to restart the phone to hang up at the end of a call or voicemail. It's much more efficient to use the touch gestures to answer and hang up calls.

Note: when attempting to touch the on-screen end call button, try not to tap the home or other capacitive keys. If you do, you'll have a tough time getting back to the in-call screen. The process involves using status notifications to return to the phone app and preying you get to the right screen so you can tap the "end call" button.


Some users with FroYo (2.2) and earlier end calls with a free app called Shake Call by YSRSoft.

Adding, viewing, and Deleting Contacts using People

People, the Contacts app on the Shift, is fairly accessible. You can add and delete contacts with a screen reader. You do have to arrow around more than usual to get things to speak, but it's doable.

When the app opens, you're on the "add contact" icon. Press enter on this to create a new contact.

To scroll through the list of contacts, open the ap and down-arrow. Pressing enter on someone's name enables you to call, text, set ringtone, and edit the contact details for that person. The options on this screen are spoken fairly well with Spiel. If you don't hear anything after pressing down arrow, press the down-arrow again. There are some unlabeled image buttons, which clutter the screen. To return to the contact list, press the back button.

One thing to keep in mind while in the main contact list is that, if you arrow down after you've reached the end of the list, you get to the most inaccessible part of the application. It seems to be a list of categories, and the enter and arrow buttons have no effect on these items. You need to force close and restart the contacts app to exit this area and use People again.

To add a contact, arrow to the "add contact" icon at the top of the contact list and press enter. It should be the item with focus when People opens.

When focus moves to the Name edit box, Spiel doesn't announce that it's an edit box, it just says, "Name." Go ahead and type the contact's full name and down arrow until you hear, "phone, edit text." You can specify multiple numbers and emails for a contact. It's just a little trickier, but the arrows are your friend in this app, so you can do it with Spiel if you're patient enough.

As you continue arrowing around to enter other details, you encounter lots of items that Spiel announces as "add." These are for birthdays and so on and make use of nonstandard picker controls, which are inaccessible, so arrow past them.

When you finish adding all the details you want for the contact, arrow down several times until you get to the "save" and "cancel" buttons. Save is on the left, and cancel is to the right of that. To save your changes, either press enter on the "Save" button or simly press the Back key.

Note: The contacts app allows for the creation of groups so you can send messages to multiple people at the same time. I haven't used this functionality, so I don't know if it's accessible or not.

Using the messaging App in HTC Sense

The messaging app that comes with the EVO Shift 4G is not all that different from the stock messaging app.

To compose a new message, just launch the app and press enter, as focus moves directly to the "compose message" icon when you start the app.

To add contacts to the "to" field, hit right arrow once while on the "To" field. This puts you on an unlabeled button. Press enter on this. The contact list comes up, allowing you to check as many as you wish. At the bottom is the "done" button. The great thing about this button is that it tells you how many contacts are selected, such as "Done (6)" button.

To return to the "to" field and the rest of the message, hit left arrow After pressing enter on the Done button. Then down arrow to the message body, where you can type your message. When you're done, press right arrow to move to the send button and press enter.

To reply to a text message, some workarounds are required because it is not possible to open a conversation and move to the message body field directly. Instead,hit enter on the conversation in the list, and arrow to the specific message you wish to reply to. Then do one of two things:

Either … long press enter to bring up the context menu for the message, and press enter on "Reply." When you do, focus moves to the message body edit field, where you can type your reply.

Or … press enter on the message in the thread, then tap the bottom center of the screen to move focus to the edit field.

Whichever method you use, Spiel says, "Add text," when focus moves to the message body. The next thing to do is to type your reply, press enter, then right arrow to the send button, and press Enter again. I've found that pressing enter in the message body field before moving to the send button works all the time. If I skip this step, focus stays in the message field or the app has other strange behavior.

Setting Alarms with Alarm Klock

The default clock app on the Evo Shift is inaccessible, so go to the Market, and download a free app called Alarm Klock by Craig G/, which is easy to use and 100% accessible. Here is some basic information on how to use this app:

To set an alarm in Alarm Klock, start by opening the app and setting the time you wish the alarm to go off. When the app. is launched, focus moves right to the Add Alarm button. Press enter there, and explore the new screen. The items are organized top to bottom, so hitting left or right arrow doesn't wrap around confusingly. the screen shows some edit boxes and some buttons labeled +1, -1, +5, and -5. The +/-1 buttons are for setting the hour, and the +/-5 buttons are for setting the minutes. You can also enter the time manually in the edit fields. The AM/PM button is to the right of the time edit fields. Pressing enter on it toggles between the two, and Spiel speaks the new status when you arrow away and back again. After setting the time, down arrow to the OK button and press enter.

To give your new alarm a label and maybe assign it a different sound from the default alarm ring, go to the app's main screen, up arrow to the new unlabeled alarm, and press enter. This brings up a totally accessible screen for setting the alarm ringtone and other options. You can change the time here as well. Most of this is self-explanatory, so I won't go into any detail.

To stop a ringing alarm, simply slide your finger across the screen from left to right, about 1 inch or 2.5 cm from the bottom edge,. The alarm sound will stop immediately and place you on the HTC lock screen. You can then either swipe down to unlock or hit the power button to put the phone back to sleep.

To snooze a ringing alarm, simply tap the screen once near the center.

Using the Camera

The camera in HTC Sense is as inaccessible as the camera in stock Android, but you can still take pictures.

Don't smirk. Taking pictures may be useful even for totally blind people. For example, I was once in a lunch room where there was a new microwave I didn't know how to use. I took a quick snapshot of the front panel and sent it to a friend, and a few seconds later, I had enough info to warm up my lunch.

To take a picture, open the camera app, and press Enter while you're pointing the back of your phone at the object you wish to take a picture of. The menus don't read and there's no way to adjust picture quality, but the defaults are fine. The pictures are stored as ImagX.jpg, where X is a number, and placed on the SD card\dsim\100MEDIA.;

Conclusion

The EVO Shift 4G is an excellent phone once you learn to work with it. It would have been a better device if HTC left well enough alone, but even so, this phone is usable with hardly any 3rd party apps.

mercredi 10 août 2011

Accessible GMail On Android ---- Eyes-Free Email On The Go!

Accessible GMail On Android — Eyes-Free Email On The Go

1 Accessible GMail On Android — Eyes-Free Email On The Go

I've been using Android as my primary smart phone since late 2008, and the level of email access I've had on Android in the past has always been a source of frustration. About a year ago, I first started accessing my email on Android with K9-Mail — that helped me bridge some of the accessibility gaps on the platform.

Over the last few months, our friends over in GMail Mobile have been adding accessibility support to the GMail client on Android. What is truly exciting is that this support is being added to existing releases of Android including Froyo (Android 2.2) and GingerBread (Android 2.3). This means that GMail on Android is now accessible on existing devices — get the update from Market and give it a spin.

1.1 Typical Usage Pattern

Here is my typical usage pattern when accessing my corporate email at Google. Note that the volume of email I receive on this account is extremely high, and includes many mailing lists that I typically do not read while on a mobile device. To limit how much email I download to the mobile device, and to ensure that I attend to the most pressing email messages while on the go I do the following:

  • I have defined a GMail filter that assigns label to-mobile to messages I want to access when on the go.
  • Typically, this includes email addressed directly to me, and other priority items.
  • I launch GMail to open to this label.
  • I quickly skim through the list of displayed messages to here the subject and a quick overview of the message.
  • If I decide to read the complete message, I select that message via the trackball on my Nexus One to hear the message in its entirety.
  • And finding an email thread I am looking for is just one click away — press the search button, and use up/down to navigate your search history.

See our help center documentation for additional details.

Author: T.V Raman <raman@google.com>

Date: 2011-08-10 Wed

HTML generated by org-mode 6.30c in emacs 23