दीपावली है दीपों की

(c) Mike Labrum https://unsplash.com/photos/fvl4b1gjpbk

दीपावली है दीपों की
काली अंधियारी रातों में
उम्मीद की किरण फैलाते
अंधकार पर विजयश्री का जश्न मनाते
ये नन्हे-नन्हे, इतराते, लहराते, बलखाते
दीपों की
दीपावली है दीपों की

रिश्तों की ठण्ड को थोड़ा गरमानें की
फुरसत के इन पलों में संग बैठने की
थोड़ी अनायास ही बातें करने की
दीपावली है दीपों की

गांवों घरों खेतों-खलियानों में
गलियों-चौराहों में नन्हे भागते
नौनिहालों की
लड्डू, पेड़ा और बर्फी की
दीपावली है दीपों की

माटी के कच्चे-पक्के दीपों की
उस मखमली ठंडी रात में
हवा के ठन्डे झोंखे से
कपकपातें-फड़फड़ातें दीपों की
कुछ जलते, कुछ बुझतें दीपों की
दीपावली हैं दीपों की

आओ इस दीपावली कुछ दीप जलायें
थोड़ी खुशियां उन घरों में भी पहुचायें
चाकों की उस संस्कृति को फिर जगाएं
थोड़ा #MadeinIndia बन जाएँ
थोड़ा #GoLocal हो जाएँ
दीपावली है दीपों की

ना इन बिजली के बल्बों की
ना इन बेतरतीब उपकरणों की
ना इस धुआं की, ना शोर शराबे की
न प्रदूषण में जलती धरा की
दीपावली है दीपों की

आओ थोड़ा हिंदुस्तानी बन जाएँ
कुछ अपना सा #EarthHour मनाएं
दीपावली है दीपों की
सम्पन्नता और सौहार्द की
अंधकार में भी उजियारे की

दीपावली है दीपों की

-आनन्द कुमार

Dipawali Hai Dipon Ki
(c) 2018 Anand Kumar anand@anandkumar.net

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

How to Use Subversion?

We’ll describe here some of the basics about using subversion: starting outchanging things, and tagging releases. For more comprehensive documentation, see The SVN Book.

First, some terminology

If you’re new to subversion, you’ll need to know what a few words mean, so let’s go over how subversion behaves to introduce some terms.

All your files will be centrally stored in the repository on our servers. From that repository, anyone can check out a copy of your plugin files onto their local machine, but, as a plugin author, only you have tho authority to check in. That means you can make changes to the files, add new files, and delete files on your local machine and upload those changes back to the central server. It’s this process of checking in that updates both the files in the repository and also the information displayed in the WordPress.org plugin directory.

Subversion keeps track of all these changes so that you can go back and look at old versions or revisions later if you ever need to. In addition to remembering each individual revision, you can tell subversion to tag certain revisions of the repository for easy reference. Tags are great for labelling different releases of your plugin.

Words are great, but how do I actually use the darn thing?

Let’s describe a few basic tasks you might want to accomplish.

Task 1: Starting from scratch with your brand new plugin repository

All you want to do is add the plugin files you already have to your new repository.

To do that you’ll need to

  1. Check out the blank repository.
  2. Add your files to the trunk/ directory of your local copy of the repository.
  3. Check in those files back to the central repository.
$ Create a local directory on your machine to hous a copy of the repository.

$ mkdir my-local-dir

# Check out the repository

$ svn co https://plugins.svn.wordpress.org/your-plugin-name my-local-dir
> A my-local-dir/trunk
> A my-local-dir/branches
> A my-local-dir/tags
> Checked out revision 11325.

# As you can see, subversion has added ( "A" for "add" )
# all of the directories from the central repository to
# your local copy.

# Copy the plugin files to the local copy.
# Put everything in the trunk/ directory for now.

$ cd my-local-dir/
my-local-dir/$ cp ~/my-plugin.php trunk/my-plugin.php
my-local-dir/$ cp ~/readme.txt trunk/readme.txt

# Let subversion know you want to add those new files
# back into the central repository.

my-local-dir/$ svn add trunk/*
> A trunk/my-plugin.php
> A trunk/readme.txt

# Now check in the changes back to the central repository.
# Give a message to the check in.

my-local-dir/$ svn ci -m 'Adding first version of my plugin'
> Adding    trunk/my-plugin.php
> Adding    trunk/readme.txt
> Transmitting file data .
> Committed revision 11326.

# All done!

Task 2: Editing a file that is already in the repository

We’ll assume you’ve already got your plugin repository filled with the needed files (Task 1). Now suppose you need to edit one of the files to improve the plugin.

To do that you’ll need to

  1. Make sure your copy of the repository is up to date.
  2. Edit the file.
  3. Double check your changes.
  4. Check in your changes.
# cd into your local copy of the repository and
# make sure it's up to date

$ cd my-local-dir/
my-local-dir/$ svn up
> At revision 11326.

# Good: all up to date. If there had been changes in the
# central repository, they would have been downloaded and
# merged into your local copy.

# Edit the file that needs changing. I use nano.
# No need for editor wars; use whatever you like.

my-local-dir/$ nano trunk/my-plugin.php
# ... edit ... edit ... make typo ... edit
# ... fix typo ... edit ... all done.

# You can check and see what's different between your
# local copy and the central repository.
# First we check the status of the local copy.

my-local-dir/$ svn stat
> M trunk/my-plugin.php

# This tells us that our local trunk/my-plugin.php
# is different from the copy we downloaded from the
# central repository ( "M" for "modified" ).

# Let's see what exactly has changed in that file,
# so we can check it over and make sure things look right.

my-local-dir/$ svn diff
> * What comes out is essentially the result of a
  * standard `diff -u` between your local copy and the
  * original copy you downloaded.

# Looks good. Let's check in those changes to the
# central repository.

my-local-dir/$ svn ci -m "fancy new feature: now you can foo *and* bar at the same time"
> Sending   trunk/my-plugin.php
> Transmitting file data .
> Committed revision 11327.

# All done!

Task 3: “Tagging” a new version

Each time you make a formal release of your plugin, you should tag a copy of that release’s code. This lets your users easily grab the latest (or an older) version, it lets you keep track of changes more easily, and lets the WordPress.org Plugin Directory know what version of your plugin it should tell people to download. To do that you’ll need to remember to update the Stable Tag field in trunk/readme.txt beforehand! Then you’ll

      1. Copy your code to a sub-directory in the tags/ directory. For the sake of the WordPress.org plugin browser, the new sub-directory should always look like a version number. is good. Cool hotness tag is bad.
      2. Check in that new sub-directory.
# You've just checked in the latest and greatest updates
# to your plugin, let's tag it with a version number, 2.0.
# To do that, copy the files from your trunk/ directory to
# a new directory in tags/.
# Make sure to use `svn cp` instead of the regular `cp`.

my-local-dir/$ svn cp trunk tags/2.0
> A tags/2.0

# Now, as always, check in the changes.

my-local-dir/$ svn ci -m "tagging version 2.0"
> Adding         tags/2.0
> Adding         tags/2.0/my-plugin.php
> Adding         tags/2.0/readme.txt
> Committed revision 11328.

# All done!

This archived WordPress Wiki is pulled from good ol’ archive.org

WordPress Coding Standards for Uniform and Beautiful development

WordPress itself has a good guide but I have summarized it for my own use. Here is a list of *half finished* blog post about WordPress coding standards.

WordPress PHP Coding Standards


  • use real tabs equivalent to 4 spaces.
  • Do not use closing PHP tags.
  • Starting braces should be at the end of the line whereas ending braces should be at new line with previous intent.
  • never use shorthand php tags.
  • use spaces appropriately.


  • Variable names should be all lowercase, words separated with underscores


  • Class names should use capitalized words separated by underscores.
  • Any acronyms should be all uppercase.

class Local_File_Operations {}
class HTTP_Request {}


Constants should be all uppercase, separated by underscores

define( 'DOING_AJAX', true );

File Names:

File names should be all lower case, separated with dashes


NOTE: I wrote this post for my own uses but it might be useful for you also. If you have any suggestion please leave a comment be below.

जर्मन के जगह संस्कृत को अनिवार्य बनाना समझदार सरकार का बचकाना कृत्य है

तो सरकार ने केन्द्रीय विद्यालय में जर्मन हटा के संस्कृत पढ़ाने का निश्चय कर लिया है। ज़ाहिर है बहुत से संगठनों को यह पसंद भी आया होगा और बहुत से ऐसे भी होंगे जिन्हे यह नागवार गुजरेगा। अभी हाल के ही हाई कोर्ट ने इस फैसले पर वर्तमान सत्र के लिए रोक लगा दी है।

छात्रों को क्या पढ़ना चाहिए?

यह तो अपने आप में ही एक गंभीर विषय और बहस का एक मुद्दा है। पर मेरे विचार से यह रोजगारपरक और विचारोंन्मुखी होना चाहिए। इससे छात्र दो रोटी का जुगाड़ कर सकें और एक बेहतर – जागरूक व्यक्ति बन सके।

मैंने कई ऐसे लोगों के बारे में सुना है जिनके माता – पिता एक अच्छे पद पर हैं और जिनके बच्चे इंजीनियरिंग और डॉक्टरी की पढाई कर बैंकों में कलर्क की नौकरी कर रहे होते हैं। मजे की बात तो यह है जब यह सुनने को मिलता है कि उनकी इस(!) सफ़लता के पीछे निर्मल बाबा सरीखे लोगों का हाथ होता है। इसी से मुझे भारत की शिक्षा व्यवस्था की स्थिति का पता चल जाता है।

बेहतर तो होता कि सरकार सभी ज़िला मुख्यालयों में एक भाषा विद्यालय का गठन करती या केंद्रीय विद्यालयों में एक भाषा सम्बन्धी विभाग होता जो स्वतंत्र रूप से उस विद्यालय और स्थानीय आवश्यकताओं के अनुरूप 6-7 भाषाओँ का चयन करता और न ही सिर्फ केंद्रीय विद्यालय बल्कि अन्य विद्यालयों के छात्रों की आवश्यकताओं को पूरा कर सकता था। इससे विद्यालयों को आवश्यकता के अनुरूप हर भाषा के छात्र मिल जाते। कुछ रोजगार भी पैदा होता और छात्रों को विकल्प भी मिल जाता।

संस्कृत से किसे फ़ायदा?

बहुतों को कष्ट होगा, पर मेरे विचार से संस्कृत कभी भारतीयों की भाषा नहीं रही। यह सिर्फ एक खास वर्ग की भाषा थी और उन्हीं तक सीमित रही। ज़ाहिर है पीछे वही वर्ग ज़िम्मेदार है। क्या ऐसा नही है? अब क्यों संस्कृत को लेकर इतनी तड़प है? आप भाषा किसी पर थोप नहीं सकते। ऐसा करने में आप सफल भी नहीं होंगे।

संस्कृत को इस तरह से पढ़ाये जाने से सिर्फ उन्ही राजनीतिज्ञों को फ़ायदा है जो ख़ुद को हिंदूवादी या राष्ट्रवादी कहलवाना पसन्द करते है पर उनके पास न ही हिन्दुओं के लिए और न ही अपने राष्ट्र के लिए कोई ठोस विज़न है। हालांकि यह भी सोचने वाली बात है की उन्हें कितना फ़ायदा होगा।

क्या संस्कृत का उत्थान होगा?

अजी छोड़िये, बेकार की बहस. संस्कृत को अनिवार्य बना कर आप इसका विकास नहीं शिक्षा का स्तर गिरा रहे हैं। जर्मन के जगह संस्कृत को अनिवार्य बनाना समझदार सरकार का बचकाना कृत्य है।  इससे तो अच्छा होता कि वर्तमान शिक्षा को रोजगारपरक बनाने के ठोस उपाय किये गए होते। हमारी सभ्यता विकसित थी। इसने जरूर दुनिया को रौशन किया होगा पर वर्तमान स्थिती यही है कि भारत के विकासशील या पिछड़ा देश है। हम अपने इतिहास का दम्भ भर सकते है पर सच्चाई यही है कि हम अपने कृत्यों से अपने भविष्य को तार – तार कर रहें हैं।

ब्रिटिश राज ने हमसे यक़ीनन हमसे बहुत कुछ छीना है पर उसने हमे बहुत कुछ दिया भी है। बेहतर तो यही होता की हम संस्कृत के बजाय एक भारतीय भाषा पढ़ाते; या विदेशी भाषा ही। कम से काम उसकी कोई उपयोगिता तो होती। इसमें संस्कृत भी एक हो सकती थी।

तो क्या किया जाना चाहिए?

करने को तो बहुत कुछ किया जा सकता है। एक तो मैंने ऊपर कहा। यह तो सरकार पर निर्भर करता है कि वह क्या सोचती है। अब आप ही बताईये कि, आज, 21 वीं सदी में केन्द्र सरकार के पास संसाधन की इतनी कमी है? वह भी तब जब तमाम सब्सिडी कम या खत्म किए जा रहें हैं। जर्मन भाषा को एक बार में हटा कर संस्कृत पढ़ाया जा सकता है वह भी इसी सत्र से। विभिन्न माध्यमों से सरकार यह इच्छा तो दिखाती है कि वो जनता के लिए विशेष करना चाहती है और जनता को भी इसमें भागीदार बनाना चाहती है पर वह संस्कृत को पढ़ाने के लिए इतनी व्याकुल क्यों हो जाती है कि वह आधे सत्र का भी इंतजार नहीं कर सकती। क्या यह उन बच्चों भविष्य साथ खिलवाड़ नहीं है? क्यों कोर्ट को इस मामले को पलटना पड जाता है?

हिन्दी ब्लॉग क्यों?

बहुत देर तक सोचता रहा, क्या लिखूं! कुछ विशेष नहीं सूझ रहा था| प्रथम सोचा कि किसी वाहियात चीज कि प्रसंशा कर दूँ; या कुटिल राजनीति पर दो चार सुना दूँ| लेकिन फिर सोचा कि अंग्रेजी वेब और अंग्रेजी होती मेरी पीढ़ी के बीच यही जस्टिफाई कर दिया जाये कि मैंने हिन्दी ब्लॉग लिखना क्यों प्रारंभ किया?

सर्वप्रथम, बता दूँ कि मैं “हिन्दी” हूँ| सिर्फ़ भाषा से नहीं, तन-मन और धन से भी| विचार भी हिन्दी हैं, जिन्हे अकसर लोग पिछड़ा समझते हैं| ख़ासकर, तथाकथित विकसित “अंग्रेजी भारतीय समाज”| यह स्पस्ट कर दूँ कि ये अंग्रजी भारतीय समाज अंग्रेज नहीं है, ये वो हैं जिनकी भाषा अंग्रेजी या हिंग्लिश हो चुकी है और इन्हें हिन्दी बोलने वाले तुक्ष नजर आते हैं| आप महानुभाव खुद को विकसित और भारत को विकसित बनाने वाला मानते हैं| हालाँकि यह भी विडम्बना ही है कि आपकी कल्पना के इस भारत में वे १०० करोड़ भारतीय नहीं हैं जो गरीब हैं| मेरा यह ब्लॉग उन्ही १०० करोड़ भारतियों के लिए है| सरकार भले दिन के ३०-३५ रुपये खर्च करने वालों को गरीब न माने पर सच्चाई यही है कि यही वो तबका है जो सदैव संघर्ष करता है| जीता है, मरता है| अपने सहभागिता से किसी देश को बनाता और बिगड़ता है| आप यह भी पूछ सकते हैं कि, अगर मैं यह ब्लॉग अंग्रेजी में लिखता तो अधिक लोग पढ़ते| अंग्रेजी अब “संपर्क कि भाषा” बन चुकी है| तो मेरा जवाब है, मुझे लगता है कि अंग्रेजी में यह ब्लॉग लिख कर मैं खुद को, अपने लेखकी से, संतुष्ट नहीं कर पाता और मुझे चेतन भगत नहीं बनना|

दूसरा कि, हमारा यह इन्टरनेट अंग्रेजी है| आज अगर देखा जाये तो दूसरी भाषाएँ, अंग्रेजी के अलावा, जैसे रुसी, चीनी, जापानी अपने अपने क्षेत्र में अधिक लोकप्रिय हैं; ख़ासकर, इन्टरनेट| शायद हिन्दीभाषी लोग अपनी भाषा से उतना प्रेम नहीं करते| या यह भी हो सकता है कि हिन्दी इन्टरनेट के लिए उतने साधन और संसाधन ही उपलब्ध न हों| जो भी हो, मेरे जैसे हिन्दीभाषियों, जो सुचना प्रौधोगिकी से जुड़े हैं, कि यह जिम्मेदारी भी बनती है कि मैं अपनी भाषा के संवृद्धि में कुछ योगदान करूँ| करोड़ो लोग हिन्दी बोलते हैं, लिखते हैं; क्यों अपनी भाषा में न लिख कर दूसरी भाषा का प्रयोग करूँ| और अंग्रेजी में तो सब लिखते हैं| यह स्पष्ट कर दूँ कि मुझे अंग्रेजी से परहेज नहीं है बस इस ब्लॉग के लिए अंग्रेजी मुझे उपयुक्त लगा|

आशा है कि आपको आने वाले समय में यह ब्लॉग पसंद आएगा| अपने सुझाव आप नीचे कमेंट बॉक्स में लिख सकते हैं| आपके सुझावों और शिकायतों का इंतजार रहेगा|

आनन्द कुमार
[email protected]
ट्विटर: @iAnandK

Anand Kumar Blogging 2.0 Starts From Today!

I have been very lazy or busy in some other stuff. Sorry for that!

Now, It’s time to make a few changes.

  1. Regular Posts on my blogs
    1. NetRival – Where I share most of the stuffs related to Technology, Telecom and Gadgets
    2. BlogSynthesis – What I learnt of Blogging and Internet Marketing.
    3. UbuntuBeginner – My love towards Open-Source Software.
    4. WPAvenue – Discuss about WordPress, Blogging, SEO and content Marketting.
    5. AnandKumar.net – Not my very first personal blog but setting my own branding here and share some interesting stuff and my dreams with your, here.
    6. Rest all are GONE. (Sorry for that!)
  2. Better communication on social media
    1. Ah, I have never been a social media expert and still not. But I will try to follow some untold rules of social media, hope that will work.

From now, I will blog in a pattern. I am sure that will work if I follow my own rules.

My very first post in @_Anand_Kumar blogging 2.0 will start from a blog-post series “Gadget This Week”. In this series, I will pick and review one gadget or product (only devices). The reason behind this approach is to keep you away from information overdose. Actually, I have subscribed to many gadgets related blog and get more than thousands of messages every week. Yeah, The number is quite low or high (depending on how much gadget freak you are). This is Why I decided to pick one gadget a week, somehow the best, and share it with you. It will keep you to choose the best in every aspect.

DISCLAIMER: This series will not be for gadget freaks who changes their phones every week or every month. You should head yourself to some other blogs.

What’s will be on the v2 of netrival.com?

When I created this blog my intention was to share information about Telecom, Technology, Gadgets and How-to Guides. But after so many years. I bacame lazy and till now there are barely 223 posts live on this blog. Sigh..

Now, I decided to share quite a frequent post every week, may be 4 or 5.

  • 1 Gadget
  • 2 Apps or Software Review
  • 2 Tech Tips (How-to Guide)
  • And, Telecom (Data) updates as important they are.

A similar pattern will be followed on other blogs too!

Help me to choose the best

A blog could never be successful without its loyal visitors. You can make all the difference. This is why I need your support to choose the best of the best and you opinion about the posts or any idea that could be useful or just chit-chat. You will just need to fill this contact form and start getting connected.