Skip to main content

· 4 min read
Himanshu Agarwal

Applications and systems rely on smooth communication and data sharing to deliver improved functionality and services in today's interconnected digital environment. Application Programming Interfaces (APIs) are quite important in this situation. APIs serve as mediators, enabling interoperability, data sharing, and communication between various software programmes. This article will provide you a thorough introduction to APIs and their importance in contemporary software development, whether you're a developer, a tech enthusiast, or just interested about the world of APIs.


APIs to a layman

Introduction to API

Application Programming Interface is referred to as API. It is a set of guidelines and protocols that specifies how various software components ought to communicate and share information.

  • APIs can be thought of as a contract that enables successful communication between two software entities.
  • APIs give programmers a standardised method of using the features of other software platforms, libraries, or systems.

Why are APIs Important?

APIs have revolutionized the way software is developed and integrated. Here are some key reasons why APIs are important:

By allowing various software systems to interact and cooperate, APIs enable developers to take advantage of already-existing functions and resources without having to start from scratch.

Types of APIs

APIs come in different types and formats, depending on the purpose and underlying technology. Here are some common types of APIs:

  • Web APIs: These APIs allow web-based services and applications to communicate with one another. The majority of the time, they are built on widely used web protocols like HTTP and REST (Representational State Transfer).

  • SOAP APIs: Based on XML (eXtensible Markup Language), SOAP (Simple Object Access Protocol) APIs offer a standardised method for applications to communicate structured information across a network.

  • JSON-RPC and XML-RPC: JSON (JavaScript Object Notation) or XML can be used as the data format for remote procedure calls when using the JSON-RPC or XML-RPC APIs. They're frequently employed for lightweight.

API Communication Styles:

  • RESTful APIs: REST (Representational State Transfer) is a popular architectural style for designing web APIs. RESTful APIs use standard HTTP methods such as GET, POST, PUT, and DELETE to perform operations on resources. They often return data in formats like JSON or XML.

  • GraphQL: GraphQL is an alternative to RESTful APIs that provides a more flexible and efficient approach to data retrieval. With GraphQL, clients can specify the exact data they need, reducing over-fetching and under-fetching of data.

  • Real-Time APIs: Real-time APIs use technologies like WebSockets to enable bidirectional communication between the client and the server. They are ideal for applications that require instant updates, such as chat applications or real-time collaboration tools.

Common APIs

  • Social media APIs: Websites like Facebook, Twitter, and Instagram offer APIs that let programmers incorporate social media features into their applications, such as updating statuses, retrieving user profiles, or engaging with social networks.

  • Payment Gateway APIs: Companies such as PayPal, Stripe, and Braintree provide APIs for handling online payments, allowing developers to include secure payment processing into their apps.

  • Mapping and Geolocation APIs: Maps, geolocation data, routing, and other location-based services are all made available by mapping and geolocation APIs, which developers can use to build apps with mapping features. Examples of these APIs include Google Maps and Mapbox.

Conclusion

APIs enable seamless integration, teamwork, and creativity, serving as the foundation for contemporary software development. For developers and organisations wishing to take use of the power of APIs to build strong and interconnected applications, understanding APIs and their many types, communication styles, authentication methods, documentation practises, and management systems is essential. So go ahead and discover the immense possibilities that APIs contain for your software applications by exploring their enormous world!

· 6 min read
Kunal Agrawal
Keval Waghate
Deexith Madas
Ananta Pandey

A robotic hand touching a speck of light

Google's PaLM 2: Revolutionizing Language Modeling with Multilingual Proficiency, Reasoning Abilities, and Coding Proficiency. 1

Discover the cutting-edge advancements in AI from Google as they unveil PaLM 2, their next-generation language model. PaLM 2 has undergone extensive training on multilingual text, enabling it to understand, generate, and translate nuanced language across more than 100 languages. With improved reasoning capabilities and proficiency in programming languages, PaLM 2 demonstrates its potential for logic, common sense reasoning, mathematics, and coding tasks.

An Example of Prompt to Med PaLM - A specialized PaLM Model

Google has already integrated PaLM 2 into over 25 products and features, empowering users worldwide with enhanced language generation, efficient workspace features, and productivity tools. Through the development of PaLM 2, Google continues to drive innovation in AI and deliver real-world benefits in areas like healthcare and creative endeavors.

Meta's AI breakthrough: Speech recognition for 1,000+ languages now open source, paving the way for language preservation and universal communication. 2

Meta's AI breakthrough empowers speech recognition in over 1,000 languages, a significant leap towards preserving endangered languages. The company is sharing these models as open source on GitHub, enabling developers to build inclusive speech applications for diverse languages. Existing speech recognition models cover a mere fraction of the world's 7,000 languages due to limited labeled training data. Meta overcame this challenge by retraining their AI model to learn speech patterns from audio, requiring minimal data. Their models can converse in over 1,000 languages and recognize more than 4,000, with half the error rate compared to rival models. While there are risks of mistranscription and biased words, Meta's advancements have far-reaching implications for language preservation and global communication.

AI Revolutionizes Antibiotic Discovery: Unveiling a Breakthrough Against Hospital Superbugs. 3

Scientists from McMaster University have utilised artificial intelligence (AI) to uncover a breakthrough antibiotic called abaucin, which shows promising potential in combating drug-resistant infections, particularly Acinetobacter baumannii. This bacterium poses a significant threat in hospitals and is known to cause severe conditions like pneumonia and meningitis.

The traditional methods of antibiotic discovery have proven challenging and time-consuming. However, AI algorithms allowed researchers to swiftly assess millions of molecules, leading to the identification of abaucin. Unlike broad-spectrum antibiotics, abaucin specifically targets A. baumannii, reducing the risk of drug resistance development and opening doors to more precise and effective treatments. This study underscores the immense potential of AI in revolutionising antibiotic discovery and providing hope in the fight against deadly hospital superbugs.

Unleash Your Creativity: Photoshop's AI Transforms Your Images with a Single Text Prompt. 4

A before & after image of dog after applying Generative Fill of Photoshop

Adobe has introduced a groundbreaking AI tool called Generative Fill in its Photoshop application, leveraging generative AI to add or remove objects from photos based on a simple text prompt. Acting as an "AI co-pilot," Adobe Firefly powers this feature, aiming to revolutionize the photo editing process. While enhancing user creativity, Adobe acknowledges the need to address concerns about potential misuse of the technology. The addition of Generative Fill is expected to usher in a new era of AI-driven creativity in the creative industries, providing extraordinary results and streamlining previously time-consuming tasks. Currently available in the beta version, a wider release of this transformative AI tool in Photoshop is on the horizon.

Safeguarding the Digital Frontier: Exploring the Reality of AI in Cybersecurity. 5

In the realm of cybersecurity, the long-awaited promise of artificial intelligence (AI) is becoming a reality. AI-driven capabilities have evolved from simple rule-based systems to sophisticated tools that leverage generative AI and contextualise vast amounts of data. This breakthrough empowers cybersecurity teams with game-changing speed and accuracy, providing them with a much-needed advantage in their ongoing battle against cybercriminals. With a skills shortage and data explosion posing challenges, matured AI capabilities address these obstacles by automating tasks, improving defence postures, and enabling precise actions.

By combining AI with automation, security teams can achieve reliable speed and enhance their ability to detect, investigate, and respond to threats. The integration of AI into threat detection and response technologies, such as IBM's QRadar Suite, amplifies the effectiveness of security operations centres (SOCs) and streamlines the incident lifecycle. With AI's assistance, SOC teams can prioritise real threats amidst the noise, accelerate investigation and response processes, and significantly enhance overall resilience and readiness in the cybersecurity industry.

Spotify's Potential AI Breakthrough: AI-Generated Podcast Ads. 6

In a recent podcast episode, Bill Simmons shared that Spotify is reportedly working on AI technology that would allow podcast hosts to create host-read ads without having to personally record them. This development could offer podcasters exciting opportunities, including the creation of geo-targeted and multilingual ads, while saving valuable time for content creation. Although Spotify has not officially confirmed these claims, their ongoing investment in AI technology, exemplified by the introduction of AI DJ, suggests the possibility.

The advent of AI-generated podcast ads would revolutionise the industry, offering podcasters a time-saving alternative and the potential to reach a broader audience. However, concerns regarding authenticity and the risk of misinformation should also be considered. The development of AI-generated podcast ads marks a significant milestone in podcasting, with the future implementation and audience response eagerly anticipated.

Chegg vs. ChatGPT: The Battle for AI-Powered Education Dominance. 7

Chegg, an online education company, and its encounter with the disruptive force of generative AI, particularly OpenAI's ChatGPT. Chegg's executives had previously considered the potential of AI to replace human instructors and reduce costs but underestimated the rapid pace at which consumers embraced tools like ChatGPT.

Initially, Chegg didn't view ChatGPT as a threat to its paid services. However, when OpenAI released GPT-4, students began opting for ChatGPT instead of Chegg's paid offerings, leading to a significant loss in subscriber growth and a decline in the company's market value.

Despite their efforts, Chegg's future remains uncertain, and the company's executives are focused on navigating the challenges posed by generative AI to stay relevant in the education industry.

· 6 min read
Nidhi Worah

Unlock the mystery of AI with this epic multi-part series, taking you on a journey from its humble beginnings to the present day. Join us as we explore different aspects of Artificial Intelligence in this entire series.

Artificial Intelligence (AI) is an exciting and rapidly growing field that has the potential to transform our world in countless ways. From self-driving cars to virtual personal assistants, AI has already made its way into many aspects of our daily lives, and its applications continue to expand.

Artificial Intelligence is composed of two words Artificial and Intelligence, where Artificial defines “man-made,” and intelligence defines “thinking power”, hence AI means “a man-made thinking power.”

Artificial Intelligence is a branch of computer science by which we can create intelligent machines which can behave like a human, think like humans, and able to make decisions.

But what exactly is AI, and how did it come to be? In this article, we’ll take a brief look at the history of AI and its evolution over time.

Early Concepts of AI

The idea of machines that could mimic human intelligence dates back centuries, with early examples including the ancient Greek myths of Talos, a giant bronze statue that could move and act on its own, and Pygmalion’s statue, which was brought to life by the goddess Aphrodite.

Figure 1 - Talos
Figure 1 — Talos by Adrienne Mayor

In the modern era, the concept of AI began to take shape in the mid-20th century. In 1950, computer scientist Alan Turing proposed the “Turing Test,” which is still used today to measure a machine’s ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human.

Early AI research focused on rule-based systems, in which machines were programmed to follow a set of explicit rules to solve problems. While these systems were effective for some tasks, they were limited by their inflexibility and inability to learn from experience.

AI has many sub-categories like Machine Learning and Deep Learning. People usually tend to use these terms interchangeably. Let’s look at these terms in brief -

Figure 2 - Sub-categories of AI
Figure 2 — By the Author — Types of Artificial Intelligence

The Rise of Machine Learning

In the 1980s, a new approach to AI emerged: Machine Learning. This approach involved designing algorithms that could learn from data, identify patterns, and make predictions based on that data.

Machine learning algorithms were initially used for simple tasks such as recognizing handwritten characters, but their applications quickly expanded to more complex problems, including speech recognition, image recognition, and natural language processing.

Deep Learning and Neural Networks

In the 2010s, a subfield of machine learning known as deep learning began to emerge, fueled by advances in computing power and data storage. Deep learning algorithms are modeled after the structure and function of the human brain, using artificial neural networks to simulate the behavior of neurons and synapses.

Deep learning has enabled breakthroughs in areas such as image and speech recognition and has led to the development of autonomous vehicles and other advanced technologies.

The Future of AI

As AI continues to advance, its potential applications are virtually limitless. From personalized healthcare to smart homes and cities, AI has the power to revolutionize nearly every aspect of our lives.

As Uncle Ben says, “With great power comes great responsibility.” AI systems become more sophisticated, it’s important to ensure that they are designed and deployed ethically and responsibly, with consideration for issues such as bias, privacy, and security.

Types of Artificial Intelligence

Figure 3 - Types of AI
Figure 3 — By the Author — Types of Artificial Intelligence

Artificial Intelligence — Type 1: Based on Capabilities

Narrow AI

  • Narrow AI is a type of AI that is able to perform a dedicated task with intelligence.
  • Narrow AI cannot perform beyond its field or limitations, as it is only trained for one specific task. Hence it is also termed weak AI. Narrow AI can fail in unpredictable ways if it goes beyond its limits.
  • Some Examples of Narrow AI are playing chess, purchasing suggestions on e-commerce sites, self-driving cars, speech recognition, and image recognition.

General AI

  • General AI is a type of intelligence that could perform any intellectual task with efficiency like a human.
  • The idea behind the general AI is to make such a system that could be smarter and think like a human on its own.
  • It is currently a hypothetical concept, and we don’t yet have any real-world examples of this type of AI.

Super AI

  • Super AI is a level of Intelligence of Systems at which machines could surpass human intelligence, and can perform any task better than humans with cognitive properties. It is an outcome of general AI.
  • Super AI is still a hypothetical concept of Artificial Intelligence. The development of such systems in real is still world changing task.

Artificial Intelligence — Type 2: Based on Functionality

Reactive Machines

  • Purely reactive machines are the most basic types of Artificial Intelligence.
  • Such AI systems do not store memories or past experiences for future actions.
  • These machines only focus on current scenarios and react to them as per the possible best action.
  • Examples: IBM’s Deep Blue system, Google’s AlphaGo

Limited Memory

  • Limited memory machines can store past experiences or some data for a short period of time.
  • These machines can use stored data for a limited time period only.
  • Self-driving cars are one of the best examples of Limited Memory systems. These cars can store the recent speed of nearby cars, the distance of other cars, the speed limit, and other information to navigate the road.

Theory Of Mind

  • Theory of Mind AI should understand human emotions, people, and beliefs, and be able to interact socially like humans.
  • This type of AI machine is still not developed, but researchers are making lots of efforts and improvements for developing such AI machines.

Self-Awareness

  • Self-awareness AI is the future of Artificial Intelligence. These machines will be super intelligent and will have their own consciousness, sentiments, and self-awareness.
  • These machines will be smarter than the human mind.
  • Self-Awareness AI does not exist in reality still and it is a hypothetical concept.

Conclusion

Artificial intelligence has come a long way since the early days of rule-based systems, and its evolution shows no signs of slowing down. With ongoing research and development, the potential applications of AI are vast and ever-expanding.

If you enjoy reading stories on similar topics then do follow the account. Let me know your thoughts below

· 5 min read
Kunal Agrawal
Keval Waghate
Deexith Madas
Ananta Pandey

A robotic hand touching a speck of light

Unlock the Power of BingAI: Experience the Future, Today! 1

Microsoft has made Bing AI accessible to the public, eliminating the waitlist requirement. Users can now try out the AI bot by signing in to Bing using their Microsoft account on the Edge browser. The latest update introduces several exciting features powered by OpenAI's technologies.

Also, Bing AI now supports rich "visual answers," displaying graphs, charts, and formatted content. The Bing Image Creator has been upgraded to support over 100 languages, enabling the generation of AI images based on text prompts and visual examples. Additionally, users can export and share chats, benefit from improved summarization capabilities for long documents, and enjoy actions within Edge for quicker access to relevant content. Microsoft is also developing third-party plug-ins to expand functionality within Bing Chat.

LinkedIn's Intelligent Assistance: Craft the Perfect Job Application 2

LinkedIn is reportedly testing an AI-powered feature that provides personalized writing suggestions for job seekers, aiming to help them create tailored job applications. The feature generates short cover letter-like messages using information from the user's profile, the hiring manager's profile, the job description, and the targeted company. While the AI-generated drafts serve as a starting point, LinkedIn emphasizes the importance of customization and encourages users to review and edit the suggestions to reflect their own voice and style.

This development builds upon LinkedIn's existing AI writing tool for profile creation. The adoption of AI in job application drafting reflects the growing interest in artificial intelligence, with its potential to enhance user experiences and improve outcomes in various industries, including recruitment and career development.

YOLO-NAS: Revolutionizing Object Detection with Unprecedented Precision 3

Deci AI, a deep learning firm, has unveiled YOLO-NAS, its latest deep learning model designed for real-time object detection with remarkable performance. Built on Deci's Neural Architecture Search Technology, AutoNAC™, YOLO-NAS outperforms other models like YOLOv6, YOLOv7, and YOLOv8, including the recently launched YOLOv8. AutoNAC democratizes Neural Architecture Search, enabling organizations to create customized, fast, accurate, and efficient deep learning models quickly.

YOLO-NAS delivers superior throughput, achieving 50% more throughput and 1 mAP higher accuracy compared to other YOLO models. It is pre-trained on popular datasets, making it suitable for various real-world applications. The open-source model is available with pre-trained weights for non-commercial research use on Deci's PyTorch-based computer vision training library called SuperGradients.

Introducing StarCoder: Free Code-Generating Assistant 4

Hugging Face and ServiceNow Research have jointly released StarCoder, a free code-generating model that offers an alternative to existing AI systems like GitHub's Copilot. StarCoder, part of the BigCode project, was trained on over 80 programming languages and integrates with Microsoft's Visual Studio Code editor. Unlike other commercial models, StarCoder is royalty-free and available for use by anyone, including corporations.

The project aims to develop state-of-the-art AI systems for code generation in an open and responsible manner. StarCoder's release comes amidst debates around the use of public source code and licensing agreements for training AI models, with efforts made to address privacy concerns and adhere to ethical best practices.

Geoffrey Hinton: AI's Threat Could Be 'More Urgent' Than Climate Change 5

In a recent interview, renowned AI pioneer Geoffrey Hinton expressed his concerns that the threat posed by artificial intelligence (AI) to humanity could be even more urgent than climate change. Hinton, often referred to as one of the "godfathers of AI," believes that the risks associated with AI technology are significant and warrant immediate attention. Having recently left Alphabet, Hinton intends to speak out about these risks without any constraints from his former employer. As the debate around AI's impact on society continues to unfold, Hinton's remarks highlight the need for careful consideration and proactive measures to ensure the responsible and ethical development and deployment of AI technologies.

Accelerating the Quest for New Metals: ML Offers a Promising Solution 6

Machine learning could help develop new types of metals with useful properties, such as resistance to extreme temperatures and rust, according to new research. This could be useful in a range of sectors—for example, metals that perform well at lower temperatures could improve spacecraft, while metals that resist corrosion could be used for boats and submarines. Usually they start off with one well-known element, like iron, which is cheap and malleable, and add one or two others to see the effect on the original material. It’s a laborious process of trial and error that inevitably yields more duds than useful results. Researchers from the Max Planck Institute managed to identify 17 promising new metals using this method.

Revolutionizing ML: Researchers Unveil a More Agile Approach 7

Artificial intelligence researchers have celebrated a string of successes with neural networks, computer programs that roughly mimic how our brains are organized. In 2020, two researchers at the MIT led a team that introduced a new kind of neural network based on real-life intelligence — but not our own. After a breakthrough last year, the novel networks may now be versatile enough to supplant their traditional counterparts for certain applications.

Liquid neural networks offer an elegant and compact alternative , said Ken Goldberg, a roboticist at the University of California, Berkeley. These networks can run faster and more accurately than other so-called continuous-time neural networks, which model systems that vary over time

· 6 min read
Nikita Shukla

Are you one of those engineers who are just engrossed in academics and is looking to do something more than that in your college days? Rotaract Club of TCET is one of the perfect choices to go for. I f you are searching to participate in something interesting where you can develop yourself and volunteer as well, you are at the correct place. To know more continue reading this blog.

‘Boldly Going: Rotaract Club of TCET '

RCTCET

"The purpose of life is to live it, to taste experience to the utmost, to reach out eagerly and without fear for newer and richer experience."

-Eleanor Roosevelt

Whether you're a musician, artist, athlete, writer, or simply someone who loves trying new things, Rotaract Club of TCET offers a welcoming and inclusive community where you can connect with like-minded individuals and pursue your passions. From workshops and classes to group outings and events, RCTCET provides a variety of opportunities for personal growth, skill development, and social interaction.

Types of Projects & Events conducted in RCTCET

1. Volunteering

Volunteering in community service related projects or events can help you gain practical experience while also contributing to your community.By volunteering, individuals can gain a deeper understanding of community needs and become more empathetic towards others.Community service volunteering activities are a valuable way to give back to the community and make a positive impact on society. They provide individuals with opportunities to engage in meaningful work, develop new skills, build relationships, and gain a sense of personal fulfillment.

Few volunteering events:

  • TechWorld
  • This is a flagship (activities which happens throughout the year) activity where we teach the underprivileged about electronic circuits and create awareness amongst them to pursue Engineering as a career, to mentor younger students for their bright future.
  • Emergency
  • The main aim of conduction of this event is to make our budding Engineers well aware how to perform CPR and give first aid to someone in need.
  • Beach Cleanup
  • Such events are conducted by keeping the welfare of the community and balance of ecosystem in mind. This could be possible only with the contribution of people who are genuinely interested in volunteering. Afterall,"If you concentrate on small, manageable steps you can cross unimaginable distances."

2. Space to Socialize

Joining clubs and organizations is a great way to meet people who share your interests such as sports, music, etc. It is an amazing platform to meet new people and develop bonding. Remember, socializing in college can be challenging at first, but it's important to step out of your comfort zone and take advantage of opportunities to meet new people. Be yourself, have fun, and enjoy the college experience! We have fun Club Service (Avenue) Events which promotes students to know each other irrespective of their branches and to have fun together releasing the academic exhaustion aside.

Examples of such socializing events:

  • Sunday Funday
  • Treasure Hunt
  • Movie Night
  • Badminton Tournament
  • Kick it!(Football Tournament)

3. Space to express creativity

Rotaract Club of TCET provides a cavity to students where they can express their artistic or literary talents. Members can explore different genres of writing, such as poetry, fiction, creative nonfiction, and screenwriting. They can also participate in writing prompts and exercises, which can help them generate new ideas and experiment with different writing styles. Students can showcase their work through public readings and publications. For our members possessing artistic talent, be it in the form of paper or digitalized form of art they can contribute by means of Digital Communication. They can learn, grow and experiment at the same time. For individuals who love to capture beautiful moments they can come forward and give their photography skills a boost. People who are good at branding they are welcomed as well where they can fully utilise their Social Media Marketing skills.

4. Development of Overall Personality

Participating in co-curricular activities can be extremely beneficial for your personal and professional development. Our club can help you learn about the business side of engineering and develop skills such as project management, leadership, and communication. We often organize events such as pitch competitions, guest speakers, and mentorship programs.

We conduct events wherein students learn how to develop Interpersonal Skills, they can participate in group activities, attend workshops and seminars on communication and collaboration, practice active listening, and seek feedback from peers and instructors. Building strong interpersonal skills takes time and effort, but it is a valuable investment for future success.

5. Last but not the least, it is a platform where you can create amazing memories!

RCevent

"Education is not just about academics. It's about building character, improving one's personality, and becoming a better human being."

- Sudha Murty

Joining RCTCET can create can create amazing memories for students. It is a complete new experience where you can participate in different kinds of fun events. Opportunities to travel together, whether it's a weekend camping trip or a day trip to a nearby city the experience is wonderful. Volunteering for a social cause develops a sense of responsibility in young individuals. Competing with your peers gives you confidence to do better than before. Sharing same interests with someone new helps you create memorable experiences. College days are something a student cherishes for life and it is grateful to have a platform as such.

To know more about us:

Visit our Official Website And do follow us @rc_tcet

Conclusion

Remember, co-curricular activities are meant to complement your academic studies. Make sure to balance your time and commitments so that you can excel both academically and personally. Don't be afraid to step out of your comfort zone and try something new. Joining a club as Rotaract Club of TCET can be a rewarding and fun experience that creates memories that last a lifetime. Moreover, social clubs can help promote social cohesion and strengthen community ties. They can offer a sense of belonging and provide a platform for individuals to come together and work towards common goals. In short, Rotaract Club of TCET can be a fun and enriching way to connect with others and build community. By joining this club, individuals can expand their horizons, create new friendships, and contribute to a more vibrant and inclusive society.

· 10 min read
Jayesh Potlabattini

Web designing (the HTML & CSS part, not the Figma Part) can be a real pain if we don’t understand the design system/rules/procedure it uses. Even after watching HTML and CSS tutorials, we can still struggle to design anything in web. But, after having a decent understanding of divisions into rows and columns and learning about display properties and positioning in detail, you we can have some confidence to turn any Figma design to HTML and CSS. This is not a tutorial on HTML & CSS but a comprehensive usage of them. By reading this blog, I hope you can get the confidence and create the Mental Model of Web Design in your Brain

This Blog also serves as a very precise summary of long web design bootcamp I took with **GenosisX Tech Community, watch here**

TL;DR: Create proper rows and columns for each block of design, put them into proper semantic tags or <div> tags. Use display flex or grid on them. Then style them properly with the fonts, colors, paddings, margins, borders, backgrounds. Position them properly with position property of CSS. Use responsive features of flex and grid. Done!

Prerequisite

  • Basic knowledge of HTML and CSS would help, but not necessary.
  • That’s It!

Guide to Divisions

Making proper divisions of design into rows and columns will help you style them better and will make it 100x easier to make them responsive. Let’s get into it.

Visualize Design

Visualize Design #1

Visualize Design #1

  • First think of the separate sections, in this case, there are two, a Header and a Hero section.
  • For every block of divisions, first think of sections as in one row or one column, then multiple columns or rows respectively.
  • Divisions
    • Here, the whole page is one column which has two rows, Navbar and Hero.
    • Then we clearly see, hero is divided into two columns, so hero itself is one row which has two different distinct columns.
    • You can try to dig further deep into each div visually.

So based upon the divisions, we can conclude the following code.

<body> <!-- First Column, whole page -->
<header></header> <!-- First Row, Header -->
<main> <!-- Second Row, Hero section -->
<section></section> <!-- First Column, Main Text Section-->
<section></section> <!-- Second Column, Main Image Section-->
</main>
</body>

Lets dig deep

Visualize Design #2

Visualize Design #2

  • Divisions - Header - a row
    • Img - Logo - First column
    • Navbar - Second column
    • Button - Third column
<body> <!-- First Column, whole page -->
<header><!-- First Row, Header -->
<img src="/.." /> <!-- First column -->
<nav>bunch of <a></a> Tags</nav> <!-- Second column -->
<button>Sign up</button> <!-- Second column -->
</header>
<main> <!-- Second Row, Hero section -->
<section></section> <!-- First Column, Main Text Section-->
<section></section> <!-- Second Column, Main Image Section-->
</main>
</body>

Use semantic tags wherever possible, they hold some meaning and are very important for SEO, read this article to learn more about them. https://www.pluralsight.com/guides/semantic-html

Visualize Design #3

Visualize Design #3

  • Divisions - Main - a row
    • First Column of Hero Section
      • H1 - Main text - First row
      • p - Description text - Second row
      • span - Third Row having two buttons
        • Button - First Column
        • Button - Second Column
    • Second Column of Hero Section
      • img - First Column
<body> <!-- First Column, whole page -->
<header><!-- First Row, Header -->
<img src="/.." /> <!-- First column -->
<nav>bunch of <a></a> Tags</nav> <!-- Second column -->
<button>Sign up</button> <!-- Second column -->
</header>
<main> <!-- Second Row, Hero section -->
<section> <!-- First Column, Main Text Section-->
<h1>Main text...</h1>
<p>Description text...</p>
<span>
<button>Get Started</button>
<button>Order Now</button>
</span>
</section>
<section> <!-- Second Column, Main Image Section-->
<img src="/.." />
</section>
</main>
</body>

Guide to Style them

Pat yourself if you reached till here, and understood everything above! Lets go ahead.

For the next part, I’ll use tailwindcss because it’s easier to explain with. If you know CSS, you basically know tailwindcss. Read this article for a quick introduction, I hope you come back here after reading this. https://tailwindcss.com/docs/utility-first

Step-by-Step Linear Process to Design Anything!

Remember, this is not a hard and fast rule to follow exactly as is. You can add you own flavours to this. Skip steps which are not required. I made this using my personal experience so add modify it if I missed anything.

  1. Write HTML, using the divisions approach
  2. Set background color
  3. Set display - flex (if any child tags)
  4. Set width - compulsory
  5. Set height - optional
  6. set overflow properties
  7. Set font → size, weight, line height, letter spacing,
  8. Set text colors → paddings → borders → margins
    1. Colors - normal, hover, active any states
    2. Borders - width/thickness , color, radius, style
  9. Set position (if want to move the element from its position)
    1. relative - move it from its current position
    2. absolute - move it from its first relative parent start point (top-0, left-0 of relative parent)
    3. fixed - move it from windows start point (top-0, left-0 of whole window)
  10. Set z-index - define stack, which element should be above which
  11. Anything else that suits your design

This is a linear process, which means you first style the first tag then the second tag then the third tag then the next tag then the next tag and so on!

<body> <!-- First style this #1 -->
<header><!-- then this #2 -->
<img src="/.." /> <!-- Then this #3 -->
<nav> <!-- Then this #4 -->
<a>..</a> <!-- Then this #5 -->
<a>..</a> <!-- Then this #6 -->
<a>..</a> <!-- Then this #7 -->
</nav> <!-- and so on till the last tag -->
<button>Sign up</button>
</header>
<main>
<section>
<h1>Main text...</h1>
<p>Description text...</p>
<span>
<button>Get Started</button>
<button>Order Now</button>
</span>
</section>
<section>
<img src="/.." />
</section>
</body>

Here comes the CSS

Web Design Bootcamp Design

Web Design Bootcamp Design

Take a quick look, and we will start with the linear process

Body - main page

We can see that the

  • background color is different
  • width is full screen
  • padding left and right i.e x-axis
<body class="bg-[#f3f3f3] w-[100vw] px-16 " > <!-- First Column, whole page -->
<header ><!-- First Row, Header -->
<img src="/.." /> <!-- First column -->
...

Here,

  • We see, everything is in one row, so set display as flex
  • width is full available space so 100%
  • img - logo
    • width of some pixels
  • navbar
    • width of fit content (automatic)
    • font weight is medium i.e 500
    • Color is gray for all but black for current one
  • button
    • background is orange
    • text is bold
    • longer padding in x-axis, shorted padding in y-axis
    • border radius full rounded
<body class="bg-[#f3f3f3] w-[100vw] px-20 " > <!-- First Column, whole page -->
<header class="flex w-full" ><!-- First Row, Header -->
<img class="w-20" src="/.." /> <!-- First column -->
<nav class="flex w-fit text-[#828282] font-medium" >
<a id="current" class="text-black" >Home</a>
<!-- if id="current" then class="text-black" add this login using javascript -->
<a>How it works</a>
...
</nav> <!-- Second column -->
<button class="bg-[#FF6F1E] w-fit text-white px-4 py-2 rounded-full" >Sign up</button> <!-- Second column -->
</header>
...

We won’t do the whole design, but this will give you enough idea on how we go about designing and how to follow the linear process which may seem overwhelming but is really easy to follow.

Responsiveness, how easy is it?

Desktop First Design Approach

  • First we design the desktop version of our web app
  • Then slowly add rules to make it responsive for tablets then mobile
  • Desktop → Tablet → Mobile
  • This is not recommended

Mobile First Design Approach

  • First we design the mobile version of our web app
  • Then slowly add rules to make it responsive for tablets then desktop
  • Mobile → Tablet → Desktop
  • This is most recommended and used by tailwindcss by default

No media query methods

  • Set max-widths and min-widths
  • Use display flex with flex-wrap, flex-grow, flex-shrink, flex-basis
  • Use display grid with grid-template-columns, repeat - autofit, minmax
  • You can much deeper with maths to avoid media queries but I feel that much is unnecessary.
  • Using some media queries to avoid extreme complexity is always a good idea

A good example of minimum media queries

****The prefix lg: is how we use media queries in tailwindcss, refer this* https://tailwindcss.com/docs/responsive-design

<main class="flex flex-wrap text-lg lg:text-xl m-5 lg:m-10" > <!-- Second Row, Hero section --> 
<section class="max-w-lg" > <!-- First Column, Main Text Section-->
...
</section>
<section class="max-w-lg" > <!-- Second Column, Main Image Section-->
...
</section>
</main>

Get Creative with Positioning

When we want to move some elements from their original position to something else, we use position property.

CSS Positions

  • Static
    • Default value
    • Original position, cannot change it.
  • Relative
    • Set explicitly
    • Can change position from original using properties - top, left, bottom, right
    • Moves towards the specified direction from its current position.
  • Absolute
    • Set explicitly
    • Can change position from original using properties - top, left, bottom, right
    • Move towards the specified direction from the first relative parents start coordinates.
  • Fixed
    • Set explicitly
    • Can change position from original using properties - top, left, bottom, right
    • Move towards the specified direction from the coordinates of window (browser tab) itself
    • Does not move on scroll, stays fixed.

This article by MDN teaches all positionings perfectly. https://developer.mozilla.org/en-US/docs/Web/CSS/position

An example of positioning

Lets look at the image which has blocks of elements floating above it.

Pizza Design

  • So the concept is we wrap the image in one div
  • This div will be set to position: relative
  • This div will contain image tag and other elements of those floating blocks
  • Don’t change image tag position
  • Change position: absolute of all floating elements
  • Then set them to their places via top, left, right, bottom
<section class="relative" > <!-- Second Column, Main Image Section-->
<img class="w-24 h-40" src="/.." />
<div class="absolute top-[30%] right-[-10%]" >...</div>
<div class="absolute top-[50%] left-[-10%]" >...</div>
<div class="absolute bottom-[-15%] right-[12%]" >...</div>
</section>

Conclusion

  • Make proper divisions while writing the whole HTML. Visualize and then create rows and columns.
  • Write whole HTML of one section then style the whole section using the step by step linear process.
  • Position properly and most of it depends on the parents element position property, so make sure you set those correct.
  • Learn flex, grid and positions of CSS very thoroughly.
  • Learn tailwindcss because it will make your life easier, trust me on this.

· 5 min read
Mahima Churi
As technology continues to evolve, web development has become an increasingly important field, and front-end frameworks such as ReactJS have emerged as crucial tools for building dynamic, user-friendly websites. Whether you are just starting out with web development or are looking to enhance your existing skills, I hope that you will find valuable insights and tips within these pages. So sit back, grab a cup of coffee, and join me on our journey through the exciting world of ReactJS!

“Design is not just what it looks like and feels like. Design is how it works.” — Steve Jobs
“Design is not just what it looks like and feels like. Design is how it works.” — Steve Jobs

What is React JS?

React JS is nothing but a java script library that helps the developers in creating reusable UI components there by increasing the efficiency of code. When making dynamic websites React JS is proven to be more effective than Vanilla JS, and hence it has become a popular choice for building fast and scalable single-page applications. In simple terms, ReactJS helps make web development more efficient, organized, and dynamic.

Characteristic Features of React JS that makes it more versatile and Popular

Features of ReactJS
Features of ReactJS

1. Virtual DOM

In traditional web development, when changes are made to a web page, the entire page needs to be re-rendered, which can be slow and time-consuming. The Virtual DOM solves this issue by creating a virtual representation of the web page in memory so when changes are made, ReactJS updates the virtual DOM instead of the actual page, which is much faster. Then, ReactJS compares the virtual DOM to the actual page and updates only the parts that have changed, rather than the entire page. This makes the updates and rendering process much faster and more efficient, improving the overall user experience of the web application.

2. Reusable Components

ReactJS uses a component-based architecture, which means that the user interface is built using reusable components. Each component is a self-contained unit that handles a specific task or displays a specific piece of information, we can say that each components are independent. This makes the code more organized and easier to maintain, as well as reducing the amount of redundant code.

3. Community

React has a vast and supportive community of developers who are constantly contributing new features and tools. React is open-source, meaning that anyone can contribute to the development of the library by fixing bugs, adding new features, or improving existing ones.

Link to contribute to the React Library

4. JSX

JSX stands for JavaScript XML. It is a syntax extension for JavaScript used by ReactJS that allows developers to write HTML-like code within their JavaScript. This makes it easier for users to write and understand the code, as it closely resembles the structure of HTML. This helps to improve the overall development experience by making the code more intuitive and easier to read.

For example, instead of writing the following code in pure JavaScript to render a simple button:

React.createElement("button", {className: "myButton"}, "Click Me!");

The same code can be written in JSX as:

<button className="myButton">Click Me!</button>; 

5. Server-side Rendering

Server-side rendering (SSR) is the process of rendering a web page on the server before sending it to the browser. In the case of React, this means that the React components can be rendered on the server, allowing the browser to receive a fully rendered HTML page, instead of having to wait for JavaScript to execute and render the page on the client side again and again.

This results in faster initial load times, as the browser doesn’t have to wait for the JavaScript to execute and render the page. Additionally, server-side rendering can improve Search Engine Optimization (SEO), as search engines can better index and understand the content of the page.

6. Compatibility

React’s simplicity and straightforward design makes it easy for developers to learn and adopt and it works seamlessly with other libraries and frameworks, such as Redux, allowing developers to create complex and scalable web applications.

Comaprison with other Frontend Frameworks

Popular Web Frameworks
Comparison with other frameworks as per the recent survey

Source: Stack Overflow Developer Survey 2021

From the above survey it can be clearly seen that React JS was named as one on the most commonly used web Framework.

React’s virtual DOM provides fast updates and rendering compared to traditional DOM manipulation. Angular and Vue also have optimized updates, but they may not be as fast as React’s virtual DOM.

Also, React is known for its simplicity and minimalistic approach, making it relatively easy to learn and get started with. Angular, on the other hand, has a steeper learning curve due to its more complex architecture. Vue falls somewhere in between, offering a more accessible learning experience as compared to Angular.

info

You can see more detailed insights of React JS on their Official Website

Conclusion

In conclusion, React is the future of web development, offering a robust set of features and tools that make it easy to build high-performing, scalable, and maintainable web applications. Its simplicity, performance, and compatibility with other technologies make it an excellent choice for modern web development.

· 6 min read
Himanshu Agarwal
Mahima Churi

This Blog talks about the emerging trends in Cloud computing, and also gives a gist about the term Cloud Computing and its impact in leveraging businesses and individuals. The cloud has the ability to streamline and improve a variety of processes. From understanding the meaning of cloud computing model to discussing various characteristics, this blog will be your one-stop-shop for all things cloud computing. So, fasten your seatbelts and let's dive into the exciting world of the cloud together!!


What is Cloud Computing ?

Cloud computing is a way of using current technology where we can access and use internet-based services and storage to manage, process, and store data and information, instead of having to have it all on your own personal device or computer.

We can think of it like having access to a giant computer in the sky that we can use to do our work, store our files, and run our applications, without having to worry about the technical details or maintenance of the underlying hardware and software. This makes it easier and more convenient for us to access our data and resources from anywhere in the world, as long as we have an internet connection.

Let's take a look at some intriguing features of Cloud Computing!!


🛠️ On-Demand Self-Service

With cloud computing, we can provision computing services, like server time and network storage, automatically. No communication with the service provider will be necessary. Customers of cloud services can view their cloud services, track their usage, and provision and de-provision services by logging into their cloud accounts through a web self-service portal.

💻 Broad Network Access

Broad network connectivity is another crucial aspect of cloud computing. Through a network and on portable devices like smartphones, tablets, laptops, and desktop PCs, we can access cloud services. A private cloud employs a local area network, whereas a public cloud uses the internet. Broad network access and cloud computing both rely heavily on latency and bandwidth since they have an impact on service quality.

📝 Resource Pooling

With resource pooling, multiple customers can share physical resources using a multi-tenant model. Based on demand, this model distributes and redistributes real and virtual resources. Customers can share the same applications or infrastructure with multi-tenancy while still retaining their privacy and security. Customers may be able to designate the location of their resources at a higher level of abstraction, such as a country, state, or data centre, even though they won't know the precise location of their resources. Customers can pool a variety of resources, including memory, computing power, and bandwidth.

🔗 Rapid Elasticity

Cloud services can be elastically provisioned and released, sometimes automatically, so customers can scale quickly based on demand, thus making it highly scalable. The capabilities available for provisioning are practically unlimited. Customers can use these features whenever they want and in whatever amount. Customers can scale cloud capacity, cost, and usage without incurring additional contracts or charges. We won't need to acquire computer hardware thanks to quick elasticity.

⚙️ Measured Service

A metering capability in cloud systems optimises resource utilisation at an abstraction level appropriate for the type of service. For storage, processing, bandwidth, and users, for instance, we can utilise a metered service. A pay-for-what-you-use model is used to base payments on the customer's actual consumption. Consumers and service providers benefit from a transparent experience that is created by monitoring, managing, and reporting resource use.

Lets have a look at some of the most used Cloud Storage Services


Most Used Cloud Storage Services
Most used Cloud Storage Services

Google Drive is by far the most popular cloud storage service in the world, with an use rate of 94.44 percent. The finest cloud storage for collaboration, Dropbox, is in second position with a still-impressive 66.2 percent, followed by OneDrive (39.35 percent) and iCloud (38.89 percent). Additionally popular cloud storage providers include MEGA (5.09 percent), Box (4.17 percent), and pCloud (1.39%), all of which made our list of the top cloud storage services.

Statistics on Cloud Service Providers


Stats on Cloud Service Providers
Stats on Cloud Service Providers

AWS still holds over a third of the cloud services market:

  • In Q2 2022, AWS commanded 34% of the cloud market, a 1% increase year-over-year. Azure is second with 21% of the market, followed by Google Cloud (10%), Alibaba (5%), and IBM (4%).
  • Amazon's revenue from AWS grew from 5.62 in 2014 to 13.24% in 2021.
  • The survey also showed the cloud market continues to grow 34% year-over-year.
FunFact

It took Netflix seven years to migrate to AWS

Some drawbacks to have a look upon


Drawbacks of Cloud Computing
Drawbacks of Cloud Computing

According to cybersecurity experts, the most pressing cloud security challenges are misconfiguration of the cloud infrastructure (68 percent); unauthorized access (58 percent); insecure API (52 percent); accounts, services or traffic hijacking (50 percent) and external data sharing (43 percent).

info

If you are interested in finding out more about cloud security, we have an excellent article detailing cloud security measures for cloud storage services.

Conclusion

  • In conclusion, cloud computing has become an increasingly popular and indispensable tool for businesses and organizations of all sizes. With its ability to provide on-demand access to a wide range of computing resources, including storage, computing power, and applications, it has transformed the way organizations operate and has unlocked new opportunities for innovation and growth.
  • The cloud offers many benefits, including cost savings, scalability, increased efficiency, and improved security. As more and more businesses adopt cloud computing, it is likely that this trend will continue to grow, driving further innovation and enabling organizations to do more with less.
  • However, while the benefits of cloud computing are clear, there are also challenges that must be addressed, such as ensuring data security, managing vendor lock-in, and ensuring reliable performance.
  • Despite these challenges, the future of cloud computing looks bright, with advancements in areas such as artificial intelligence, machine learning, and the Internet of Things set to further drive its growth and revolutionize the way businesses operate.

In short, cloud computing is here to stay, and its impact on the business world will only continue to grow in the years to come.

· 4 min read
Vishal Rawat

Project management is a wild way to make sure things are progressing as they should. There is a project management technique for everything. Well, almost everything. I haven't found a project managing concept to overcome my feelings of procrastination. Someone might create it one day.

What really is Open Source?

If you're the engineering type of person that tackles humanity's problems and urgent needs by bringing together an entire community and building a "project" with them, you'll want to know about Open source. Open source refers to a philosophy of software development that emphasizes collaboration, transparency, and community-driven innovation.

Here it is again in bigger letters, for impact:

Open source refers to a philosophy of software development that emphasizes collaboration, transparency, and community-driven innovation.

And now you know what open source is. In theory, this blog post could be done!


Beyond the marketing standpoint

Technology is a concept which is ever-changing in how it is defined, its magnitude and how we as engineers develop it. In the world of technology we always find "buzz words" which reflect the recent advancements which are so efficient that they are slowly brought within the industry as a standard way of working on projects, as a team.

One such "buzz word" in the area of software development and project management is open source. Open source is a way of working on a software typically developed in a public, collaborative manner, with the source code made freely available to anyone who wants to use, modify, or distribute it. The term "open source" was coined in 1998 by a group of people in the software industry who wanted to create a new model of software development that was more collaborative and community-driven.

Open source software is often developed and maintained by a community of volunteers and contributors, who work together to improve the software and fix bugs. Consider your homework: a dry document which contains things here and there which you know is very incomplete. If you have a good enough personality (which I don't), you send this document to all your classmates who start doing bits of your homework.

The result? A fine specimen of a document which the entire class can show to your teachers for great marks! What you just did here was open sourcing your homework and let your student community work on it to create a more appealing document which is now complete.

But open source doesn't stop there

Imagine your homework to be your project, your classmates to be your community. This community observes your project and suggests various improvements within it. Be it suggesting simple changes of changing the fonts or re-working the already existing complex APIs and queries.

Example of suggestions
A simple conversation between a contributor and a project developer

Another way to look at open source can be building the big Lego City together, block by block. Everyone can add their own pieces to what has been constructed so far and everyone can see how the city is made. In this way, everyone can make the city better and use it how they want.

Software Engineers
Budding software engineers collaborating to build their project

Open source is a great way to bring like-minded developers together. Everybody around you, be a fresher student or an industry experienced individual, has had to encounter with open source technologies without even realizing it. From something we daily use like Android to Linux: the operating system used by many corporates and tech giants, there's no saying what the next big thing will be.

Open Source
Python, Dart, React, MongoDB, even this text box is open source

That's about the gist of what I wished to express regarding open source. Surely that's not everything but I do look forward to go in-depth into this topic and talk about various different things which excite me! Do look forward to upcoming blogposts and reach me out for any constructive criticism, if any, for the future blogposts.

· 4 min read
Gaurang Vishwakarma
Vishal Rawat

Welcome to our first blog

Welcome everyone to TCET Open Source's Blog Section. Here, we promote blogging in the student community. Talk about ongoing trends in tech, student life at TCET, and any topic you feel would feel great for this blog.

note

This particular blog will have recurring adjustments.

General Blog Guidlines

Here we define all the basic guidlines a blog should follow in TCET Open Source Blogs.

Clone the project

For being able to contribute anywhere, one must be able to clone and run projects. You can visit this tutorial to learn how to work on this project.

Basic GitHub commands

For any contributor it is very necessary to understand basic GitHub commands to begin with. There is a resources forum on TCET - Open Source Discord server where you can find relevant references for the same. There can also be a blog post regarding these commands in the future!

Understand file structure

Once you have cloned the project in your local storage, you will need to perform the following:

  1. Open the project directory and navigate to blog/.
  2. Create a folder for your blog post.
  • The folder should have the following name format:
yyyy-mm-dd-blog-title
  • Here, the date stands for the date when the post is supposed to be released. The blog title should be relevant to the content within the post.
  1. Within the folder, create index.md. This file will serve as a text document where you can format your content which will reflect in the final post.

Understand markdown files and syntax

Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. The index.md file created in your blog folder is a markdown file, similar to how index.html can be an HTML file. It is very essential for a blog contributor to understand the basic syntax of markdown. Resource forum in our Discord server covers basic syntax of these files.

First steps

Before moving any further, a blogger must know the following:

  • slug - It is the last part of the URL address that serves as a unique identifier of the blog post.
  • title - The main title of the blog post. Note that the blog title should be relevant to the content within the post.
  • authors - The list of authors who have worked on the blog post. Look below to understand how to add authors.
  • tags - It highlights the key words of the post to boost it's visibility on the internet and improve the SEO.

These four information are necessary to be present in every post. Without these, no posts will be approved and merged within the blog.

Mention Authors

Authors can be added in two ways.

  • Internally in index.md (recommended, for outside organization contributors)
  • In the authors.yml file. (TCET Open Source Members only)

If you are not a member of the organization, you can simply append your author(s) in the following way:

authors:
- name: Name of Author 1
title: Designation, Post or About
url: https://github.com/author1
image_url: https://github.com/author1.png
- name: Name of Author 2
title: Designation, Post or About
url: https://github.com/author1
image_url: https://github.com/author2.png

Important things to take note of:

  • url: can also be an authors' personal website or portfolio.
  • image_url: requires a user to have a profile pic on their Github Account. We recommend to append a Github Profile Icon.

Adding images

Tired of good ol' textbook nerdy look on your post? Introducing: images. Images are a great way to keep the reader's attention to your posts, and now you can do that very easily:

  1. The image must be present within your blog folder. If it isn't, save the image in your blog folder.
  2. To add the image within your post, use the following syntax:
![Alt text](image.png)
  • Here, image.png stands for the name of the image you have in the blog directory. Markdown supports a great amount of image formats, ranging from png, jpg, svg, and even gifs.
WONDERING

Is gif pronounced gif or jif? Something to ponder upon.

Congratulations

Following these steps and points, you will be able to create a beautiful blog post. It's final structure would look something like this:

Alt text

With a fresh blog post ready, you can now finally create a pull request to reflect your post on our blog here!

Looking forward to new content from you all. Have fun and go contribute something great!