How to solve it – cheatsheet

From a grateful reader:

About 8 months ago I finished reading “How to solve it” by George Polya. I was so fascinated with the book that I decided to read it again right away. This time around I took notes… in fact I managed to re-type almost the entire book, since I found almost everything the author wrote indispensable. Going over my notes, I realized that in order to fully grasp and appreciate ideas you must read the book in its entirety. However no effort should be put to waste and so I decided to pick a few things out and lay it out in this cheatsheet and the rest of my notes can be downloaded in rich text format document.

P.S: My apologies for any mis-types.

The cheatsheet:

The questions and suggestions of our list cannot work magic. They cannot give us the solution of all possible puzzles without any effort on our part. If the reader wishes to find the solution, he must keep on trying and thinking about it. What the questions and suggestions of the list can do is to “keep the ball rolling.” When, discouraged by lack of success, we are inclined to drop the problem, they may suggest to us a new trail, a new aspect, a new variation of the problem, a new stimulus; they may keep us thinking.

Questions and suggestions:

1. Understand the problem

  • First. You have to understand the problem.
  • What is the unknown? What are the data? What is the condition?
  • Is it possible to satisfy the condition? Is the condition sufficient to determine the unknown? Or is it insufficient? Or redundant? Or contradictory?
  • Draw a figure. Introduce suitable notation.
  • Separate the various parts of the condition. Can you write them down?

2. Devising a plan

  • Second. Find the connection between the data and the unknown. You may be obliged to consider auxiliary problems if an immediate connection cannot be found. You should obtain eventually a plan of the solution.
  • Have you seen it before? Or have you seen the same problem in a slightly different form?
  • Do you know a related problem? Do you know a theorem that could be useful?
  • Look at the unknown! Try to think of a familiar problem having the same or a similar unknown.
  • Here is a problem related to yours and solved before. Could you use it? Could you use its result? Could you use its method? Should you introduce some auxiliary element in order to make its use possible?
  • Could you restate the problem? Could you restate it still differently? Go back to definitions.
  • If you cannot solve the proposed problem, try to solve first some related problem. Could you imagine a more accessible related problem? A more general problem? A more special problem? An analogous problem? Could you solve a part of the problem? Keep only a part of the condition, drop the other part; how far is the unknown then determined, how can it vary? Could you derive something useful from the data? Could you think of other data appropriate to determine the unknown? Could you change the unknown or data, or both if necessary, so that the new unknown and the new data are nearer to each other?
  • Did you use all the data? Did you use the whole condition? Have you taken into account all essential notions involved in the problem?

3. Carrying out the plan

  • Third. Carry out your plan.
  • Carrying out your plan of the solution, check each step. Can you see clearly that the step is correct? Can you prove that it is correct?

4. Looking back

  • Fourth. Examine the solution obtained.
  • Can you check the result? Can you check the argument?
  • Can you derive the solution differently? Can you see it at a glance?
  • Can you use the result, or the method, for some other problem?

Main divisions, main question:

Trying to find the solution, we may repeatedly change out point of view. We have to shift out position again and again. Our concept of the problem is likely to be rather incomplete when we start the work; our outlook is different when we have made some progress; it is again different when we have almost obtained the solution.

Four phases: 

1. We have to understand the problem – see clearly what’s required

2. Second, we have to see how the various items are connected, how the unknown is linked to the data, in order to obtain idea of the solution, to make a plan

3. We carry out our plan.

4. We look back at the complete solution, we review and discuss it.

Understanding the problem:

It is foolish to answer a question that you do not understand.

  • What is the unknown?
  • What are the data?
  • What is the condition?

If there is a figure connected with a problem he should draw a figure and point out on the unknown and the data. Introduce suitable notation if needed.

  • Is it possible to satisfy the condition?

Devising a plan:

We have a plan when we know, or know at least in outline, which calculations, computation, or constructions we have to perform in order to obtain the unknown. The way from understanding the problem to conceiving a plan may be long and tortuous. In fact, the main achievement in the solution of a problem is to conceive the idea of a plan.

It is hard to have a good idea if we have little knowledge of the subject and impossible to have it if we have no knowledge. Good ideas are based on past experience and formerly acquired knowledge. Mere remembering is not enough for a good idea, but we cannot have any good idea without recollecting some pertinent facts; materials alone are not enough for constructing a house but we cannot construct a house without collecting the necessary materials. The materials necessary for solving a mathematical problem are certain relevant items of our formerly acquired mathematical knowledge, as formerly solved problems or formerly proved theorems. Thus, it is often appropriate to start the work with the question:

  • Do you know a related problem?
  • Look at the unknown! And try to think of a familiar problem having the same or a similar unknown.
  • Here is a problem related to yours and solved before. Could you use it?
  • Could you restate problem?
  • If you cannot solve the proposed problem try to solve first some related problem.
  • Did you use all the data? Did you use the whole condition?

Carrying out the plan:

To devise a plan, to conceive the idea of the solution is not easy. It takes so much to succeed; formerly acquired knowledge, good mental habits, concentration upon the purpose, and one more thing: good luck. To carry out the plan is much easier; what we need is mainly patients.

  • Can you see clearly that the step is correct?
  • But can you also prove that the step is correct?

Looking back. Even fairly good students, when they have obtained the solution of the problem and written down neatly the argument, shut their books and look for something else. Doing so, they miss an important and instructive phase of work. By looking back at the completed solution, by reconsidering and re-examining the result and the path that led to it, they could consolidate their knowledge and develop their ability to solve the problems.

  • Can you check the result?
  • Can you check the argument?

In order to convince ourselves of presence or the quality of an object, we like to see and to touch it. And as we prefer perception through two different senses, so we prefer conviction by two different proofs:

  • Can you derive result differently?
  • Can you see it a a glance?
  • Can you use the result or the method, for some other problem?

PART II. HOW TO SOLVE IT A DIALOG:

Getting acquainted:

Where should I start? Start from the statement of the problem.

What can I do? Visualize the problem as a whole as clearly and as vividly as you can. Do not concern yourself with details for the moment.

What can I gain by doing so? You should understand the problem, familiarize yourself with it, impress its purpose on your mind. The attention bestowed on the problem may also stimulate your memory and prepare for the recollection of relevant points.

Working for better understanding:

Where should I start? Start again from the statement of the problem. Start when this statement is so clear to you and so well impressed on your mind that you may lose sight of it for a while without fear of losing it altogether.

What can I do? Isolate the principal parts of your problem. The hypothesis and the conclusion are the principal parts of the “problem to prove”; the unknown, the data, and the conditions are principal parts of “problem to find”. Go through the principal parts of your problem, consider them one by one, consider them in turn, consider them in various combinations, relating each detail to other details and each to the whole of the problem.

What can I gain by doing so? You should prepare and clarify details which are likely to play a role afterwards.

Hunting for the helpful idea:

Where should I start? Start from the consideration of the principle parts of your problem. Start when these principle parts are distinctly arranged and clearly conceived, thanks to your previous work, and then your memory seems responsive.

What can I do? Consider your problem from various sides and seek contacts with your formerly acquired knowledge. Consider your problem from various sides. Emphasize different parts, examine different details, examine the same details repeatedly but in different ways, combine the details repeatedly but in different ways, combine the details differently, approach them from different sides. Try to see some new meaning in each detail, some new interpretation of the whole. Seek contacts with your formerly acquired knowledge. Try to think of what helped you in similar situations in the past. Try to recognize something familiar in what you are examine, try to perceive something useful in what you recognize.

What could I perceive? A helpful idea, perhaps a decisive idea that shows you at a glance the way to the very end.

How can an idea be helpful? It shows you the whole of the way or a part of the way; it suggests to you more or less distinctly how you can proceed. Ideas are more or less complete. You are lucky if you have any idea at all.

What can I do with an incomplete idea? You should consider it. If it looks advantageous you should consider it longer. If it looks reliable you should ascertain how far it leads you, and reconsider the situation. The situation has changed, thanks to your helpful idea. Consider the new situation from various sides and seek contacts with your formerly acquired knowledge.

What can I gain by doing so again? You may be lucky and have another idea. Perhaps your next idea will lead you to the solution right away. Perhaps you need a few more helpful ideas after the next. Perhaps you will be led astray by some of your ideas. Nevertheless you should be grateful for all new ideas, also for the lesser ones, also for hazy ones, also for the supplementary ideas adding some precision to a hazy one, or attempting the correction of a less fortunate one. Even if you do not have any appreciable new ideas for a while you should be grateful if your conception of the problem becomes more complete or more coherent, more homogeneous or better balanced.

Carrying out the plan:

Where should I start? Start from the lucky idea that led you to the solution. Start when you feel sure of you grasp of the main connection and you fell confident that you can supply the minor details that may be wanting.

What can I do? Make your grasp quite secure. Carry through in detail all the algebraic or geometric operations which you have recognized previously as feasible. Convince yourself of the correctness of each step by formal reasoning, or by intuitive insight, or both ways if you can. If your problem is very complex you may distinguish “great” steps and “small” steps, each great step being composed of several small ones. Check first the great steps, and get down to the smaller ones afterwards.

What can I gain by doing so? A presentation of the solution each step of which is correct beyond doubt.

Looking back:

Where should I start? From the solution, complete and correct in each detail.

What can I do? Consider the solution from various sides and seek contacts with your formerly acquired knowledge.

Consider the details of the solution and try to make them as simple as you can; survey more extensive parts of the solution and try to make them shorter; try to see the whole solution a a glance. Try to modify to their advantage smaller or larger parts of the solution, try to improve the whole solution, to make it intuitive, to fit it into your formerly acquired knowledge as naturally as possible. Scrutinize the method that led you to the solution, try to see its point, and try to make use of it for other problems. Scrutinize the result and try to make use of it for other problems.

What can I gain by doing so? You may find a new and better solution, you may discover new and interesting facts. In any case, if you get into the habit of surveying and scrutinizing your solutions in this way, you will acquire some knowledge well ordered and ready to use, and you will develop your ability of solving problems.

Random notes:

Inventor’s paradox. The more ambitious plan may have more chances of success. This sounds paradoxical. Yet, when passing from one problem to another, we may often observe that the new, more ambitious problem is easier to handle than the original problem. More questions may be easier to answer than just one question. The more comprehensive theorem may be easier to prove, the more general problem may be easier to solve.

Look at the unknown. This is old advice; the corresponding Latin saying is: “respice finem.” This is, look at the end. Remember your aim. Do not forget your goal. Think of what you are desiring to obtain. Do not lose sight of what is required. Keep in mind what you are working for. Look at the unknown. Look at the conclusion. The last two versions of “respice finem” are specifically adapted to mathematical problems, to “problems to find” and to “problems to prove” respectively.

Focusing our attention on our aim and concentrating out will on our purpose, we think of ways and means to attain it. What are the means to this end? How can you attain your aim? How can you obtain a result of this kind? What causes could produce such a result? Where have you seen such a result produced? What do people usually do to obtain such a result? And try to think of a familiar problem having the same or a similar unknown. And try to think of a familiar theorem having the same or similar conclusion. Again, the last two versions are specifically adapter to “problems to find” and to “problems to prove” respectively.

Separate the various parts of the condition. Our first duty is to understand the problem. Having understood the problem as a while, we go into detail. We consider its principal parts, the unknown, the data, the condition, each by itself. When we have these parts well in mind but no particularly helpful idea has yet occurred to us, we go into further detail. We consider the various data, each datum by itself. Having understood the condition as a while, we separate its various parts, and we consider each part by itself.

Choosing notation. An important step in solving a problem is to choose the notation. It should be done carefully. The time we spend now on choosing the notation may be well repaid by the time we save later by avoiding hesitation and confusion. Moreover, choosing the notation carefully, we have to think sharply of the elements of the problem which must be denoted. Thus, choosing a suitable notation may contribute essentially to understanding the problem.

A good notation should be unambiguous, pregnant, easy to remember; it should avoid harmful second meanings, and take advantage of useful second meanings; the order and connection of signs should suggest the order and connection of things.

Pedantry and mastery are attitudes toward rules.

To apply a rules to the letter, rigidly, unquestioningly, in cases where it fits and in cases where it does not fit, is pedantry. Some pedants are poor fools; they never did understand the rule which they apply so conscientiously and so indiscriminately. Some pedants are quite successful; they understood their rule, at least in the beginning (before they became pedants), and chose a good one that fits in many cases and fails only occasionally.

To apply a rule with natural ease, with judgement, noticing the cases where it fits, without ever letting the words of the rule obscure the purpose of the action or the opportunities of the situation, is mastery.

The questions and suggestions of our list may be helpful both to problem-solvers and to teachers. But, first, they must be understood, their proper use must be learned, and learned by trial and error, by failure and success, by experience in applying them. Second, their use should never become pedantic. You should ask no question, make no suggestion, indiscriminately, following some rigid habit. Be prepared for various questions and suggestions and use your judgement. You are doing a hard and exciting problem; the step you are going to try next should be prompted by an attentive and openminded consideration of the problem before you. You with to help a student; what you say to your student should proceed from a sympathetic understanding of his difficulties.

And if you are inclined to be a pedant and must rely upon some rule learn this one: Always use you own brains first.

Worth-while problem: We cannot hope to solve any worth-while problem without intense concentration. But we are easily tired by intense concentration of our attention upon the same point. In order to sleep the attention alive, the object on which it is directed must unceasingly change.

If our work progresses, there is something to do, there are new points to examine, our attention is occupied, our interest is alive. But if we fail to make progress, out attention falters, our interest fades, we get tired of the problem, out thoughts began to wander, and there is danger of losing the problem altogether. To escape from this danger we have to set ourselves a new question about the problem.

The new question unfolds untried possibilities of contact without previous knowledge, it revives out hope of making useful contacts. The new question reconquers our interest by varying the problem, by showing some new aspect of it.

Bright idea: What is progress toward the solution? Advancing mobilization and organization of our knowledge, evolution of our conception of the problem, increasing prevision of the steps which will constitute the final argument. We may advance steadily, by small imperceptible steps, but now and then we advance abruptly, by leaps and bounds. A sudden advance toward the solution is called a BRIGHT IDEA, a good idea, a happy thought, a brain-wave (in German there is a more technical term, Einfall). What is bright idea? An abrupt and mementoes change of our outlook, a sudden reorganization of our mode of conceiving the problem, a just emerging confident prevision of the steps we have to take in order to attain the solution.

Rules of discovery. The first rule of discovery is to have brains and good luck. The second rules of discovery is to sit tight and wait till you get a bright idea.

It may be good to be reminded somewhat rudely that certain aspirations are hopeless. Infallible rules of discovery leading to the solution of all possible mathematical problems would be more desirable than the philosophers’ stone, vainly sought by the alchemists. Such rules would work magic, but there is no such thing as magic. To find unfailing rules applicable to all sorts of problems is an old philosophical dream; but this dream will never be more than a dream.

A reasonable sort of heuristic cannot aim at unfailing rules; but it may endeavor to study procedures (mental operations, moves, steps) which are typically useful in solving problems. Such procedures are practiced by every sane person sufficiently interested in his problem. They are hinted by certain stereotyped questions and suggestions which intelligent people put to themselves and intelligent teachers to their students. A collection of such questions and suggestions, stated with sufficient generality and neatly ordered, may be less desirable than the philosophers’ stone but can be provided. The list we study provides such a collection.

Rules of style. The first rule of style is to have something to say. The second rule of style is to control yourself when, by chance, you have two things to say; say first one, then the other, not both at the same time.

Rules of teaching. The first rules of teaching is to know what you are supposed to teach. The second rules of teaching is to know a little more than what you are supposed to teach.

First things come first. The author of this book does not think all rules of conduct for teachers are completely useless; otherwise, he would not have dared to write a while book about the conduct of teachers and students. Yet is should not be forgotten that teacher of mathematics should know some mathematics, and that a teacher wishing to impart the right attitude of mind toward problems to his students should have acquired that attitude himself.

First important discovery. The future mathematician learns, as does everybody else, by imitation and practice. He should look out for the right model to imitate. He should observe a stimulating teacher. He should compete with a capable friend. Then, what may be the most important, he should read not only current textbooks but good authors till he finds one whose ways he is naturally inclined to imitate. He should enjoy and seek what seems to him simple or instructive or beautiful. He should solve problems, choose the problems which are in his line, meditate upon their solution, and invent new problems. By these means, and by all other means, he should endeavor to make his first important discovery: he should discover his likes and his dislikes, his taste, his own line.

If you cannot solve the proposed problem do not let this failure afflict you too much but try to find consolation with some easier success, try to solve first some related problem; then you may find courage to attack your original problem again. Do not forget that human superiority consists in going around an obstacle that cannot be overcome directly, in devising some suitable auxiliary problem when the original one appears insoluble.

Polya’s quotes:

  • “If you can’t solve a problem, then there is an easier problem you can’t solve: find it”
  • “If the student is not able to do much, the teacher should leave him at lease some illusion of independent work. In order to do so, the teacher should help the student discreetly, unobtrusively.”
  • “Look at the unknown!”
  • “There are two aims which the teacher may have in view when addressing to his students a question or suggestion of the list: First, to help the student to solve the problem at hand. Second, to develop the student’s ability so that he may solve future problems by himself.”

Блокируемся

Предисловие:

Пару недель назад мне позвонил один мой друг и спросил, могу ли я ему помочь с компьютером, я согласился. Проблема была довольно забавная, хотя в наше время этому удивляться грешно. Интернет уже давно не безопасное место и стоит следить куда заходишь и на что кликаешь. В данном случае задача была как раз в том что бы заблокировать пару-тройку сайтов и сервисов. Думаю, это особо актуально тем кто хочет ограничить доступ для своих детей, но тем кто хочет заблокировать рекламу и тому подобное это тоже поможет.

Какие варианты?

Вариантов блокирования сайтов и сервисов масса. Если поискать в интернете то можно найти кучи программ которые обещают что заблокируют все и вся. Я не собираюсь тут обсуждать как они работают или делать какой либо обзор, так как есть довольно хороший альтернативный способ. А именно речь пойдет о двух вещах: Hosts file и DNS.

А как это работает?

По сути Hosts file и DNS похожи, так как делают одну и туже вещь только на разных уровнях. Но перед тем как перейти к том как этим все пользоваться “на благо народа”, нужно понять базовый принцип работы. И так начнем с того как же интернет работает.

Интернет работает на IP протоколе, то есть у каждой машины которая подсоединена к интернету есть IP адрес. Вот пример адрес: 173.194.32.104 и если вы напишите этот адрес в браузер то откроется сайт Гугл (google.com). Для аналогии можно интернет сравнить с телефонной сетью, набираете номер и получаете секс по телефону, заказ пиццы или что вы ещё хотите. Далее по аналогии, многие люди не запоминают номера телефонов, а запоминают названия компаний, сервисов и так далее. То есть вы можете представить себе ситуацию когда вам говорят: “… я тут заказал пиццу от 416-967-1111 и она классная…”, обычно говорят: “… я тут заказал пиццу от Pizza Pizza и она классная…”, а дальше если вы хотите с ними связаться и воспользоваться их сервисом, то вы открываете желтые страницы и смотрите номер телефона ассоциированный с Pizza Pizza. Конечно я перегнул с желтыми страницами, так как я не знаю кто ещё пользуется книжкой, обычно смотрят в интернете, но важен тот факт что для того что бы получить сервис нужно знать имя компании, потом посмотреть телефон (или адрес) в книге и позвонить (или приехать).

Интернет работает примерно так же. То есть вы вводите имя (доменное имя/domain name) в браузер, а далее происходит почти тоже самое что и в примере с телефоном. Другими словами браузер смотрит на имя и делает запрос в DNS (по аналогии в желтые страницы), получает номер, а дальше идет по нему и скачивает данные (страницу, файл и так далее).

Пример:

Компьютер —- запрос: google.com —-> DNS ( Domain Name System )
Компьютер <—- ответ: 173.194.32.104 —- DNS
Компьютер —- запрос: страница —-> 173.194.32.104
Компьютер <—- ответ: первая страница —- 173.194.32.104

Теперь рассмотрим разницу между Hosts фаил и DNS. Практическая разница состоит в том что Hosts файл расположен прямо у вас на компьютере ( в операционной системе ), а DNS находиться в интернете. И что более важно это факт того что перед тем как компьютер воспользуется сервисом DNS, он сперва проверит Hosts файл на наличии записи. Если запись существует в Hosts файле, то DNS сервисом пользовать не нужно, а если записи нет то компьютер делает запрос к DNS. Давайте посмотрим на пример Hosts файла:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##

255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 localhost

127.0.0.1 yandex.ru
127.0.0.1 www.yandex.ru

Из файла можно увидеть следующее: существует запись yandex.ru и IP адрес который ассоциирован с этим. То есть если я напишу в брузере “http://yandex.ru” то компьютер посмотрит в Hosts файл и увидит что запись существует и адрес является 127.0.0.1. После этого браузер попробует открыть страницу по адресу 127.0.0.1. Теперь можно спросить, а что 127.0.0.1 за адрес такой? Этот адрес является адресом местной машины, то есть адрес самой себя. Он не когда не меняется и используется для внутренних нужд системы. Другими словами у каждого компьютера есть 127.0.0.1 адрес и он по конвенции он указывает на этот же компьютер. Теперь можно спросить, а зачем мы “yandex.ru” указываем на собственную машину? Ну в данном случае это действительно не нужно, но представьте что вы хотите заблокировать yandex.ru, тогда все что нужно сделать это прописать “127.0.0.1 yandex.ru” в Hosts файле и каждый раз когда вы будите писать yandex.ru в браузер, он будет пытаться открыть страницу по местному адресу ( 127.0.0.1 ) где обычно ничего не находиться и в результате yandex.ru открываться не будет. Другими словами мы только что заблокировали yandex.ru не используя никаких навороченных программ.

Теперь стоит вернуться к DNS, зачем он нам нужен, если Hosts файл по идее делает такую же работу? Это правда, DNS нам был бы не нужен если бы в нашей сети было бы 100 сайтов ( серверов ), но в интернете миллионы сайтов и их количество продолжает расти каждый день. В итоге нам нужно что-то динамичное, то что может следить за новыми сайтами и содержать их адреса, в результате мы получили DNS – Domain Name System или система доменных имен. Этот сервис работает по примерно такому же принципу как и Hosts файл, то есть компьютер делает запрос DNS с именем google.com и получает в ответ 173.194.32.104. Как я и говорил ранее это похоже на желтые страницы, где вы ищите по названию и получаете телефон и адрес.

В итоге если мы хотим заблокировать какой нить сайт или ресурс то достаточно заблокировать ( или прописать ) их либо в Hosts файле либо в DNS сервисе, а можно и в обеих местах.

Где DNS и что с ним делать?

И так у нас теперь есть понятие о том как компьютер запрашивает сайты. Но перед тем как мы перейдем к тому что бы начать блокировать все и вся, нужно чуть поговорить о DNS. DNS как вы уже поняли, является сервисом который находиться где-то в интернете. Вопрос напрашивается сам по себе, а как мой компьютер знает “кому звонить” или как соединиться с DNS? Обычно DNS настройки идут вместе с TCP/IP настройками и типично определяются вашим интернет провайдером. То есть когда вы подсоединяете к сети, то ваш компьютер запрашивает сетевые настройки и тогда получает в ответ интернет адрес, DNS адреса и ещё пару-тройку вещей. Тогда следующий вопрос: а как я могу поменять DNS настройки? Сменить DNS легко, все что вас нужно это найти в интернете DNS сервис, например я пользуюсь openDNS ( http://www.opendns.com/ ) и проставить DNS адреса у себя в системе на те которые предоставлены openDNS-ом. Вот например: DNS адреса с http://opendns.com – 208.67.222.222 и 208.67.220.220. Прописываем эти адреса в системных настройка и усе готово.

Вот как это выглядит на маке:

А вот как это выглядит на Windows XP:

Подробные инструкции о том как настроить Windows XP можно найти тут, а если ссылка не работает то я сделал pdf, можете скачать и прочитать.

А вот как это выглядит на Linksys роутере:

Подробные инструкции для настройки DNS в роутерах можно найти тут, а если ссылка не работает то я сделал pdf, можете скачать и прочитать.

Hosts vs DNS:

Вопрос чем лучше пользоваться Hosts файлом или DNS? Все зависит от задачи, ограничений и личного выбора. Например если у вас дома дети и вы хотите ограничить доступ для всего дома, то конечно стоит воспользоваться DNS и проставить настройки в роутере, что бы любое устройство в доме будь то iPad, iPhone или ваш старый компьютер не давали возможности похода на facebook. Но если вы хотите просто отгородить свой личный компьютер от facebook-а то можно просто прописать его в Hosts файле. Теперь нужно упомянуть об одной проблеме/недостатке в Hosts файле, у Hosts файла нету так называемого символ-джокера. Что это значит? А то что каждый сайт который нужно прописать в Hosts файле нужно прописывать с поддоменами. Для простоты приведу пример, возьмем для примера yandex.ru:

Как и раньше мы прописываем в Hosts файле следующее:

127.0.0.1 yandex.ru

И это ограничит доступ на http://yandex.ru, но на yandex.ru можно будет зайти используя под-домен: http://www.yandex.ru и для того что бы заблокировать и этот адрес нужно прописать следующее:

127.0.0.1 www.yandex.ru

Тогда оба адреса будут заблокированы. Другими словами в Hosts файле нужно прописывать все конкретно и нельзя указать одной строкой блокировку всего что является частью yandex.ru. Хотя это и недостаток, но не очень большой и всегда можно соорудить свой список того что нужно блокировать, раз настроено и работает всегда.

Что касается DNS тут проблема другого рода, для начала надо найти DNS сервис который позволяет вводить ограничения. Например я нашел openDNS.com и на нем есть много разных настроек фильтра и блокирования сайтов/доменных имен, но бесплатная часть сервиса разрешает вам блокировать только 25 доменных имен, если нужно больше то прийдется платить. Есть так же русский вариант называется Rejector, но я им не пользовался и поэтому не могу ничего сказать о сервисе. Так же отмечу что можно сделать свой DNS сервис, настроить его как нужно, но это не простая работа и вдаваться в подробности я не буду.

Итого и тут и там есть свои недостатки, но можно комбинировать и то и другое и получить лучшее от обоих “миров”.

Hosts:

И так вы решили воспользоваться Hosts, все что для этого нужно это отыскать файл у себя в системе и написать туда что блокировать по выше приведенным примерам. Размещение Hosts файла в разных операционных системах хорошо описано в вики, или pdf. Для того что бы новые параметры вступили в работу нужно обновить кэш, перегрузите браузер и посмотрите работает ли оно. Если не помогло, то проверьте записи в Hosts файле и перегрузите всю машину (хуже не будет). В Mac OS X нужно сбросить кэш, в консоли терминала (terminal) напишите “dscacheutil -flushcache” или перегрузите компьютер.

В интернете есть замечательный сайт, где люди собирают и обновляют лист сайтов/мест паразитов. Вы можете скачать готовый Hosts файл и разместить у себя на машине тем самым блокируя эти сайты.

DNS:

Что же касается DNS, то как я уже говорил ранее, есть сервис openDNS где вы можете зарегистрироваться и начать пользоваться их услугами. На сайте есть большое количество информации и настроек. Можно фильтровать/блокировать не только индивидуальные сайты, а так же целые группы. Например если вы хотите заблокировать сайты с оружием или социальными сетями, то ставите галочку и все готово. Так же openDNS предоставляет статистику интернет “походов”, что может оказаться полезным если вы следите за своими детьми. Бесплатный аккаунт предоставляет все выше описанные, но если нужно больше то вы всегда можете подписаться на платный сервис. Итого все сделано красиво, просто и работает замечательно.

Как все обойти?

Можно ли все эти блокировки обойти? Короткий ответ да, все можно обойти со временем и ресурсами. Длинный ответ, да можно, но не так просто как хотелось бы. Если вы все настроили и закрыли доступ для изменения системных настроек, то это будет сложно. Например что сделал я когда блокировал одну машину для родителей. После того как прописал Hosts файл и выставил настройки для OpenDNS, я закрыл доступ к настройкам системы на Windows 7. Потом закрыл доступ к BIOS что бы умный ребенок не могу загрузиться с Линук диска и не пошел в интернет. Так как для обхода DNS все что надо, так это прописать в настройках адреса другого DNS сервиса и вуаля, все ограничения OpenDNS больше не работают, так как компьютер не больше не пользуется OpenDNS сервисом. Так же если нету доступа к системным настройкам то нельзя изменить Hosts файл, но если загрузиться с Линукс диска ( то есть с другой системы ) то там Hosts файл не модифицирован и как следствие нету никаких ограничений. Но даже с учетом того что машина вся закрыта, всегда можно сменить жесткий диск и результат будет такой же. Итого способы обойти всю эту блокировку есть и все зависит от того на сколько человек хочет обойти все это. Да чуть не забыл, всегда можно для обхода этого всего использовать Web-proxy – это просто и работает на ура. Хотя всегда можно проставить блокировку проксей… все это напоминает в игру кошки-мышки и на самом деле это так и есть, одни пишут защиту, а другие её ломают и пока что не видно конца и края этому процессу.

Итого:

Итого заблокировать свой дом и компьютеры можно и это довольно просто и бесплатно. Однако нужно отметить что абсолютной защиты пока не существует. Единственный выход так это “закрутить болты” потуже и надеяться на лучшее.

Ресурсы:

DNS сервисы:
openDNS
Rejector

Hosts файл:
Готовый лист паразитов и другой информации

Инструкции:
DNS настройки Windows XP
DNS настройки для роутеров

Вики:
Символ-джокер
Размещение Hosts файла

Резина – в попытке понять.

Предесловие:

Как пошутил мой друг: “плохая резина может привести к досрочной смерти, как и к досрочному рождению”. Ну шутка шуткой, а тема резины все же тяжелая. Для начала скажу, что я НЕ специалист на эту тему, я НЕ механик и вообще к машинам большого отношения не имею, кроме как личный интерес. Примерно месяц назад я был на одном форуме, где разразилась громкая дискуссия по поводу резины… Меня там виртуально отмутузили за то что я не понимал смысла покупки дорогой резины. Меня это взбесило и я решил пойти и своими силами попытаться разобраться почему резина так важна и зачем платить в районе 100 долларов за шину.

Все что вас держит:

Прочитав ряд сайтов на тему резины я понял что, все что держит машину на дороге, так это небольшая поверхность 4-х колес. Думаю что это тривиально и тут не какого открытия нету, но обычно это рассказывается с очень большой паранойей и создается ощущение что если ты купил относительно дешевую резину, то уже в следующей поездке машину сорвет с дороги и размажет по всей трассе к чертовой бабушке! На пару минут мне даже захотелось поехать в магазин и поменять все 4 колеса на моем старом мираже, что бы меня не размазало! Но потом я успокоился и стал думать логично… так как я студент и покупать особо дорогую резину… да и вообще дорогую и не очень, не могу и не когда не мог… то обычно ездил на дешевой резине и вроде уже 7 лет так. Из своего личного опыта я сделал вывод, что не все так плохо и даже дешевая резина служит хорошо.

На сколько можно дешевить:

Всю свою водительскую жизнь я провел катаясь на дешевой резине… и были моменты когда я об этом реально жалел… Например один раз у меня стояла старая резина ( получил её бесплатно ) на задних колесах. Она была тертая, сухая ( маленькие трещинки по колесу ) и медленно спускала воздух. И вот один раз я решил слихачить и зашел в поворот чуть быстрее чем надо было… дорога была слегка мокрая, машину понесло, а потом крутануло и выбросило с дороги ( http://meirz.net/?p=364 ). Этот опыт дал мне понять, что экономить на резине можно, НО с умом… Если стоит дешевая резина, то в плохих погодных условиях лучше не лихачить! Не стоит ставить старую уже непотребную резина, даже если дают бесплатно, лечиться будет дороже! Лучше купить новою, даже самую дешевую резину. Так же стоит упомянуть несколько вещей:

– Старая резина, даже если на ней не ездили все равно изнашивается! Да-да… со временем она высыхает, трескается, теряет эластичность и просто становиться непригодной к использованию. Озон и ультрафиолет влияет на химический состава резины и это приводит к выше описанным последствиям. Производители шин обычно добавляют в резину защитные вещества, но со временем они уходят и резина становиться коричневой. Поэтому если хотите хранить резину, то стоит хранить в темном и прохладном месте. Так же стоит приобрести специальные химические средства и пакеты для хранения – возможно это уже через край, но это для вашей информации. Подробней можно прочитать тут ( http://www.tire-information-world.com/tire-sidewall-deterioration.html ).

– Так же надо отметить что Б/У резина может иметь ряд проблем, которые незаметны на первый взгляд. Порванные шнуры, изношенные стены, тертый протектор ( не ровно тертый – с одной стороны полный с другой стертый почти на нет ). А так же просто старость. Даже если хранить резину правильно то все равно некоторые производители рекомендуют не использовать резину если она старее чем 7 лет ( с года выпуска ). Год выпуска можно прочитать на резине, в Америке/Канаде на резине пишется DOT спецификация и последняя группа из 4-х номеров показывает номер недель ( первые 2 числа ) и год ( последние 2 числа ) выпуска шины.

Лично для себя я сделал вывод, что если ты не специалист или у тебя нету друга который может с резиной помочь, то лучше заплатить на 10-15 долларов больше ( за шину ) и поставить новую дешевую резину – так будет проще, надежней и дешевле в последствии.

Кто ты:

Возможно эта тема не в тему, хе-хе, но это неотъемлемая часть. Когда рассуждаешь о чем либо всегда надо учесть свои приоритеты, так как именно этим обусловлен выбор. При выборе резины надо учесть свои потребности, стиль вождения, климат и тому подобное. Другими словами выбор шины в основном зависит от того что ты хочешь и что надо. Например я живу в климате где реально много снега особо не бывает… ну может будет огромные снегопады пару-тройку дней, а потом немного снега и главные дороги всегда чистые и засыпаны солью, так что больше слякоти чем снега. Поэтому покупать зимнюю резину просто нету смысла. Так же я быстро фактически никогда не езжу… тут полиция не дремлет, а получать штраф не хочется. То есть мой скоростной диапазон ограничивается 110 км/ч, а по городу не более 60 + город небольшой. Итого мне нету никакого смысла покупать полу-спортивные шины которые держат дорогу как приклеенные… так как на 60 км/ч это все равно чувствоваться не будет. Возможно стоит задуматься о комфорте и тому подобном – это более реалистично и практично. И все же тут важно определиться что именно ты хочешь от резины: пробег, комфорт, контакт с дорогой, климат ( снег, дождь, сухость ) и так далее. При выборе резины эти параметры окажутся ключевыми и поэтому стоит потратить время и подумать об этом перед тем как идти в магазин.

Покупай что дороже:

Пару дней назад я разговаривал с другом и рассказал ему что мол я хочу понять как выбрать резину. Хочу разобраться какая разница между дешевой резиной которую я так “люблю” и дорогой которая выглядит привлекательно, но я не вижу никаких реальных данных о их крутизне, кроме как Петя сказал… на форуме написано… и тому подобное. Тогда он меня спросил: “мне тут надо резину менять на своем SUV, какую ставить то?”, на что я сразу же ответил: “Самую дорогую что можешь себе позволить (от $80 и выше )”. Кто-то может сказать мол быстро ты поменял свое мнение, типо втираешь тут что не видишь разницы между дешевой резиной и дорогой, а как что так сразу покупай что дороже… Да это так, у него SUV – авто которые не славятся своей стабильностью, особенно в снег и лед + у него жена и ребенок, поэтому если бы я был на его месте, даже с тем что я лично не вижу особой разницы между дорогой и дешевой резиной, а все же лучше потратить на пару сотен баксов больше и не бояться что жена с ребенком могут попасть в аварию… или хотя бы знать что ты сделал все возможное для безопасного путешествия.

Все дело в цифрах:

Думаю всем знакомо выражение: “я не настолько богат, что бы покупать дешевые вещи”. Местами это правильный принцип, хотя кто знает на сколько… Я прочитал много материала про шины и пришел к не самым вдохновляющим выводам. Пожалуй дам пример: если вы покупаете компьютер, то даже незная ничего вы всегда можете спросить: “А на что смотреть при выборе компьютера?” и любой компьютерщик вам скажет: ну вот смотри есть скорость процессора, количество памяти, места на харде и так далее… то есть все сводиться к цифрам… На пальцах получается так что чем больше числа тем по сути компьютер лучше… Быстрее процессор, больше памяти, больше места и так далее… Когда приходишь в магазин у каждого компьютера написаны параметры и если ты умеешь считать то можешь сопоставить цену и параметры компа и выбрать то что кажется оптимальным или лучшим.

Как же дела обстоят с шинами? То есть ты приходишь в магазин смотришь на шину, а на ней написано: “тормозной путь от 80 до 0 км/ч, 50 метров на сухой дороге” – угу держи карман шире… нету такого. Сколько я ходил и смотрел на колеса, все что на них написано так это техническая информация которая по сути не особо полезна в плане выбора шины. Конечно надо знать размер, тип и все такое, но обычно это все определяется по модели вашего авто. Единственное что обычно вас спрашивают так это какая резина нужна ( летняя, зимняя или все сезонка ) и сколько бабла вы хотите оставить. И все же я думаю что стоит ознакомится с маркировкой ( http://ru.wikipedia.org/wiki/Автомобильная_шина ), раздел “Маркировка”. Так где же можно найти “цыфры” ( как при выборе компа ) которые могут помочь при рациональном выборе? По сути их нет! Тут кто нить может крикнуть “стоп мащина!”.

Цифры есть, например гос. сайт ( http://www.safercar.gov/Vehicle+Shoppers/Tires/Tires+Rating ) где есть рейтинги резины, но там больше букв чем цифр… что тоже не страшно так как если умеешь считать до 4-х то все будет хорошо. Пожалуй пора привести пример, рассмотрим 3 шины которые подходят на мой митсубиси мираж 95 года ( Mitsubishi Mirage ):

Michelin-X® Radial: A B 740;
Bridgestone-Insignia SE200: A B 440
Nexen SB-800: A B 300

В этой оценочной системе существует всего 4-е знака: AA, A, B, C. Оригинально было 3-и буквы, но потом добавили АА так что буквами этот сет ( set ) не совсем назовешь. Но это не суть важно, что важно так то что АА – это очень хорошо, А – хорошо, B – нормально, C – слабо… в принципе назвать можете как хотите, но суть остается одна. Далее пора отметить что первая буква указывает на сцепление с дорогой, вторая на термостойкость и последний номер это процент пробега/изнашиваемости по сравнению с эталонной шиной. Как это делают: на авто ставиться эталонную резина, на другое авто ставиться проверяемая, а дальше катаются примерно 11,5 тыс. километров. В процессе делают замеры и меняют шины местами (tire rotation). По окончанию измерений сопоставляют соотношение стертости резины, после чего дают процент эталонной и тестируемой шине. То есть, если эталонной шине приписали 100% процентов, а у проверяемой процент получился 200% то она пройдет в 2 раза больше километров ( нужно отметить что эталонная шина не всегда получает 100% – это все зависит от результатов теста ). В этом тесте есть масса загвоздок и основной момент это неправдоподобность – то есть тест не отражает реальной эксплуатации. Этот тест полезен если вы собираетесь сравнивать пробег между двумя шинами одного производителя и практически бесполезен если вы сравниваете шины двух разных производителей. Более подробно о тесте можно прочитать тут ( http://www.tirerack.com/tires/tiretech/techpage.jsp?techid=48 ). А значит эти цифры фактически бесполезны в нашем случае, где шины от разных производителей. И так пора перейти к ценам: Michelin-X Radial идет в costco.ca ( местный магазин ) за 84 доллара, Bridgestone-Insignia SE200 из того же магазина идет за 56 долларов и Nexen SB из walmart.ca ( тоже местный магазин ) идет за 31 доллар. И так вы можете заметить что все 3 шины имеют такое же сцепление ( А ), такую же термо-стойкость ( B ) и только разница в процентном соотношении пробега – который как я уже объяснил особо много чего не показывает. По сути все эти маркировки говорят что шины прошли гос. тестирование и достаточно безопасны, хотя если они в местном магазине продаются то это уже значит что они все ок! Итого номера есть, но к сожаления они много чего не говорят и не помогут при выборе резины, так как из этих данных я до сих под не понимаю чем Michelin лучше и почему я должен платить больше за такие же параметры?
Пойдем дальше искать цифры. Если гос. тесты не показывают разницу между шинами то что же делать дальше? Я искал и спрашивал, но вывод сводился только к двум вариантам. Первое это искать отзывы и рейтинги на сайтах. Вот например “Tire Rack” где можно посмотреть их по разным категориям. Например торможение в дождливую, сухую, снежную погоду и так далее…

На сколько я понял, сайт сам тестирует и продает эти шины… Не знаю, но когда ты тестируешь и продаешь продукт одновременно тут сложно ожидать объективности. Хотя у них есть и отзывы от водителей, но это тоже не цифры, а вот Вася или Боб сказал. Есть сайт consumerreports.org который должен по идее содержать объективную информацию, но к сожалению у меня нету подписки на него и я не могу сказать если там есть что-то полезное. Итого получается что есть выбор между довериться продавцу или купить подписку и довериться объективности. Выбор ваш, но я бы пошел со вторым вариантом! И наконец всегда можно пойти к другу, на форум или потусовать с механиками где они расскажут какая резина лучше всего из своего субъективного опыта.

Думаю надо подвести итог этой длинной главы и сказать что шины это не компьютеры и цифры тут походу ничего не описывается… Я хотел был найти цифры которые объективно описывают разницу между разными шинами, но походу их нету… и в итоге стоит просто довериться кому нить.

Заднее слово:

И так я думаю здесь стоит написать вывод, мол покупайте что дороже или вся резина одинакова, а значит плати меньше и не парься. Да мне бы очень хотелось сказать или одно или другое, но к сожалению я не могу! Я уверен что есть разница между дешевой и дорогой резиной. Мне говорили что разная резина по разному держит дорогу, дает больше комфорта или наоборот, издает меньше звука или наоборот и так далее. Шины – эта целая наука, но для обычного покупателя это остается мистикой так как нету общего стандарта где можно выбрать разные шины и сравнить параметры… Все что я могу так это дать советы: не покупать Б/У резину ( если есть выбор ) лучше купить дешевую новою; перед тем как купить резину четко представить что от неё ожидаешь и какие требования; если не хочешь замарачиваться и жить спокойно купи известный бранд ( потрать чуть больше ), я уверен не прогадаешь; ну а если ты ищешь правду о резине то тебе стоит или делать свои тесты или довериться кому-то на этот счет.

Лично я сделал свой выбор, дешевая резина не так плоха… Но я хотел бы поставить что-то более дорогое и посмотреть разницу. В конце концов все сводиться к личному предпочтению и для спокойной езды по городу даже дешевая резина более чем адекватна.

P.S: Информация, мысли, цены, погода, стандарты, машины, дороги и все такое основаны на моем месте проживания.

Лимитируем скорость передачи данных в Mac OS X

Меня давно интересовало, как можно без особых забот лимитировать передачу данных на Mac OS X? Интересовало давно, а нужда припекла только сегодня… И так немного истории:

Я сам занимаюсь хостингом своего сайта ( meirz.net ) и на это есть много причин… В качестве сервера у меня стоит Mac Mini G4 – 1Ghz ( Mac os X система ) и я в основном хостю только свой сайт, а так же собственный подкаст архив. Интернет у меня DSL 5Mb вниз и 0.8Mb наверх ( это написано на бумаге ), а в реале у меня где-то 2.5 вниз и примерно 0.7 наверх. Теперь ясно что с такой скорость интернета долеко не разбежишься, но все это у меня работает довольно хорошо уже более 2-х лет.

Сегодня с меня кто-то начал активно качать все мои подкасты, а их у меня более 180… файлы разной длинны, но бывают и по 100 мегов… Вообщем интернет у меня начал загибаться до такой степени что почта открывается по 5 минут… Я начал смотреть на серверные логи и разбираться что к чему… Не долго думаю я понял что нужно каким-то образом лимитировать скорость передачу данных по HTTP. Я пролистал много интернет страниц и понял что единственный простой способ это поставить ограничения в фаерволе ( Firewall ). Вот ссылка на форум ( http://www.macosxhints.com/article.php?story=20080119112509736 ), а так же PDF файл ( распечатка форума ) на тот случай если ссылка не работает.

И так что нужно что бы ограничить скорость передачи данных:
1) Включить Firewall в системе
– На обычной Mac OS X это делается через: System Preferences -> Security
– На серверной Mac OS X это делается через: Server Admin
2) Из под командной строки пишем:
sudo ipfw pipe 1 config bw 60KByte/s
sudo ipfw add 1 pipe 1 src-port http

Если нужно убрать все правила то можно искользовать sudo ipfw flush
Если нужно убрать только одно правило то: sudo ipfw delete 1 ( где 1 это номер правила )

То есть мы создаем трубу и конфигурируем её на 60 килобайт в секунду.
Далее добавляем эту трубу на определенный порт ( http = порт 80 )
После чего трафик по исходящему 80 порту будет лимитирован на 60 килобайт в секунду. Конфигурации firewall-а довольно гибкие и позволяют делать разного рода настройки, например можно лимитировать скорость передачи данных которые идут в интернет, но при этом не лимитировать если данные идут в локальную сеть. Например: если вы обращаетесь с локалки к серверу по 80 порту, то скорость будет не лимитирована, но если обращаетесь с интернета, то скорость будет лимитирована… Вообщем конфигурировать можно по разному и это прекрасно. Кому интересно можно поискать ipfw и прочитать более полно.

Если есть вопросы пишите, буду рад помочь.

Софт под Мак

Предисловие:

По просьбе одного знакомого решил написать статью о софте для Мака. Скажу сразу что не буду писать детальное описание к программам, да и всех их перечислить тоже наверное не получиться. Думаю что моя главная задача это дать понять какой софт существует под мак.

Встроено в Леопард.
И так для начала пройдусь по стандартно вложенным в Леопард программам.

standart_apps_mac_os_X5

Адресная книга – контакты и все такое идут сюда.

Автоматор – позволяет делать простые скрипты без программирования для автоматизации простых повседневных процессов.

Калькулятор – идет в 3 разных вкусах: простой, научный и компьютерный.

Шахматы – ну кто не любит играть в шахматы?

Словарь – английский, а так же прикручен поиск по wikipedia.

ДВД проигрыватель – для просмотра двд дисков.

Шрифты – точно не знаю, так как не когда не пользовался.

Передний ряд – программа для просмотри/прослушивания ваших фильмов, музыки, фотоки и всего такого. Предназначена для работы с пульта и интегрирована с iPhoto, iTunes…

Календарь – для вашей деловой и домашней жизни… Заметки, дела, встречи ну и все в этом роде.

iChat – программа для чата ( поддерживает Видео, Аудио, а так же remote desktop ). Работает с .mac или любым другим Jabber сервером. Не поддерживает ICQ, MSN, Skype… Только Jabber.

Image Capture – программа для того что бы сливать и работать с фотопаратами и камерами… Точно не знаю, так как не когда не пользовался.

Синхронизатор – синхронизирует ваши данные ( из адресной книги и календаря ) с устройствами. Поддерживает определенные устройства. Вот список поддерживаемых устройств ( http://support.apple.com/kb/HT2824 )

iTunes – думаю iTunes и так всем знаком. Могу добавить что пользуюсь уже не первый год и мне нравиться… Удобная организация музыки и функциональность тоже радует.

Почтовик – почтовая программка, в снежном леопарде поддерживает общение с exchange серверами. Я пользуюсь web-mail ( типо gmail ) поэтому не когда особо не пользовался. Так же в почтовик встроены разные другие приятности, но по этому поводу не чего особо не могу сказать.

Фотобудка – делать фотки через выб-камеру. Забавно поиграться, а так же сделать фотку для аватара.

Preview – простая программа для просмотра и минимальной обработки картинок ( вырезать, повернуть, сжать … ). Скажем если надо повернуть и изменить размеры фотки что бы на сайт влезла, то вполне хватает… так что фотошоп ставить не надо… гы-гы

QuickTime – проигрыватель видео и аудио файлов. Я им почти не пользуюсь так как по умолчанию он не поддерживает многие кодеки, а ставить их в облом. Так же QuickTime может редактировать. В снежном леопарде QuickTime получил больше функций, например стало проще редактировать видео/аудио, а так же можно записывать видео экрана – типо делать screenCast-ы.

Сафари – простой и на мой взгляд отличный браузер.

Текстовый редактор – простой, но достаточно приличный текстовый редактор. Я пользуюсь в основном им ( например сейчас пишу статью ). Но для написания более серьезных работ ( типо в универ или на работе ) все же приходится пользоваться MS Word.

А так же разные утилиты – есть ещё масса утилит которые в основном используются теми кому они нужны. Например Console – в которой можно смотреть все логи в системе. Disk Utility – для работы с дисками ( формат, проверка и все такое ). Airport – для настройки аппловских роутеров… Activity monitor – для мониторинга системы, процессора, памяти, сети и так далее, я этим пользуюсь довольно часто в особенно если компьютер начинает медленно работать из-за того что я пишу и тестирую свои кривые программы. Вообщем на этом утилиты не заканчиваются, но в основном обычные пользователи ими не пользуются.

Я не затронул некоторые вещи, такие как Dashboard, Spaces… но они не совсем программы, а просто системные фичи… Полное описание стандартных программ на английском можно найти тут.

И так теперь пора перейти к описанию софта который не вложен в Леопард. Перечислить все что вообще есть под Мак не получиться, так как если уйма софта… Конечно не так можно как под винду, но все равно много. Думаю далее стоит разбить софт на разные категории, так будет проще.

Офис:
Screen-shot-2009-09-30-at-4.53.42-PM

Microsoft Office – думаю не стоит объяснять что такое Word, Excel, PowerPoint и так далее.

iWorks – Аппловская версия офиса. Удобно и пожалуй местами лучше MS Office-а, но из-за силы привычки, я лично пользуюсь MS офисом.

OpenOffice – Отличный и бесплатный офисный пакет программ, хорошо известен Линуксойдам… Я лично пробовал и вроде ничего работает прилично, но опять же в силу привычки пользуюсь MS офисом. Надо отметить что если как нить соберусь пользоваться каким нить другим офисным пакетом, то перейду на OpenOffice.

Видео:

iMovie – Простой и вполне функциональный видео редактор от Аппла. Я им периодически пользовался и мне его достаточно – правда я салага в видео обработке.

Final Cut – Профессиональный видео редактор. Не могу ничего про него сказать, так как не когда им не пользовался, но многие профессионалы работают именно на нем.

SimpleMovieX – Очень простая программка для нарезки видео, как-то скачал ее что бы быстро нарезать фильм без какой либо нужды перекодирования, сжатия и тому подобного.

VisualHub – Отличная, простая и удобная программа для перекодирования, сжатия и склеивания видео. Если не ошибаюсь то программка больше не выпускается, но я ей все ещё пользуюсь.

HandBrake – Ещё одна программа для пере-кодирования, сжатия и тому подобного. Раньше я ей пользовался для того что бы копировать видео с ДВД.

Screenfick & iShowU – Программы для записи видео с экрана, я пользовался всего пару раз, но с приходом снежного леопарда нужда в этом совсем отпала так как QuickTime это может делать.

VLC – Программа для просмотра, а так же фиг знает для чего ещё… Много там фич, но самая важная для меня это то что VLC проигрывает любые видео файлы. Я лично пользуюсь только ей.

Аудио:

GarageBand – Аппловская программа для записи и обработки… Я на ней пишу подкасты. Меня вполне устраивает, но опять же я не занимаюсь аудио редактированием или сочинением музыки.

Finale & Logic Studio & MOTY Digital Performer – Все это профессиональные программы для музыки, что они делают я точно не знаю, так как я не этим не занимаю, но софт для музыкантов есть.

Картинки и фотки:

iPhoto – Аппловская прога для организации, сортированная фотографий.

Photoshop & InDesign – Думаю не стоит описывать что это такое. Если не ошибаюсь то Adobe выпустила целый пакет графических программ под мак.

Corel Draw – Раньше была версия под мак, но сейчас не знаю.

GIMP – Бесплатный линуксовый редактор. Есть редакция под мак. Лично я не когда им не пользовался, так как хватало Photoshop-а.

Сеть:

Nessus – Сканер для поиска уязвимости в сетях. Думаю что тот кто хоть раз этим занимался знает что такое Nessus и мне не стоит описывать важность этой программы.

NMap – Ещё одна знаменитая программка для сканирования сетей и портов. Тут думаю скажу только одно “Тринити пользуется nMap-ом”.

Aircrack – Сканер и взломщик беспроводных сетей. Под мак работает только часть для взлома, а для собирания пакетов и всего такого я использую KisMAC. Aircrack предоставляет хорошие алгоритмы для анализа и взлома, а KisMAC используется исключительно для собирания пакетов.

Wireshark – Ещё одна знаменитая программа для анализа сетевого трафика.

TOR – Программа для анонимности в сети. Весьма знаменита и если вы когда либо интересовались вопросом анонимности то наверняка слышали о ТОР-е. Вот моя статья о нем ( http://meirz.net/?p=1319 ).

Браузеры:

Opera & FireFox, а так же Chrome – думаю мне не стоит писать о том что они делают. Стоит только отметить что Chrome выходит под Мак в ближайшем будущем. Так же есть груда разных менее знаменитых браузеров, но я ими не когда не пользовался.

Математика:

Maple & MATLAB – обе программы используются для математических вычислений, а так же построения графиков и тому подобного. Я лично чуть пользовался MATLAB для решения линейных уравнений.

Удаленная работа:

MS Remote Desktop – для удаленной работы с Виндами, я лично пользуюсь довольно давно, так как у меня есть виндовая машина без дисплея.

VNC – для этого существует как минимум пара тройка разных программ. Например ChickenVNC, JollysFastVNC, а так же в Леопард встроен VNC клиет ( да и серверная часть тоже ). На данный момент я пользуюсь JollysFastVNC – простая, функциональная и быстрая.

AppleRemoteDesktop – Программа для удаленной работы от Аппла, лично я не когда не пользовался, но есть.

GoToMyPC для мака – На данный момент в Beta тестировании. Не когда не пользовался, так как это платный сервис для и в принципе мне не нужен.

Общение:

MSN, ICQ, Jabber, Yahoo и другие – Имеются разные клиенты. Например есть Fire, Adium и так же ещё пара, но я ими уже давно не пользовался. Так же есть отдельные клиенты клиенты исключительно для MSN или ICQ. Я лично пользуюсь только Jabber-ом и мне хватает iChat-а.

Skype – существует Маковский клиент и уже не первый год. Я им пользуюсь довольно часто.

Программирование и все такое:

xCode – IDE от Аппла, поддерживает разные языки C, C++, Java, Objective C, Ruby и ещё кучу всего.

Eclipse – бесплатный IDE с тонной разных плагинов для разработки фактически чего угодно. Я пользую им фактически всегда.

MySQL – клиенты, есть mySQL, sequel pro… Думаю есть и ещё, но я пользуюсь этими двумя и мне хватает. Так же всегда можно просто воспользоваться командной строкой ( mysql ).

Dreamweaver – для разработки сайтов.

Artisteer – пока что в alpha тестировании. Программа для очень простой разработки шаблонов под разные системы типо WordPress, а так же других CMS и блогов.

Entropy – собранная версия PHP с разными модулями ( что бы ручками не надо было самому собирать ).

Игры:

Так же под Мак есть игры, но я лично почти не во что не играю, так что много чего сказать не могу. Вот не большой список что у меня есть ( я лично не играл, просто для друзей ).

Age of Empires 2 & 3
Age of Mythology
Battle Stations Midway
Call of Duty 2
Civilization 4
Couter-Strike Condition Zero
Diablo 2
Fallout 2
GTA San Andreas
Halo
Lego Star Wars
Spore

Так же иногда я играю в классические Дос игры и для этого есть DosBox эмулятор. Лично я пользуюсь Boxer – это просто графическая оболочка для DosBox.

Виртуальные Среды:

Parallels, Virtual Box, VMware – все это виртуальные среды под мак. Ставим, а потом по верх можно Линукс или Видну. Из любопытства я ставил Virtual Box и работает довольно прилично. В игры конечно не поиграть, но для этого всегда можно поставить BootCamp.

Другое:

Так есть куча разных программ под мак, например MacDjView для чтения DjView формата или Chmox для чтения виндовых help файлов. Так же есть программы для sftp типо Fetch или CyberDuck. Вообще если покопаться то можно найти много чего. Мне лично хватает всего того что я описал выше.

Итого:

Под мак есть огромное количество программ, конечно не сравниться с виндой, но для работы можно найти все что надо. Если у кого есть конкретные вопросы, то пишите в комменты и я постараюсь ответить. Чирз!

З.Ы.
Пожалуйста если вы найдете какие либо ошибки, сообщите мне, я их исправлю.

Как работает TOR?

Preface:

Недавно я написал бумагу ( для курса ) о том как работает TOR система… и теперь я решил написать её заново только на русском языке и попытаться объяснить зачем, как и что работает. Зачем именно я пишу эту статью я не знаю, но думаю что кому-то она будет полезна или интересна, а возможно что в процессе написания я выучу что нить ещё.

Что такое TOR:

TOR – The Onion Router в переводе Луковый Роутер. Почему это называется луковый роутер станет ясно позже, а пока рассмотрим проблему анонимности в сети. Интернет как глобальная сеть не была задумана предоставлять анонимность. Другими словами в дизайне интернета вложено что каждый компьютер в сети имеет свой индивидуальный адрес и обмен данными идёт между этими адресами, то есть адреса компьютеров известны и соответственно можно определить кому именно принадлежит данный IP адрес (Internet Address / Интренет адрес ). Например у меня дома есть интернет от компании X и мой интернет адрес – 206.248.190.72. Если я хакаю apple.com то ребята в apple.com могут посмотреть кто обращается к apple.com и видят что это 206.248.190.72. Далее они сообщают ( например ) полиции и уже полиция обращается к моему провайдеру X и спрашивает: “Кому принадлежит интернет адрес 206.248.190.72?”, в ответ мой провайдер говорит мол это MeIr и вот его телефон, адрес, кредитная карта и так далее… Немного позже ко мне в дверь стучат маски шоу. Мораль: не хакайте… или сделайте так что бы вас не засекли…

Continue reading “Как работает TOR?”

Стоит ли купить Мак?

Многие люди у меня спрашивают “Стоит ли купить Мак или PC?” и я решил написать о Маке – что это за зверь и стоил ли купить Мак?

screenshot_06-01-2009_tuesday

Почему я выбрал Мак.

Я столкнулся с маком лет 6 назад, тогда в месте где я проводил большинство своего времени стоял eMac и я периодически на нём работал. В то время у меня был лаптоп с Виндой XP и она меня напрягала… Я работал на разных виндах начиная с Windows 3.1 потом 95, 98, 2000 и под конец XP. В винде мне не нравилось несколько вещей, но больше чего не прикалывало то что каждый год или даже полгода надо было Винду переставлять так как что нить капитально падало… Надоедало так же что после установки надо было настраивать винду что бы она работала быстрее, а не красивее… Так же не прикалывало что можно легко подцепить какой нить вирус. За долгие годы жизни на винде она мне реально надоела. Я даже думал перейти на Линукс, но в то время Линукс казался мне не отполированным и не особо дружелюбным. Я искал альтернативу и одно время даже работал на BeOS, но она приказала “долго жить” так как система не разрабатывалась и походу поддерживать её не собирались. И вот в один день бум – eMac и Mac os X. Мак соединял в себе лучше то что есть в Линуксе и Винде ( ну мой взгляд ). Мак ось 10 ( или X ) базируется на BSD юникс системе и имеет приятный и дружелюбный Aqua интерфейс. На тот момент меня больше всего поражало несколько вещей, таких как отсутствие вирусов, простота и стабильность системы. Тогда я решил что следующий компьютер будет Маком и спустя год я купил свой первый Мак.

Зачем?

Для разгона стоит подумать, а зачем я покупаю компьютер? Для чего я буду его использовать? Что на нём буду делать? В зависимости от набора задач и стоит решать что купить. Если вы хотите заниматься программированием под .Net то явно Мак не для вас. Что касаемо остального то Мак покрывает почти все нужды. Под Мак есть дизайнерские программы такие как: Photoshop, InDesign и остальная линейка продукции Adobe, так же есть студии для программирования такие как: xCode, Eclipse и другие. Есть программы для обработки Видео, Аудио и сочинения музыки. Так же под Мак существуют офисные приложения, такие как OpenOffice, iWorks ( от самой Apple ) и конечно бесподобный Microsoft Office. На мой взглад есть всё что надо для того что бы работать. С переходом Mac-а на интел процессоры, Винду можно поставить на Мак как отдельную операционку или можно гонять в параллели ( в отдельном окне ) использую разные виртуальные машины ( типо Parallels ). Я лично прожил 6 лет на Мак и нужды в винде пока невижу. Но стоит отметить одно БОЛЬШЕ “но”, если вы собираетесь использовать Мак для игр, то это не светит. Во-первых под Мак не так много игр на дынный момент, в будущем будет больше, но пока что не много! Во-вторых в Маке нельзя менять видео карты или делать SLI и тому подобное… Другими словами если вы расцениваете Мак как игровую платформу то забудьте об этом. В общем под Мак есть достаточно софта.

“Бесплатности”

Иногда слышу бред в интернете когда кто-то говорит что софт под Мак недостать и надо его покупать. Что бы не повторяться – это бред… ну вот повторился… Под Мак ось можно найти всё программы и скачать “бесплатно”. На “пиратской бухте” или “демонойде” этого добра хватает, хотя я не призываю к тому что бы “коммуниздить”, но факт есть факт. Так же есть замечательная программы “Serial Box” в которой вы найдете серийники для софта. Другими словами так же как и на Винде, скачал, установил и подобрал серийник. И всё же люди покупайте софт, а то писать не будут…

Лимитированное железо.

К сожалению в Маке много чего не поменяешь в плане железа. Можно поменять память, жесткий диск всё остальное как говориться “off limits”. В Mac Pro башне можно поменять видео карты и ещё пару других вещей, но выбор видео кард скуден по сравнению с количеством поддерживаемых видюх в Винде. Но если смотреть на линейку лаптопов, то всё не так плохо, так как в лаптопах по любому не чего ( кроме памяти и харда ) нельзя менять.

Адаптация.

На сколько легко адаптироваться к Маку? В моём личном мнении легко, но есть некоторая разница между виндой и маком. У Мака нету стартовой панели, но есть док и верхняя панель. Так же в Маке чуть по другому закрываются программы… Например в винде если закрываешь окно, то программа закрывается, но в маке можно закрыть окно, а программа будет продолжать работать, то есть что бы закрыть программу нужно именно нажать выход. Но к этому быстро привыкаешь. Так же в маке программы обычно располагаются в одной корневой директории “Applications” и нету как в винде “Пуск, программы”. В маке довольно хорошо сделано “drug&drop”, где файл можно перетаскивать как угодно и бросать в любые программы. Вообщем есть много примочек которых в винде просто нету и к этому рано или поздно привыкаешь, после чего думаешь “как я без этого раньше жил?”. В общем к Маковсому интерфейс быстро адаптируешься.

Надёжный ли Мак?

В плане надёжности стоит сказать только одно: надёжен на столько на сколько позволяют производители компьютерных компонентов. Маки собираются из железа которое производится как для Аппле так и для других компьютеров. Процессоры идут от Intel которые так же ставятся и в PC, видео карты от NVidia, харды от Хатачи и так далее… Аппле не производит основные компоненты, они их заказывают от тех же компаний которые производят железо для PC. Из личного опыта могу рассказать что мой первый iBook который я купил более 3 лет назад до сих пор работает и не ломался, а вот у моего знакомого полетел хард спустя год после покупки, хотя iBook у него был такой же как и у меня.

А можно собрать Хакинтош?

Хакинтош – это Mac os X которая установлена на PC. Это звучит заманчиво по одной причине: не надо платить много денег и при этом получить типо Мак. Ответ тут просто, если вы знаете как собирать и возиться с компьютерами то можете попробовать, в остальных случаях лучше этого не делать. Мак ось должна быть взломана перед установкой на PC и есть много взломанных релизов, но некоторые вещи в системе не работают… Например нельзя делать апдейты, так как это сразу навернёт систему… Так же некоторые программы могут неработать… И стоит ещё отместить что PC надо собирать из тех компонентов которые поддерживаются Mac os X, а иначе или они не будут работать или надо искать специальные драва. Хакинтошы вообще отдельная тема, но последняя мысль заключается в том что если вы хотите просто работать, то стоит просто купить Мак.

В конце.

На данным момент Мак становиться не такой экзотикой как раньше, софта становиться больше, больше людей работает на Маках да и переход на интелы заставил много компаний подумать о адаптации продуктов под Мак. Интерфейс у Мака простой и много чего изучать не придётся. Лично я не разу не пожалел что перешёл на мак, но опять же это я. Если есть вопросы то пишите в комментарии.

Удаленное соединение через iChat

Создать удаленное к Мак ОС Х можно разными путями: VNC, SSH, ARD (Apple Remote Desktop), VPN и так далее… путей много и выбор за вами, но я хочу рассказать о ещё одном альтернативном пути. Для начала вам надо иметь OS 10.5 ( а.к.а Леопард ) так как нам нужен iChat 4, а так же пара Jabber аккаунтов… например GTalk или любой другой.

И так как это работает теоретически. iChat имеет опция для шаринга десктопа… На удалённой машине включается iChat, далее вы со своего iChat-а спрашиваете удаленную машина что бы начать шаринг десктопа… Удаленная машина соглашается и вы получаете соединение с удалённой машиной, где вы имеете все права под которым бежит iChat. Теперь остается вопрос, а как удалённая машина согласиться на соединение если на том конце не кого нету ( например как на моём сервере )? Тут придёт на помощь Apple Script, что бы автоматизировать соглашение…

Переходим к более практической части… И так на удалённой машине вы уже настроили iChat с соответственным Jabber аккаунтом в моём случае это будет турим@меирз.нет ( анти-спам… гы-гы ). Далее добавляем контакт то есть меня меир@меирз.нет ( я использую свой собственный Jabber сервер, но это безразлично каким Jabber сервером вы пользуетесь… )… Добавили контак, а теперь нам надо что бы удалённая машина автоматически принимала приглашение на удалённое соединение. Для этого идём ( на удалённой машине ) в Finder -> /Library/Script/iChat/ и копируем файл “Auto Accept.applescript” в туже папку.

Далее переименовываем файл в что-то более подобающее… например “Auto Accept Remote.applescript”. Теперь открываем файл любым редактором, например обычным TextEdit-ом. Далее нам надо отредактировать 2 строки, а точнее удалить их… Ищем эту часть кода:

on received audio invitation theText from theBuddy for theChat
if (screen sharing of theChat is none) then
accept theChat
end if
end received audio invitation

И превращаем в это:

on received audio invitation theText from theBuddy for theChat
accept theChat
end received audio invitation

Готово, сохраняем файл и возвращаемся в iChat. Выбираем из контакт листа того для кого мы хотим разрешить авто-подсоединение в моём случае это я MeIr. Правый клик на контакт и жмём на “Show Profile”, далее жмём на вкладку “Alerts”. В “Event:” выбираем “Audio Invitation” и ставим галку в “Run AppleScript” и из листа выбираем “Auto Accept Remote.applescript”.

Всё готово… теперь когда я буду делать запрос на удалённое соединение к Turim то запрос будет автоматически принят на удалённой машине. Пожалуй всё… если у кого будут вопросы то пишите в комменты.

Такой вариант для удалённого соединения имеет свои плюсы и минусы:
+ Вам не надо настраивать NAT таблицу в роутере… ( что не сложно, но некоторые не имеют доступа к роутеру ).
+ Вам не надо знать внешний IP

– У вас должна быть Mac OS 10.5 а.к.а Леопард
-/+ Вы должны пользоваться iChat. Многие предпочитают альтернативы типо Adium, а зря! iChat предлагает на много больше…

P.S: Небольшой демо видео о выше описанном материале.