Category Archives: Lifestream

8 Products Demonstrating the Future of Tech

8 Products Demonstrating the Future of Tech

A few weeks ago, New York Magazine’s Kyle Chayka asked me to share eight products that demonstrate the future of technology.

Yesterday he summarized my email reply in Product Hunt Predicts the Tech Hits of 2016 so I thought I would share my full response here.

Meerkat

Meerkat launched just over a month ago, immediately capturing the attention of the tech industry and several mainstream celebrities like Jimmy Fallon, Tony Hawk, Jim Gaffigan, and others. Livestreaming has existed for over a decade with predecessors like Justin.tv, YouNow, and Twitch (which was recently acquired by Amazon for nearly $1B) and more recently, Twitter entered the space with Periscope.

Today, everyone has a livestreaming device in their pocket. Mobile bandwidth speeds are faster, camera quality has improved, and established social graphs like Twitter enable broadcasters to quickly find an audience on nascent platforms. But it’s also important to recognize a shift in behavior. I believe “regular” people are more willing to broadcast than before as they’ve become accustomed to sharing everyday moments on Snapchat, Twitter, Instagram, and elsewhere. Josh Constine wrote a good piece on this shortly after Meerkat’s launch.

Be My Eyes

Be My Eyes quickly became one of the most upvoted products on Product Hunt when it launched. The app connects the blind to someone with sight via their mobile phone to help them see in real-time. This is a fascinating example of how technology can be used to connect people and build empathy among strangers.

Magic

Magic’s pitch: “Text 83489 to get whatever you want on demand with no hassle.” A bold claim that has yet to be proven as a scaleable business model, Magic is one example of many on-demand virtual assistant services that use a combination of humans and machines to perform micro-tasks. These platforms have an opportunity to become a middle man between 3rd party services and API’s like Uber, Postmates, Instacart, and other on-demand services, satisfying one’s desires through a text message.

Snapcash

Snapchat’s launch of Snapcash came as a surprise to most people. Now its millions of photo and video-sharing snappers can quickly send people money via text. This becomes particularly interesting as it relates to the future of media and monetization for content creators. Many have tried creating a platform enable writers, video broadcasters, and other independent creators to generate revenue online through microtransactions but this model rarely works outside some niches like gaming. Snapchat’s context and movement toward media with the launch of Discover, is well-positioned to make this work for a large, mainstream audience. Notable competitors, Facebook Pay and $Cashtags by Square recently entered the market.

Clara

On-demand services like Uber, Sprig, and Instacart save us time and make life more convenient. Similarly, there’s an increasing number of services designed to simplify workflows and eliminate busywork. Clara schedules your meetings, taking on the time-consuming and frustrating process of coordinating with someone’s calendar over email. For many, it replaces much of the work of an Executive Assistant, increasing productivity and reducing possible headcount. Services that provide direct, measurable monetary ROI have a high likelihood of gaining traction and the increasing connectedness of the Internet (often through API’s) opens new opportunities for scaleable, machine-driven solutions.

Business for Messenger

Facebook recently announced Business for Messenger, giving its 600M+ monthly active users the ability to text messages businesses. Path Talk, RealTalk, Operator, and others are also in this space but there has been relatively little innovation in consumer-to-business communications. We still turn to old-fashion and inefficient phone calls that lack the convenience of asynchronous texting, personalization, historical knowledge, or flexibility of modern day messaging.

Digit

Digit is an example of an invisible app (view more in this collection) that automatically transfers money between your savings and checking account to save you money. Frugal Digit consumers simply use SMS to check the status and transfer money on-demand. Once setup, Digit doesn’t compete for attention like the overwhelming sea of apps we discover and use every day. There is no app to install or task to do. It just works.

Teleport

Teleport, an app for digital nomads and those evaluating where to live, just launched. Increasingly, companies are more accepting of remote teams and thanks to tools like Slack, GitHub, and others, it’s now much easier to work anywhere in the world. This is a trend that I believe will continue as “software eats the world” and people become more accustomed to this way of working. Teleport is one of many recent products built for this lifestyle and I expect to see many more build for this mark.

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

حدیث هایی در مورد قضا و قدر

 

 

رضا به قضا

1- حضرت امام صادق (علیه السّلام) فرموده اند: انسان حریص از دو خصلت محروم و ملازم دو خصلت است: چون قانع نیست از آسایش و راحت محروم است و چون به قضاء الهی راضی نیست فاقد یقین است.

منبع: سفینه،(( حرص)) ص 244

2- حضرت امام صادق (علیه السّلام) فرموده اند: به راستی داناترین مردم به خدا راضی تر آنان است به قضا خدا عزوجل.

منبع : اصول کافی جلد 4، ص 191

3- حضرت امام صادق (علیه السّلام) فرموده اند: در آنچه خدا عزو جل به موسی بن عمران وحی کرد این بود که: ای موسی بن عمران، من هیچ آفریده را نیافریدم که نزد من محبوبتر باشد از بنده ی مومنم، به راستی من او را گرفتار می کنم برای آنچه که خیر او است و عافیت می دهم برای آنچه که خیر او است و آنچه برای او بد است از او دریغ می دارم باز هم برای آنچه که خیر او است، من داناترم بدانچه بنده ی من بدان اصلاح می شود، باید بر بلای من صبر کند و به نعمت های من شکر کند و باید راضی به قضای من باشد تا او را نزد خود در شمار صدیقان نویسم وقتی به رضای من کار کند و امر مرا اطاعت کند.

منبع : اصول کافی جلد 4، ص 195

4- حضرت امام صادق (علیه السّلام) فرموده اند: من در شگفتم از مرد مسلمان، خدا عزوجل چیزی برای او مقدر نکند جز این که خیر او است و اگر با مقراض او را ببرند و تیکه تیکه کنند خیر او است و اگر مشارق و مغارب را هم مالک شود، خیر او است.

منبع : اصول کافی جلد 4، ص 197

5- حضرت امام باقر (علیه السّلام) فرمودند: سزاوارترین خلق خدا که تسلیم شود بدانچه خدا مقدر کرده است، کسی است که خدا عزوجل را شناخته، هر که راضی به قضا است قضا بر سر او بیاید و خدا اجر بزرگ به او بدهد و هر که بدخواه قضا است قضا بر او بگذرد و خدا اجر او را ساقط کند.

منبع : اصول کافی جلد 4، ص 197

6- حضرت حسن بن علی (علیه السّلام) به عبد الله بن جعفر برخورد و به او فرمودند: ای عبدالله، چگونه مومن، مومن باشد با این که از قسمت مقدر خشمگین است و خود را زبون یابد با این که خدا بر او چنین حکمی کرده است، من ضامنم که هر که در پندار دلش جز رضا نباشد به درگاه خدا هر دعا کند مستجاب شود.

منبع : اصول کافی جلد 4، ص 197

7- ابن سنان از کسی که نامش را برد از حضرت امام صادق (علیه السّلام) گوید: به آن حضرت گفتم : چگونه مومن بداند که مومن است ؟ فرمودند: با تسلیم در برابر خدا و رضا بدانچه بر او وارد آید از مایه ی شادی یا خشم.

منبع : اصول کافی جلد 4، ص 199

جبر و اختیار

8- حضرت امام صادق (علیه السّلام) فرموده اند: مردم در کارهای خود نه مجبور و بی اختیارند و نه تمام اختیار و اراده به آنان تفویض شده است، بلکه کارهایی را که انجام می دهند در یک حد وسطی بین جبر و اختیار قرار دارد.

منبع: کافی1،ص160و159

9- از حضرت امام جعفر بن محمد (علیه السّلام) سوال شد آیا مردم در اعمال خود مجبورند یا مختار. فرمودند: نه جبر است نه اختیار، بلکه منزلی است بین این دو و حق در همان منزل است. درک این مرحله ی وسط تنها درخور عالِم است یا کسی که عالِم آن را به وی آموخته باشد.

منبع: کافی1،ص160و159

10- حضرت امام رضا(علیه السّلام) در ضمن حدیثی به این مطلب تصریح فرموده اند. راوی سوال می کند: معنی امر بین امرین چیست؟ فرمودند: وجود آزادی در انسان که می تواند به راه اطاعت اوامر حق و اجتناب از گناه برود. عرض کرد آیا خداوند در اعمال مردم اراده و مشیتی دارد؟ فرمودند: اراده و مشیت خداوند در طاعات و خوبیها، امر به طاعات و راضی بودن به وقوع طاعات و کمک در به جا آوردن طاعات است. اراده و مشیت خداوند در گناهان و بدیها، نهی از گناه و غضب در ارتکاب گناه و کمک نکردن در به جا آوردن گناه است. عرض کرد آیا خداوند در افعال مردم قضا و مقدری دارد؟ فرمودند: بلی، هیچ خوب و بدی را مردم به جا نمی آورند مگر اینکه برای خداوند نسبت به آنان قضایی است. پرسید این قضا  چیست؟ فرمودند: حکم خداوند به آنچه مردم در کارهای خود استحقاق پاداش یا عذاب در دنیا و آخرت دارند. حضرت امام رضا(علیه السّلام) تمام اعمال خوب و بد مردم را در کمال صراحت مستند به قضاء الهی می کند. قضای خدا در اعمال بشر آزادی بشر است، همان آزادی و اختیاری که در اطاعت، او را مستحق پاداش و در گناه، مستحق مجازات می کند.

منبع: بحار،ج3،ص5

11- ابن ابی نصر می گوید: به حضرت امام رضا(علیه السّلام) عرض کردم بعضی از اصحاب ما قائل به جبر و بعضی قائل به اختیار هستند و درخواست داشت که حضرت رضا حق مطلب را بیان کند. دستور داد بنویس به نام خداوند بخشنده ی مهربان، امام سجاد (علیه السّلام) از حضرت باریتعالی نقل کرده که فرموده است: ای فرزند آدم تو با مشیت و خواست من دارای اراده و مشیت هستی، تو با نیرویی که از من داری واجبات مرا به جا می آوری، تو با نعمت من قوت و توان معصیت مرا پیدا کرده ای.

منبع: کافی1،ص159

12- حضرت امام علی (علیه السّلام) از دیوار مایلی که خطر خراب شدن داشت به طرف دیگر رفت. شخصی عرض کرد یا امیرالمومنین، از قضاء خداوند فرار می کنی؟ فرمودند: از قضاء خدا به قدر خدا می گریزم.

توضیح بیشتر در مورد حدیث:علی (علیه السّلام) فرار از دیوار خراب را قدر خدا می داند، زیرا خداوند مقدر فرموده بشر آزاد باشد، می تواند با اختیار خود بایستد و دیوار بر سرش خراب شود و می تواند با اختیار خود از محیط خطر خارج شود. در هر حال هر دو صورت قضا و قدر الهی است.

منبع: بحار،ج3،ص33

13- حضرت امام علی (علیه السّلام) فرموده اند: اگر خدا می خواست می توانست جهان را در مدتی کمتر از یک چشم بر هم زدن بیافریند. ولی نخواست و عالم را تدریجا آفرید و این ساختمان تدریجی را از طرفی برای مردان خدا و امناء وحی خود مثالی قرار داد که در ساختن افکار ایمانی و اخلاقی جامعه راه مدارا و ملائمت در پیش گیرند تا پیروزی بدست آورند، و از طرف دیگر آن را حجتی قاطع و الزام آور برای مردمی قرار داد که می گویند چرا خداوند در یک لحظه و به طور دفعی همه ی مردم را مومن و با اخلاق نمی سازد؟ زیرا قضا قطعی باری تعالی اینستکه موجودات تدریجا به کمال لایق خود برسند، همانطور که خداوند کاخ هستی را تدریجا و در مدت شش روز آفرید.

منبع: بحار14،ص2

 

www.ez12.persianblog.ir

با تشکر از انتخاب شما

Nette Framework: First Impressions

SitePoint’s PHP channel conducted its annual survey on the most popular framework of 2015 and the results were discussed here.

We saw some familiar names: Laravel, Symfony2, Phalcon, Silex, Slim, etc. But wait, what is this: Nette?

According to the survey result, it ranked number 3 in both “at Work” and “in Personal Projects”, just tailing the two giants: Laravel and Symfony2.

I had never heard of this framework before the survey results got published. A framework so popular is worth looking into. Thus, in this article, we will take a look at Nette, see what it can do and discuss some of the features.

Nette Logo

NOTE: We will base our review on the official Getting Started tutorial.

Installation and bootstrapping

Nette uses a self-bootstrap approach (similar to Laravel) with the support of composer:

composer create-project nette/sandbox demo

This will create a demo directory in the current one, and a sandbox project will be loaded into said folder.

Nette’s Getting Started tutorial guides us through building a simple blog app which features basic blog functions like: list all posts, view an individual post, create/edit a post, comments, security etc.

Let me show you what the app will look like when you finish the tutorial (I have not added any CSS to it so the overall appearance is quite rudimentary):

Demo screenshot

NOTE: This is served in a Vagrant box.

In the next few sections, we will look at some of the fundamental concepts in Nette. As I am a long-time user of Symfony2 (SF2), I will use that for comparison most of the time. Please note that the comparison notes are purely my personal view.

Project structure

Nette is considered to be an MVC framework, though its “Model” layer is almost missing. Its project structure also reflects this but is organized in a very different way:

Above project structure is taken from Nette’s tutorial

Like in SF2, a dedicated www (web in SF2) directory is there to hold the entry PHP file: index.php and also .htaccess rules to provide rewrite instructions for Apache. It will also contain static resources (CSS, JS, fonts, images, etc).

vendor will hold all the vendor libraries, as usual.

Many other folders will go under app:

  • config: As its name suggests, all the configuration resides here. Nette uses config.neon and config.local.neon to provide configuration information related to database, security, services, app-wide parameters, etc. Nette will load config.neon first and then config.local.neon. The latter will override the same parameters defined in the former, as is common in other frameworks as well. You can find out about the Neon file format here.

  • presenters and presenters/templates: these two folders cover the controller and the template (view) portion. Nette uses Latte as its template engine. More on Latte later, and no Cappuccino – sorry.

  • router: it holds the route factory class to customize pretty URIs and thus creates a bridge between a URI and a controller/action. More on this later.

Start from database

Nette comes with a handy tool called “Adminer” to mimic a PHPMyAdmin kind of functionality. The interface is clean and easy to use:

Adminer Screenshot

As an “embedded” tool, Adminer’s capability is limited so you may want to switch to your preferred database administration tool if this one doesn’t cut it. Also, it should be noted that we access Adminer from the adminer sub-directory in www. This may not be a good approach, especially in a production environment. This folder should be ignored in deployment phases – either via .gitignore, .gitattributes or otherwise and Nette should point this out in their docs.

Router

We are developing a simple blog app. We would want a URI showing a specific post (identified by its postId) to look like this: post/show/4 but not like this: post/show?postId=4.

Nette recommends using a router factory to manage the link between a URI (or a URI pattern) and its corresponding controllers/actions. The router factory is defined in app/router/RouterFactory.php:

class RouterFactory
{

	/**
	 * @return NetteApplicationIRouter
	 */
	public static function createRouter()
	{
		$router = new RouteList();
        $router[] = new Route('post/show/<postId>', 'Post:Show');
		$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
		return $router;
	}
}

The definition of a route is straightforward:

  • A URI “pattern” with parameter(s): post/show/<postId>.
  • and a string in the form of “Controller:Action”: Post:Show.

The detailed Nette routing documentation can be found here.

To use this router factory, we must register a service in app/config/config.neon:

services:
	router: AppRouterFactory::createRouter

To generate a link in our template based on a route, we can use the syntax below:

<a href="{link Post:Show $post->id}">{$post->title}</a>

I must admit this Latte syntax is a bit shorter than the corresponding Twig syntax. It uses {} for both echo statement and control statement. For example:

//To display a variable
{$var1}

//To run a foreach loop
{foreach $items as $item}
    ...
{/foreach}

Latte also has a powerful macro system to facilitate some common tasks. For example, the below code snippet will only display a list when $items is not null:

<ul n:if="$items">
...
</ul>

This can be handy when the user wants to display a certain section based on a returned result set.

Controllers and Actions

A presenter in Nette is the controller. All presenters are in the app/presenters folder and the file name should end with Presenter.php. As an example, we have PostPresenter for post related actions, SignPresenter for sign in / sign out related actions.

In a presenter file, we define a class to hold all the actions (methods) that can be invoked. For example, to show a particular post identified by its postId (and its related comments), the method will look like this:

namespace AppPresenters;

use Nette;
use NetteApplicationUIForm;

class PostPresenter extends BasePresenter
{

    private $database;

    public function __construct(NetteDatabaseContext $database)
    {
        $this->database = $database;
    }

    public function renderShow($postId)
    {
        $post = $this->database->table('posts')->get($postId);

        if (!$post)
        {
            $this->error('Post not found');
        }

        $this->template->post     = $post;
        $this->template->comments = $post->related('comments')->order('created_at');
    }
    ... ...
}

In renderShow($postId), a $post is grabbed from the database by matching $postId. Then, a template will be rendered with variables (the post and related comments in this case).

We notice that this process is simple but hides a lot of details. For example, where is this database coming from? 

In app/config/config.local.neon, we can see this section (following the tutorial):

database:
	dsn: 'mysql:host=127.0.0.1;dbname=quickstart'
	user: root
	password: xxxxxx
	options:
		lazy: yes

This is a familiar database connection setup. When a controller/action is to be invoked, Nette transforms this DSN into a database object (or database context) and injects it into the constructor of that controller class. Thus, the database is accessible to all methods by means of Dependency Injection.

What about the template rendering? We just see the variable assignments but no explicit call to a “render” method. Well, this is also part of the Nette convention. When an action is given a render prefix, this action will render a template at the return of the method call.

In this case, the method is renderShow. This method is linked to URI like “post/show/3” as we defined earlier (in route definitions, the render prefix is ignored): $router[] = new Route('post/show/<postId>', 'Post:Show');.

renderShow will start to look for a template under app/presenters/templates looking for:

  • A directory named “Post” because this is the controller name of this renderShow action.
  • Then a template named Show.latte to populate all the variables and display it.

So let’s summarize the naming and mapping conventions used in Nette in the below chart:

Flowchart of Nette Routing

The Latte template engine

If you are familiar with Twig, you will find that Latte is quite easy to learn.

It uses {...} pair to escape from the regular HTML parsing and does not differentiate from a pure print (Twig equivalent: {{...}}) or a control ({%...%}). Also, a variable must be prefixed with the $ sign, or a string literal inside the { } pair will be treated as a macro and most likely cause a syntax error, saying “Unknown macro {xxxx}”.

There’s a handy feature when we’re dealing with an iteration on a result set, which is very common:

<ul n:if="$items">
{foreach $items as $item}
    <li id="item-{$iterator->counter}">{$item|capitalize}</li>
{/foreach}
</ul>

Besides the regular usage of a foreach loop, a condition has been put in place to decide if the below <ul> section should be displayed or not. The <ul> section will only be there when there is at least one item in $items. With the help of this macro, we can save some lines and avoid using an if...endif pair.

Latte supports template inheritance, template including, filters, and many other cool features. Please visit its official documentation for details.

Auth and Forms

The official documentation on access control is a good starting point for us.

Nette supports in-memory and database credentials. By using in-memory authentication, we use the below snippet:

$authenticator = new NetteSecuritySimpleAuthenticator(array(
    'john' => 'IJ^%4dfh54*',
    'kathy' => '12345', // Kathy, this is a very weak password!
));
$user->setAuthenticator($authenticator);

Then, the system can explicitly make a user log in using:

$user->login($username, $password);

where the username and password can be obtained from a form submission.

Nette supports roles and ACL (Access Control List) and uses an “Authorizator” to enforce the authorization.

Firstly, we can create some roles with hierachy:

$acl = new NetteSecurityPermission;

//Define a guest role and a registered user role

$acl->addRole('guest');
$acl->addRole('registered', 'guest'); 

In the above code, role register inherits from guest.

Then, we define a few resources that a user may access:

$acl->addResource('article');
$acl->addResource('comments');
$acl->addResource('poll');

Finally, we set authorization rules:

$acl->allow('guest', array('article', 'comments', 'poll'), 'view');
$acl->allow('registered', 'comments', 'add');

So a guest can view an article, comments and a poll and a registered user, besides the privileges inherited from guest, can also add a comment.

I really don’t like this kind of access control. Even an annotation outside of a controlled method itself or the use of a decorator would be better than this, in my opinion. And I would say a centralized file (SF2’s security.yml) is the best practice: neat, clean, and flexible.

The forms are generated in their respective presenters. In particular, the form creation includes a callback event handler to process a successful form submission.

	protected function createComponentCommentForm()
    {
        $form              = new Form;
        $form->addText('name', 'Your name:')->setRequired();
        $form->addText('email', 'Email:');
        $form->addTextArea('content', 'Comment:')->setRequired();
        $form->addSubmit('send', 'Publish');
        $form->onSuccess[] = [$this, 'commentFormSucceeded'];

        return $form;
    }

But, this is not the action of that form to be rendered.

For example, let’s look at the above code for renderShow to display a post detail page and a form for readers to enter comments. In the presenter, we only assigned a post variable and a comments variable to hold related comments. The comment input form is rendered in the template app/presenters/templates/Post/Show.latte:

<h2>Post new comments</h2>
{control commentForm}

The source of that page is extracted below:

<h2>Post new comments</h2>
<form action="/sandbox/www/post/show/4" method="post" id="frm-commentForm">

<table>
<tr class="required">
	<th><label for="frm-commentForm-name" class="required">Your name:</label></th>

	<td><input type="text" name="name" id="frm-commentForm-name" required data-nette-rules='[{"op":":filled","msg":"This field is required."}]' class="text"></td>
</tr>

...
<tr>
	<th></th>

	<td><input type="submit" name="send" value="Publish" class="button"></td>
</tr>
</table>

<div><input type="hidden" name="do" value="commentForm-submit"></div>
</form>

We see clearly that the form action assigned is /sandbox/www/post/show/4, which is essentially the URI that displays the post itself. There is no place in the source code to indicate that a hook to the commentFormSucceeded method exists.

This kind of “inside linking” may confuse Nette beginners a lot. I mean, to have a separate method to process the form is a common practice, and thus to have a URI assigned for such a process is also reasonable.

Nette using a callback/event handler to do this is also fine but there is certainly something missing or not clearly explained between when a user clicks the “Submit” button and the input is persisted in the database.

We know the persistence is performed in a method called commentFormSucceeded and we implemented that feature by ourselves. But how they are hooked up is not clear.

Other cool features

Nette comes with a debugger called “Tracy“. In debug mode, we will see a small toolbar at the bottom right corner of our page, telling us important page information:

It can be disabled in production mode by changing app/bootstrap.php:

$configurator->setDebugMode(false); // "true" for debug mode

NOTE: Please purge the temp/cache folder contents if you encounter any issues after changing from development mode to production mode.

Nette also includes a test suite called “Tester”. The usage is also straightforward. See here for details.

Final Thoughts

Nette is a relatively new framework. Its 2.0 release was about 3 years ago. It came to be noticed by many of us thanks to the SitePoint survey.

Its Github issue tracker is very active. My two questions posted there got answered in less than 10-30 minutes and both lead to the correct solution, but its documentation needs a lot of work. During my attempts to set up the tutorial app following its docs, I found a lot of typos and missing explanations.

If I could give SF2 a score of 10 – not saying SF2 is perfect but just for comparison’s sake – my initial score for Nette is between 7 to 8. It is mature, well written, easy to learn, equipped with advanced features but also has a few areas that need improving.

Are you familiar with Nette? Feel free to share your views and comments, too.

تعطیلی برنامه‌ی «دستان» به بهانه‌ی ارزن روی طناب!

یک برنامه‌ی رادیویی یا تلویزیونی فرهنگی یا هنری وقتی چندین سال دوام می‌آورد، دیگر فقط یک برنامه نیست؛ تبدیل می‌شود به یک نهاد. و صداوسیما چه راحت بنیان یک نهاد را با تعطیلی آن متلاشی می‌کند. در کم‌تر از یک هفته، خبر تعطیل شدن سه برنامه‌‌ی رادیویی و تلویزیونی منتشر شد. نخست برنامه‌ی تلویزیونی «رادیو هفت» بعد از ۵ سال پخش زنده‌ی شبانه. این برنامه که هر شب با مجری‌ای متفاوت پخش می‌شد چه داشت؟ موسیقی آرام، قصه‌خوانی، گفت‌و‌گو در باره‌ی موضوعات مرتبط با آرامش، حافظ‌خوانی و معرفی کتاب و ترانه. برنامه‌ی بعدی که خبر تعطیلی‌اش آمد، برنامه‌ی بیست‌ساله‌ی «صبح به خیر ایران» بود.

و برنامه‌ی سوم، تنها برنامه‌ی تلویزیونی با موضوع موسیقی، آن هم در شبکه‌ي کم‌بیننده‌ی آموزش، آن هم هفته‌ای فقط یک شب. یک برنامه‌ی جدی با مخاطب خاص که یک بخش آموزشی هم داشت که در آن استاد جهاندار، آواز درس می‌داد. گویا مسئولان شبکه ابتدا دستور داده بودند همین بخش آموزشی حذف شود و بعد ناگهان جلوی پخش برنامه را گرفته‌اند و رسواتر آن‌که گفته‌اند دلیلش این است که این برنامه جنبه‌ی آموزشی ندارد! یعنی تصور کنید مطلوب آنان این بوده که لابدّ به جای تدریسِ فقط آواز، مدرسان تار و سه‌تار و سنتور و کمانچه را هم بیاورند و خدانکرده در رسانه‌ی ملی، ساز هم نشان بدهند! برنامه‌ی موسیقی را می‌خواهید تعطیل کنید، تعطیل کنید، ولی ارزن را که روی طناب نمی‌شود پهن کرد! جنبه‌ی آموزشی؟

عجب نیست از صداوسیما که اغلب می‌کوشد خلاف جهتِ رودخانه‌ی اکثریت جامعه حرکت کند، اما بسی عجیب است خوش‌بینیِ آنانی که می‌پنداشتند با آمدن محمد سرافراز به جای ضرغامی، قرار است اتفاق خوبِ خاصی در این سازمانِ بی‌سروسامان بیفتد. مردم اگر قرار است سرگرم باشند، همین که به خنده‌های رامبد جوان و جوک‌های مهمانانِ «خندوانه» و لهجه‌ و تکیه‌کلام‌های «جناب‌خان» بخندند، کفایت می‌کند. کتاب و شعر و هنر به چه کار می‌آید! مردم اگر موسیقی می‌خواهند بشنوند، چرا باید «های‌های‌های» بی‌مزه‌ و کسالت‌بار قربانی و عقیلی و جهاندار و امثال آنان را بشنوند؛ همان دوف‌دوف‌های انواع برنامه‌ها بس‌شان است! وارد مسائل اجتماعی و سیاسی هم که اصلاً نمی‌شویم، که همانا با تقوا نزدیک‌تر است. جنبه‌ی آموزشی یعنی این! 


کامنت‌ها

حدیث هایی در مورد نادانی

 

جهل

نادانی و جهل

1- حضرت امام علی (علیه السّلام) فرموده اند: وقتی که افراد عاقل، پیر می شوند نیروی عقل در نهادشان جوان می گردد و موقعیکه اشخاص جاهل به پیری می رسند جهل و نادنی در وجودشان جوان می شود.

منبع: فهرست غرر،ص189

2- حضرت امام علی (علیه السّلام) فرموده اند: در نادانی مرد همین بس که حد خود را نشناسد و از آن آگاه نباشد.

منبع:نهج البلاغه،خطبه 102

3- حضرت امام علی (علیه السّلام) فرموده اند: اشخاص عاقل به سعی و کوشش خود تکیه می کنند مردان نادان به آمال و آرزوهای خویشتن متکی هستند.

منبع: غررالحکم،ص43

4- حضرت امام علی (علیه السّلام) درباره ی اوضاع فاسد دوره ی جاهلیت فرموده اند: خداوند رسول گرامی را به پیامبری مبعوث فرمود، هنگامی که مردم گمراه و سرگردان بودند و در بیراهه های فتنه و فساد سیر می کردند. هوای نفس اسیرشان ساخته و تکبر و خودپرستی به اشتباهشان سوق داده بود و بر اثر جهل و نادانی، کوته فکر و سبکسر گشته و در کارها حیرت زده و نگران بودند. دل های مردم نیکوکار به وی متوجه گشت و نگاه چشم ها به سوی او معطوف گردید. خداوند بدست آن رهبر توانا کینه های دیرینه را از صفحات خاطرها محو نمود و شعله های خانمان سوز را خاموش کرد. افراد بیگانه را با تعالیم او، با هم برادر ساخت و کسانی را که به ناحق با یکدیگر همکاری داشتند از هم جدا نمود، حق و فضیلت را در پرتو کوشش او، از خواری به عزت رساند و ظلم و فساد را به ذلت و پستی انداخت.

منبع:نهج البلاغه،خطبه های 94و95

5- رسول اکرم (صلّی الله علیه و آله و سلّم) فرموده اند: اطاعت از فرمان الهی و پرستش ذات اقدس او بر اثر علم است، خیر دنیا و آخرت در پرتو علم بدست می آید و شرّ دنیا و آخرت از جهل و نادانی دامنگیر انسان می شود.

منبع: مشکوة الانوار،ص135

6- حضرت امام علی (علیه السّلام) فرموده اند: مردم اجتماع، دو گروهند، گروه اول کسانی هستند که در تحصیل دانش مدارجی را پیموده و عالمند. گروه دوم آنانند که به تحصیل علم اشتغال دارند. جز این دو گروه سایر افراد جامعه وحشیان حیوان صفتند.

منبع: فهرست غرر،ص267

7- حضرت امام علی (علیه السّلام) فرموده اند: جهل، بی خبری انسان از عیوب اخلاقیش در ردیف بزرگترین گناهان او است.

منبع: ارشاد مفید،ص142

8- حضرت امام علی (علیه السّلام) فرموده اند: جهل آدمی به فضائل اخلاقی خود، از قبیح ترین صفات رذیله است.

منبع: غررالحکم، ص91

9- حضرت امام علی (علیه السّلام) فرموده اند: عذر نادانی جوان پذیرفته و مقبول است و دانش او در جوانی محدود و محصور می باشد.

منبع:غررالحکم،ص372

10- حضرت امام علی (علیه السّلام) فرموده اند: نادان آن کسی است که مطالب و مقاصد، او را برده ی خود سازد و به اسارت و بندگی خویش در آورد.

منبع: فهرست غرر،ص54

 

www.ez12.persianblog.ir

با تشکر از انتخاب شما