Category: General

Its general – Purely General

  • PHPCamp: An Unconference for PHP Enthusiasts

    PHPCamp: An Unconference for PHP Enthusiasts

    Are you passionate about PHP? Do you love coding and want to connect with like-minded individuals in a dynamic and collaborative setting? Then mark your calendars, because PHPCamp is making a comeback after more than a decade!

    What is PHPCamp?

    PHPCamp is an unconference where PHP developers, enthusiasts, and experts gather to share knowledge, network, and collaborate. Unlike traditional conferences, an unconference is participant-driven, meaning attendees get to propose, vote on, and lead sessions.

    Why Attend PHPCamp?

    • Learn from Peers: Participate in sessions led by fellow PHP enthusiasts who share their insights and experiences. Whether you’re a beginner or an advanced developer, there’s something for everyone.
    • Networking Opportunities: Meet and connect with fellow PHP enthusiasts from around the world. Exchange ideas, discuss projects, and maybe even find your next collaborator or mentor.
    • Hands-On Workshops: Engage in interactive workshops designed to enhance your skills. Get practical experience and learn new techniques that you can apply to your projects.
    • Stay Updated: Keep up with the latest trends and advancements in the PHP world. Learn about new tools, frameworks, and best practices that can help you become a better developer.

    Event Highlights

    • Participant-Driven Sessions: Propose and vote on sessions that matter to you. Whether you want to lead a session or simply participate, your voice matters.
    • Interactive Discussions: Engage in lively discussions on a wide range of topics, from basic PHP to advanced concepts.
    • Coding Challenges: Test your skills and compete with other developers in fun and challenging coding competitions.
    • Networking Events: Social gatherings, meetups, and networking lunches to help you connect with other attendees.

    My First Unconference Experience

    This year marks my first time attending an unconference, and I couldn’t be more excited. The unique format where participants drive the content makes it a truly collaborative and enriching experience. I’m looking forward to learning from my peers, sharing my own insights, and being part of a vibrant community. I’m especially thrilled to lead a session on “Transforming Legacy PHP Projects” where I’ll share strategies and best practices for modernizing old codebases.

    Interesting Topics at PHPCamp

    PHPCamp will feature a variety of fascinating topics, including:

    • Drupal/WordPress: Discover the latest developments and best practices in using Drupal/WordPress with PHP.
    • Site Reliability Engineering (SRE): Learn how to enhance the reliability and scalability of your PHP applications. Prometheus Monitoring is one I look forward to explore.
    • AI with PHP: Explore how artificial intelligence can be integrated with PHP to create smarter applications.
    • Open Source: Discuss the importance of open source in the PHP community and how we can contribute.
    • Headless CMS: Understand the benefits of using headless content management systems with PHP for flexible and efficient web development.
    • React, Inertia.js, Laravel and many more interesting sessions.

    How to Register

    Registering for PHPCamp is easy. Visit the official PHPCamp website, fill out the registration form, and secure your spot.

    Get ready for an unforgettable experience at PHPCamp. Whether you’re looking to learn, network, or simply have fun, this unconference has it all. After the last PHPCamp in 2011, this event is set to be a remarkable return.

    Date: 8th June 2024
    Venue: 5th Floor, MCCIA Tower, SB Road, Pune

    See you in Pune!

  • How to Prevent AI from Mining Your Siteโ€™s Data

    How to Prevent AI from Mining Your Site’s Data

    Do you want to share your website’s public content with AI robots for Generative AI or other Artificial intelligence for AI Training? If No, then this article is for you.

    Disclaimer:

    The insights in this article are based on information available at the time of writing. As the digital landscape evolves, so may the relevance of this advice. I encourage you to do your research to stay informed. I’m not liable for any changes after publication or the content of external links.

    In the past few days, there has been a rumour about Tumblr and WordPress.com being in talks about a deal with AI companies like OpenAI and Midjourney. The deal is about the blog’s content for AI Training. For now, there is no official statement from any of the companies, according to TheVerge

    WordPress ecosystem has two sides.

    One is WordPress.com, run by Automattic, which has a privacy option that disallows AI bots to parse the data. Read more about the Privacy Options.

    wordpress.com privacy settings

    Those who do not use it might have already shared or will share the data with AI Training.

    The second side is WordPress.org, which the WordPress Foundation manages. Self hosted WordPress has no privacy options for the bots yet.

    I’m a self-hosted WordPress user, I don’t worry about it. But if you think it’s important to protect your data from AI Bots, you can use the following two ways.

    1. Using robots.txt
      If you have ever updated robots.txt, use Darkvisitors robots.txt builder to generate AI bots-related agent data and update your robots.txt to add one layer of protection from bots to your site.
    1. Using ai.txt
      ai.txt is specific to AI Bots and works on the same mechanism as robots.txt. Check out the Spawning ai.txt generator that restricts or permits using your site’s content for AI training.

    In my opinion, anything published to the public should be open to all, whether it be a bot or a human. In the end, humans are using Generative AI for various activities.

    Happy Blogging ๐Ÿ˜‰

  • How to Resurrect / Recover Hacked WordPress Website?

    This Article is incomplete. I Started writing this while returning from Kolkata After WCKolkata WordCamp. Here is the Video Recording of Session.

    In this open world, Having attempts for hacking your website is extremely routine for every Webmaster out there.

    Mostly the main purpose behind those attacks/attempts is to insert some code in your website which can be further monetized by inserting ads or redirecting your readers to some other website. the only logical reason is attackers are working on Medical or Adult Niche, where they have issue fetching traffic in an organic way thus the bad way. Commonly such code is referred to as Malicious code. which often has the capability of replicating itself on the server.

    Myth: WordPress is not secure
    For those who believe it, WordPress is as secure as your home, if you are keeping the door open for burglars then god bless you.

    Oftenly Attacks are on various levels, not every time you can react on that. Levels are
    – DNS
    – DataCenter
    – Application Layer : Apache / Nginx / PHP
    – WordPress
    – Themes / Plugins

    Common ways of Getting Malicious code in your WordPress Website:
    – Using some Pirated / Nulled version of theme or Plugins, you never check what’s in code of those resources.
    – Using Old version of the theme, Plugin or WordPress Core:
    New releases do not always feature updates, they do include security fixes. Make sure you use the latest version of Plugins, Themes and WordPress Core.
    – Unsanitized File upload
    Its often observed some websites have forms for uploading files like resumes or Photos, Try uploading PHP file instead of jpg, png, Docx, pdf files. if it gets uploaded, God bless that website. Luckily Form plugins in WordPress are sanitized, any form by form plugins is safe, but some custom landing page might be a Risk.
    – If you are on shared Hosting, May God Bless you.
    you have no access over whats going on Serverside, once someone else accounts on the same server get affected, all other accounts are on risk.

    [Simpson Image here]

    How do you know if your website is affected?
    – Your Website Is Being Redirected to Hacked Sites
    – Ads & Pop-ups Open When Visiting Your Website
    – Google Chrome (or another browser) Shows A Warning When Visiting Your Website
    – Google Search Console Sends A Message Saying Your Website Is Hacked Or Has Malware
    – Your Hosting Company Disabled Your Website
    – Your Website Becomes Very Slow And Shows Error Messages
    – Unknown Code in your program Files
    – You Find New Admin Users Or FTP Accounts Which You Havenโ€™t Created

    What to do

  • My Take on Ban using Chinese Apps

    Disclaimer: The thoughts expressed in this post are personal. It has nothing to do with the organizations I’m associated with. If you disagree with these thoughts, It’s fine.

    Hello Reader,

    It’s has been more than a week, we are receiving forward message with Headlines like “Ban Using Chinese Products / Applications”.

    I have some questions:

    • How do we define which app to remove as it’s so-called “made by china”?
    • If Google is banned in China, how come Chinese Devs publish app in Google Play store?

    The following might be an explanation:

    • We have companies in India who are funded by Chinese conglomerate to run the show. Will we stop using them?
    • Some companies in China outsource their development, translation, design jobs to Indian markets. If we stop using these apps, we are affecting our economy.

    Let us take an Example of TikTok

    • TikTok has Good Entertaining Quotient.
    • Publishers & Viewers are huge in numbers.
    • More the content, more the resources TikTok operations team put-in.
    • More resources mean more the investment to run the show.
    • Now let us think about how an app developer is making Money. It has to be from Data & Advertisements.
    • Your Data is already sold out. So you want to ban something then Ban putting ads.
    • For Application of that scale, there must be a local team managing infra/operations.
    • Stop using that app will remove the need of the local team affecting our economy. Keep them in “THE SHOW MUST GO ON!” mode

    If you want to attack some tech giant, use the free things they are giving. Do not pay by any modes like In-app purchases or putting Ads. As user Enjoy what you get for Free.

    Now you might be saying we are Marketing team. We have a new product that will help our team sustain the pandemic situation. We need Advertising outreach. I’m not against that at all. Everyone is trying their best to survive. Take an extra step and reach out to publishers directly. Half of them don’t even know their asking rate. You can Grab a better deal.

    Conspiracy thought:

    Always thinking about who could be benefited by such forwards?

    • Indian Devs who are publishing clones of these apps? Naah. Bas Behti Ganga me hath dho rahe hai. They have no idea where it’s gonna lead.
    • Current Ruling Party? Maybe, nowadays all we have is “keep the devil occupied” Policy.
    • Internet Service Providers? Maybe. We all know the current internet situation is not that great. Reducing Users from Apps like TikTok or PUBG can save bandwidth. Net Neutrality & ISP ranting for Infra cost is the topic for another day.

    That’s all, that’s just a thought. If you have some other thoughts, I’m a good listener. Feel free to drop-in Comment or wherever we Encountered this Topic.

    Have a great day ahead.

  • [Solved][AMP Error] The tag ‘link rel=canonical’ appears more than once in the document.

    We received a sudden rise of errors in Search Console with Error
    “The tag ‘link rel=canonical’ appears more than once in the document”.
    We are using the following two plugins:

    This Error arose because both plugins were adding canonical to AMP Code. Removing one is the only solutions.

    As Canonical from Yoast was wrong, we decided to remove Yoast’s Canonical. Thanks to Yoast team for the canonical documentation & wpseo_canonical Filter. Following Code is what we used to remove Canonical from AMP Output.

    // Remove canonical from better-amp output.
    add_filter( 'wpseo_canonical', 'remove_canonical_from_bamp' );
    function remove_canonical_from_bamp( $canonical ) {
      if(is_better_amp()){ 
          return false;
      }
      return $canonical; /* Do not remove this line. */
    }

    Above code will work only if you are having Better AMP plugin in use.
    Happy Publishing!

    [Update] Based on Comments, Please Paste that function in your Theme’s Functions.php or if you are not sure how to edit Functions.php or use Code Snippets Plugin.

  • Month in short – Feb 2020

    As mentioned last month’s blogpost, here’s the glimpse of my February.

    February 2020 brought lots of new experiences

    • First time attended an Bharatnatyam Concert.
    • Learned about Accessibility issues in Icon Fonts.
    • 6 Days of Bed rest due to Fever.
    • Caught in cross fire on twitter. indeed it was my mistake.
    • Met Old buddies after 6 Years.

    March is already in Action ๐Ÿ™‚

  • The trial month with the Real Experiences

    This Year 2020, I had some plans to execute but Expect the Unexpected should be the Golden rule of Life. Here is the short version of January 2020.

    • Travelled 6 Cities.
    • Visited 8 Different Gaming Arcade.
    • Met a 5 Car Collision.
    • Visited Police Station Thrice.
    • Witnessed Highway traffic Surveillance system.
    • Missed Mumbai Flight, Had to fly to Pune then by Road to Mumbai.

    That’s just one part of 2020, there are 11 more to go. 2020 has lots of experiences in a plate.

    This year I’m not planning for any resolutions like last year’s Daily writing one. Rather I’m working on simpler goals:

    • Fixing some early days client relationship mistakes.
    • Prepare for Half Marathon, Participate in 2021.
    • New Zealand trip is still on the list.
    • Read One Book this Year not sure which one, suggestions are most welcome.

    That’s all from me, what is in your bucket for 2020. and how was your January?

  • Help google Identify the type of Links on your Website.

    Help google Identify the type of Links on your Website.

    It was Google’s birthday this month. Guess that’s the reason why Google is on release spree. Throughout this month, Google introduced many new features. Also discontinued some features in search and associated tools. I’ll write a post on each feature release as possible with impacts as and when shared by people.

    For this post let’s talk about Link Relationships.
    On 10th Sept 2019, Google Announced, that google is evolving link relationship attribute. NoFollow and DoFollow are the known attributes in Search Engine Friendly Sites ecosystem.

    Link Relationship work as Hints to google. It helps google understanding how to treat the link. Now Google announced two new attributes “UGC” & “sponsored”.

    rel=”sponsored” is to be used for in-content, adverts or any compensated link.

    “UGC” is for User Generated Content. rel=” UGC” is used for links in the Comment section or any content that is submitted by End-user. This is a good move as someday this will reduce the value of a link in comments. we can call it a step towards comments Spam.

    Google is respecting anyone who is started implementing these attributes, the impact might be seen after March 1, 2020.

    Here’s how to put in place before time.

    For rel=”sponsored”
    if you are running ads based on some Ad Network, then you don’t need to worry about it. if you are having some in-content sponsored links then you need to Update the Code Manually.

    For rel=”UGC”
    If you have any custom User-generated Content display, then updating links with rel=”UGC” is recommended. If you are using WordPress like me, then the Comments area is one which needs to be updated. You can install plugins WP Add Rel=”UGC” to Comments to your WordPress site. I know this feature should be a part of WordPress core, which is in process. UGC support will be added to Upcoming WordPress 5.3 which is scheduled to be released on 12th November 2019. Till then you can use the plugin mentioned above.

    For Beginners, who have no idea what ‘rel’ attribute is in the Link tag.
    rel value indicates the relationship of the target link from the website link is on. There are many existing Rel values. Some are acquaintance, alternate, bookmark, contact, colleague, copyrights and many more. You can find more about it on Microformats Official Documents.

  • Is your account Compromised in Data Breach?

    For the past few years, we are listening about the data breach in various tech giants. What does it mean for you? If you are using the services of those tech giants, it means some or all of the following data might be at risk.

    Names, Dates of birth, Email addresses, Employers, Genders, Geographic locations, IP addresses, Job titles, Phone numbers, Physical addresses, Job titles, Social media profiles data

    You might receive Ransom emails for your data too. Just Don’t Panic. Breaches are bad for Companies as well as users. But you know what information is available on the tech Giants Disposal. That data is already public done by you for your Network which can anyway go into Telecaller’s database. So don’t panic, instead, focus what damage can happen to you.

    So how do you check if your email id is compromised?
    Just head to haveibeenpwned.com, enter your email id, and it will check your data in the database for Recent Breaches. Like my office ID was leaked in Linkedin’s Breach. I know what data I’ve Published on Linked. So Nothing to panic, all I have some spam routing to my mailbox every another day. The only thing to do is to change password, Enable Two-factor Authentications and Ignore all spam emails.

    Happy Internet Life to you ๐Ÿ™‚

  • My PHPCS & WPCS Setup Notes

    My PHPCS & WPCS Setup Notes

    Recently I’d SSD upgrade on my mac, the first thing I need to do for Setting Dev Environment was to Install Homebrew, Laravel Valet and PHPCS for Better Code Practices and the Editor. Following items were scattered, just curating them for future reference.

    If you are Mac user, you will need to install Homebrew & Laravel Valet, linking to official Docs.

    PHPCS and WPCS can be installed on any OS. Steps are almost same, Following are steps for Configuring PHPCS and WPCS for Mac and Windows.

    1. Installing PHPCS
    1.a Official Documentation

    1.b Installing via Composer
    composer global require "squizlabs/php_codesniffer=*"

    2. Verify phpcs version
    phpcs --version

    3. Check Installed Coding Standards
    phpcs -i

    4. Installing WordPress Coding Standards
    composer global require "wp-coding-standards/wpcs"

    5. Configure PHPCS to use WPCS
    phpcs --config-set installed_paths ~/.composer/vendor/wp-coding-standards/wpcs

    6. Using PHP CS with WordPress
    6.1 using WPCS on specific file – hello.php
    phpcs --standard=WordPress /path/to/hello.php

    6.2 using WPCS on specific Plugin / Theme
    phpcs --standard=WordPress /path/to/wp-content/themes/theme-name/

    7. PHPCS for Laravel Apps –
    7.1 Refer Official Document

    7.2 Install LaravelCS
    composer global require pragmarx/laravelcs

    8. Configuring PHPCS with Sublime – Official Doc

    8.1 Must have Sublime Package Controller
    https://packagecontrol.io/installation

    8.2 Install SublimeLinter then SublimeLinter-phpcs.

    8.3 Go to Linter Settings, Create User Config. Update your phpcs path in the following My GIST

    8.4 Restart Sublime, Before Testing phpcs code

    If you are on Windows, Point Number 5 becomes
    phpcs --config-set installed_paths C:/Users/abhishek/AppData/Roaming/Composer/vendor/wp-coding-standards/wpcs

    Make sure you update your system username. If you find any issue setting it up, feel free to Tweet me.