Category Archives: #CS

Concrete Skills

This pattern starts off with a strong quote by Pele McBreen by saying, “Having knowledge is not the same as having the skill and practical ability to apply that knowledge to create software applications. This is where craftsmanship comes in”. I agree 100% to this quote. Until I was a junior, I had no idea where to apply my coding skills I learned this far from classes such as cs140, cs101, cs242 or any computer science classes. Then I decided to think of some side projects I can do, or I can try to do, and the first thought was a discord bot. I did create a discord bot for a group of mobile gamers using java. The bot basically returned how much time is left for a game tournament, and the bot also greeted every new members that came to the group. This was a fun project, but it was not enough for me, so I decided to focus on a project which I can keep on building overtime. Something to enhanced my both frontend and backend skill, so in order to do that I made my own simple static website with the custom domain name of Now my primary goal is to add more content to my website while also showing my skills at the same time.

As for the pattern, it felt like what I need to read at the moment as I am applying for jobs, intern, or any contract jobs. The context is to get a hold of a talented team of craftsmen who can provide me with a better learning opportunities than I currently have. The problem is that no team or company want to hire someone who can slow them down or even can be any help to them at all. The solution is to acquire some concrete skills that would get me past the crude HR filters and managers. Some concrete skills examples can be writing build files which many open source frameworks such as Vue.js that we are using for our capstone project.

The best knowledge I got from this pattern is from the Action section, which basically said to get the CV from the people whose skills I respect. Locate their skills and identify which can be immediately useful on the type of team I want to join. Plan a project based on that skill and implement it.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.

Expose your ignorance

This week, I chose to write on the pattern “Expose your ignorance.” This pattern describes how a company pays you to work as a software developer and expects you to know what you’re doing. The issue is that you are inexperienced with some essential technologies, and the manager and staff require assurance that you will be able to deliver the software on time. Everyone around you, including your management, client, and coworkers, as well as yourself, is under a lot of pressure to provide software. When individuals ask how long feature X will take you to complete, you can sense their demand for assurance in their eyes. Asking questions is the most obvious method to reveal your ignorance. This is easier said than done, especially when the person asking assumes you already know the answer.

This pattern, in my opinion, is critical for anyone who wants to or is now working as a software developer. At first, I assumed that becoming a software developer was all about learning which programming languages and which ones are the best.
But, in the end, it’s all about how quickly you can solve the problem and provide the finished software. I liked how this pattern encourages people to ask questions even if it means sacrificing their pride and dignity, and I believe it is the most significant thing I learned from it. One of the most significant skills a craftsman can have is the ability to learn new things, identify areas of ignorance, and seek to eliminate them. Ignorance, like dry areas in a garden, can be reduced by planting seeds of knowledge. Experiment, practice, and reading will help you water your seeds. You can choose to hide these bare patches from the light, embarrassed by their size, covering them to keep your pride intact. Or you can decide to expose them, being honest with yourself and the people who are depending on you, and asking for help. I really liked this pattern as it says to get rid of your ignorance or find your ignorance even if it means to sacrifice your pride. It is all about having the ability to learn new things from others and asking for their help in need. By the end, you will have in depth knowledge of a few threads of technology. With these threads, you can weave together robust software applications on a few platforms and domains.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.

Apprenticeship Patterns Chapter 1 and introduction of 2-6 chapters

Chapter 1 apprenticeship pattern was an interesting chapter to read. I really liked Dave’s story because it felt similar to mine, especially when he said “I ended up truly feeling like a dummy, and gave up because everything seemed so difficult”. Also, I really liked the definition of what it means to be an apprentice by Marten Gustafson, he said that it means having the attitude that there is always a better/smarter/faster way to do what I just did and what I am currently doing. As everything is evolving in our world, if we look at 2000 and now, the difference is huge, and the same thing people did in 2000 it’s done better and smarter way. Apprenticeship is the state or process of evolving. Apprenticeship pattern means to offer a guidance to someone who is currently working with the crafts model on the ways in which they can improve the progress of their career. Overall in chapter 1, I really liked the way the author put the other people’s thoughts on what it means to be an apprentice, the definition, and the apprenticeship pattern.

On to the other chapters’ introduction, chapter 2’s introduction was an odd reading because I was clueless about what was happening and what was coming in next but the meaning behind the emptying your cup was really deep and meaningful which was to get rid of your price and bad habits to open yourself to more experienced colleagues. I learned 1 thing from chapter 3’s introduction, and it is that there will always be someone better than you, and there is no limit to the knowledge we can acquire. Chapter 4 introduction is nothing new because I think everyone knows that the goal is to be better than yesterday’s you. Chapter 5, I really liked the information provided at the end of the introduction. Reflect as I work, which leans to recording and sharing, then I need to learn how I failed. Chapter 6 introduction is all about constructing my own curriculum and which I think is one of the most important thing if we want to make progress in our career.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.


Hi guys, I am Sandesh Gurung and this is my introductory blog post for CS-448.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.

API calls

We know api but how are they called?

The Uniform Resource Identifier (URI) of the server or external software whose data you desire is the first thing you need to know when making an API request.
This is essentially a digital version of a street address.
You won’t know where to send your request if you don’t have this. For example, the HubSpot API’s URI is It’s worth noting that most APIs have several endpoints, each with its own set of end routes. Consider the case when you want to stream public tweets in real time. Then you could utilize the filtered stream endpoint on Twitter. The base path is, which is shared by all endpoints.
/2/tweets/search/stream is the filtered stream endpoint. You can either add that to the end of the base path, or just list the endpoint in your request.

Add an http verb

Once you’ve got the URI, you’ll need to figure out how to make the request. The first thing you must include is a verb that expresses a request. The following are the four most fundamental request verbs: To retrieve a resource, use the GET command. To make a new resource, use the POST command. To alter or update an existing resource, use the PUT command. TO DELETE A RESOURCE, USE THE DELETE KEY. Let’s say you want to see a list of the nearest alternative fuel stations in Denver, Colorado, and you use NREL’s Alternative Fuel Station API. Then you’d make a GET request that looked something like this:


This instructs the server to look for a list of alternative fuel stations in Denver in the database. If that list exists, the server will return an XML or JSON copy of the resource along with a 200 HTTP response code (OK). If that list doesn’t, then it will send back the HTTP response code 404 (not found).

Test API calls

Making API calls to various endpoints, receiving responses, and validating the status codes, response times, and data in those answers are all part of API testing. ReqBin, for example, is a software tool or web service that does this type of testing. Although the processes are similar, they will differ depending on whatever tool or service you use. The steps for utilizing ReqBin to test an API are listed below. Enter the URL of the API endpoint. Select the appropriate HTTP method like GET POST etc., Enter your credentials in the Authorization tab, Click Send to submit your API request.

Why this topic?

I chose this topic since it was the subject of a school assignment.
I followed the directions in the readme file you provided, but I wanted to learn more about why we use the GET method and why we use the POST method in which situations.
Overall, this topic piqued my interest, and I believe it is critical knowledge for all students aspiring to be software developers.


From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.

Two sides of web development coin


A front-end developer takes the mockup of a website that a web designer has made and converts it into a functioning web solution that users can interact with. To do this, the developer divides the mockup into individual web components, such as buttons, sliders, photos, menus, forms, and so on, and then uses JavaScript to give these pieces specific behavior. Frontend developers achieve this split into discrete web page components using a variety of methods, with HTML: A Web Page’s Skeleton. Hypertext Markup Language is the abbreviation for HTML. It offers the framework for a website. To give a web page a certain structure, HTML includes several element identifiers called tags. Every web element has its own tag and place on the page. CSS: The flesh and blood of the web page. CSS is a technology that enables frontend developers to describe the style of each web page component using certain properties organized into rules. JavaScript is the most popular. This is one distinction between a front-end and back-end developer, each of whom works with a separate technological stack.


The engine of a website is the back end. On a site with simply a front end, click the Submit button under a form. Nothing is going to happen. Your website won’t be able to add new users or dynamically update content. The back end of a website comprises three important components. A database is a collection of data tables that are linked. Backend developers use a variety of database management systems (DBMS) to handle databases (Database Management Systems). MySQL and Oracle are two examples. The database is stored on a server, which is a computer. A web server is a particular program that operates on a physical server that sends data from a database and receives requests from a website. Apache HTTP Server is one example. The primary goal of a backend developer is to guarantee that the data flow is seamless and error free.


Web development is a multi-faceted process with a lot of activity components. While web developers have a variety of responsibilities, we may divide them into two groups. Frontend developers are in charge of the user-facing aspect of a web application. Backend developers, on the other hand, work with the hidden component of the system, which includes a database and a server. These two large teams collaborate to build aesthetically appealing and engaging websites and online apps.

Why this topic?

In my mind, the distinction between frontend and backend was hazy. I was aware of them, but I had the impression that if someone asked me what the difference between frontend and backend was, I would be unable to respond. So far, the best way to explain the distinction between frontend and backend is to use an automobile as an example. The frontend of an automobile should be created and shaped attractively, but without the engine, the car is meaningless. The engine, on the other hand, is the backend that brings all of the beautiful designs and colors to life on the road.


From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.


What is it?

MongoDB is an open-source database with a document-oriented data format and a non-structured query language. MongoDB Atlas is a globally accessible cloud database solution for modern applications. This best-in-class automation and well-established procedures enable completely managed MongoDB deployments on AWS, Google Cloud, and Azure. It also guarantees availability, scalability, and adherence to the most strict data security and privacy standards. MongoDB Cloud is a unified data platform that comprises a global cloud database, search, data lake, mobile, and application services, as well as a global cloud database.

Is MongoDB a SQL?

No. It is not. It is one of the most powerful NoSQL databases and systems available today. Because it is a NoSQL tool, it does not employ the traditional rows and columns associated with relational database administration. It is a collection-based and document-based architecture. A collection of key-value pairs is the basic unit of data in this database. It provides for varied fields and formats in documents. This database stores documents in the BSON format, which is a binary version of JSON.


Dwight Merriman, Eliot Horowitz, and Kevin Ryan found MongoDB in 2007. They decided to create a database to solve the difficulties of scalability and agility that they were seeing at DoubleClick. That’s when MongoDB came into existence. In 2009, the company made the move to open-source development, with commercial support and extra services offered. In 2013, the company’s name was changed to MongoDB Inc. from 10gen. It went public on NASDAQ as MDB on October 20, 2017, with an initial public offering (IPO) price of $24 per share. On October 30, 2019, it announced cooperation with Alibaba Cloud to deliver a MongoDB-as-a-Service solution to its clients. BABA’s managed services are available from any of the company’s data centers across the world.

Advantages of using MongoDB

MongoDB may be operated across globally scattered data centers and cloud regions, offering unprecedented levels of availability and scalability. Fast and Iterative Development: Your company’s project delivery will no longer be hampered by changing business needs. Developers can quickly design and update applications thanks to a flexible data format with changeable schema and powerful GUI and command-line tools. MongoDB’s versatile data model stores data in JSON-like documents, making data storage and combining simple. The document model is mapped to the objects in your application code, making data manipulation simple.

Why did I pick MongoDB?

I chose to study more about MongoDB after seeing a lot of MongoDB terminology in our class activities and homework assignment. I knew it was a No SQL database that used the JSON format, but I didn’t know much else. I learned about MongoDB’s history, including how it was formed, when it was created, who built it, and why it was created. I also studied how MongoDB differs from other databases like MySQL, Cassandra, and RDBMS. The advantages of using MongoDB were the most that impressed me.


From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.

Software Frameworks

What are they?

A software framework is a structural or conceptual platform that allows developers and users to selectively specialize or override common code with generic capabilities. Frameworks are libraries that have a well-defined application program interface (API) that may be used anywhere in the product being developed. Software frameworks are adaptable, resilient, and efficient because they are frequently designed, tested, and optimized by numerous skilled software engineers and programmers. Developing apps with a software framework allows you to concentrate on the application’s high-level functionality. This is because the framework handles all of the low-level functions.

Top Frameworks


Angular is an HTML and TypeScript-based platform and framework for creating single-page client applications. TypeScript is used to write Angular. As a set of TypeScript libraries that you load into your apps, it implements core and optional functionality. An Angular application’s architecture is based on a few key ideas. The Angular framework’s fundamental building pieces are Angular components, which are arranged into NgModules. NgModules are functional groupings of linked code; an Angular application is defined by a set of NgModules. An application must include at least one root module to facilitate bootstrapping, and many more feature modules are common. Some popular website that used Angular are Netflix, Youtube, Django etc

Apache Spark

Apache Spark is a large-scale data processing engine with a unified analytics engine. Using Apache Spark, you can easily create apps in Java, Scala, Python, R, and SQL. Apache Spark can handle data from Hadoop Distributed File System (HDFS), NoSQL databases, and relational data stores like Apache Hive. Spark can do in-memory processing to improve the efficiency of big data analytics applications, but it can also perform traditional disk-based processing when data sets are too huge to fit into system memory. Some top companies that used Apache Spark are Amazon, Microsoft, Oracle, Visa wtc


Torch is an open-source machine learning tool based on the computer language Lua, while PyTorch is a Python machine learning package based on Torch. PyTorch, which was created by Facebook’s AI research lab, may be used with both Python and C++. PyTorch is a programming language that is used for computer vision and natural language processing (NLP). The following are some examples of popular websites built with PyTorch: Comcast, Exelon, Trifo, Quadient etc

Why this topic?

I’ve been hearing about frameworks for a long and have even had talks about them while not understanding anything about them. I learned what frameworks are, how they function, and which frameworks are most commonly utilized by well-known firms. I’ve also learned that as a developer, it’s important to understand what frameworks or programming languages I will need to create the application I desire.


From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.


What is vs What isn’t

Docker is an infrastructure manager for Linux Containers. Docker is an excellent image distribution strategy for server templates created with configuration management systems like as Chef, Puppet, SaltStack, and others. Docker is not a replacement for Configuration Managers such as Chef, Puppet, SaltStack, and others. Docker offers a single store of public and private disk images that may be used to run a variety of operating systems (Ubuntu, Centos, Fedora, even Gentoo). Docker is not yet capable of connecting several servers or virtual machines.

When to use

Docker, like git or java, is a basic technology that you should start using in your everyday development and operations processes. You may use docker as a version control system for the complete operating system of your project. You can also use a docker to distribute/collaborate on your app’s operating system with a team. When your project has to go through many stages of development, use Docker. Try Drone or Shippable, both of which support Docker CI/CD. One of the best thing is that docker allows you to execute your code in the same environment as your server on your laptop.

Docker comparison

When you run java, you run the program on any system with a JVM, however, when you run docker, you run the code on any machine with a Docker server after you arrange your servers exactly the way you want them. Git tracks the changes in your code while docker tracks the changes in your system. In Docker, you can track changes throughout your entire system. GitHub is mainly though for code management, and Docker Hub is though for container build, management and distribution. They all work in the same way, despite the fact that they do various tasks.

Why docker

Since we’re already using Docker in class, why not take advantage of the extra time to learn more about it? I understood what Docker was but had never considered what it wasn’t, therefore this post helped me better comprehend what Docker isn’t. I’ve also discovered how docker is similar to both java and git, something I never considered before. I had no idea there were alternatives to Docker, such as the Amazon AMI Marketplace, which is the closest thing you’ll find to the Docker Index. With Docker, you can run the images on any Linux server that runs Docker. Another is the Warden project, which is an LXC manager designed for Cloud Foundry but lacks any of Docker’s social capabilities, such as sharing images with others on the Docker Index. The most important thing I learned is when to use docker.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.


What really is an API?

We’ve all heard of APIs, but what are they exactly? To put it another way, imagine you’re seeking for a method to express yourself in a unique way. Our thoughts, wants, and ideas may all be expressed through language (both written and spoken), gestures, and facial expressions. For interaction with computers, applications, and websites, user interface components such as a screen with a menu and graphical elements, a keyboard, and a mouse are necessary. Software and its components do not require a graphical user interface to communicate with one another. APIs (application programming interfaces) are machine-readable interfaces that allow software products to exchange data and functionality.

Rest API

Roy Fielding first mentioned REST in his doctorate dissertation in 2000. It’s a collection of architectural elements, design concepts, and interactions for constructing distributed systems that employ any type of media (text, video, etc.). REST is a method of system development that provides for flexible transmission and presentation of information over the web while also giving the framework needed to quickly create general-purpose components. REST differs from other web services because it requires delivering data to the requesting application. While this gives the program a lot of freedom, allowing it to do anything it wants with the data, it comes at the expense of efficiency. Delivering data over the internet for processing is much slower than conducting the processing locally and then sending the results.

Private API

These application software interfaces should improve an organization’s solutions and services. In house developers or contractors can use these APIs to integrate a company’s IT systems or applications, as well as to create new systems or customer-facing apps that use current systems.

Partner API

Partner APIs are marketed freely but only shared with business partners that have signed a contract with the publisher. Software integration between two companies is a frequent use case for partner APIs. A firm that gives its partners access to data or capabilities might generate additional income streams. It can keep track of how the exposed digital assets are being used, ensuring that third-party solutions that use their APIs deliver a good user experience, and guarantee that corporate identity is maintained in their apps.

Public API

These APIs, often known as developer-facing or external APIs, are open to all third party developers. When correctly implemented, a public API program may increase brand recognition while also providing an extra source of revenue. There are two kinds of public APIs: open (free) and commercial (for a fee).

Why I chose this topic?

I have always wanted to learn more about APIs because I have used rest api before and I never really knew how it worked or what it was. I only followed the documentation about I’ve always wanted to understand more about APIs because I’ve used them previously but had no idea how they operated or what they were. I only used it after reading the documentation on how to do so. After doing this research, I have a basic understanding of APIs and their various kinds.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.