teleren/devto huggingface dataset:
Why You Can't Set up Branding Guidelines with Clients | English for Freelance Designers
Published: 2024-02-24 05:18:18

Do you, as a freelance developer like Max, dislike clients who fail to provide clear branding guidelines, causing inconsistencies in visual design, when designing websites, mobile apps, etc.? Explore a real-life situation with us. Let's foster Business English Communication Skills as we find solutions together!

Min: Welcome to Hocify, where we foster business English communication skills through real-life situations. After the lesson, if you missed something, please check out the description to access the transcript for more details on our website ‘hocify dot com’, along with related tools and resources. Now, let’s dive into today’s challenge!

Max: Hey Min! I’ve been working on our mobile app project, and I’ve noticed that there seem to be some inconsistencies in the visual design. Could you help me understand why that might be happening?

Min: Oh, hi Max! Hmm, inconsistencies? I guess it might be because I haven’t provided clear branding guidelines for you to follow.

Max: Ah, I see. Thanks for letting me know. Can I ask why it’s been challenging to provide those guidelines?

Min: Well, honestly, I’m not entirely sure what elements should be included in branding guidelines for a mobile app.

Max: That makes sense. Could you tell me why having clear branding guidelines is important for the project?

Min: I suppose it’s important for maintaining a consistent and cohesive look and feel throughout the app, right?

Max: Exactly. And finally, why do you think we should address this issue sooner rather than later?

Min: Hmm, because inconsistency could confuse users and make the app seem unprofessional?

Max: Absolutely. Inconsistent design can lead to a disjointed user experience, which may ultimately harm the app’s success. So, it’s crucial for us to tackle this challenge head-on.

Min: I agree, Max. I appreciate you bringing this to my attention and asking these questions to understand the root of the problem.

Max: Of course, Min. I believe that open communication is key to overcoming obstacles and delivering a top-notch product. Now that we have a better understanding of the issue, let’s work together to find practical solutions.

Min: Agreed, Max. Let’s collaborate to establish clear branding guidelines that will guide our design decisions moving forward.

Max: Sounds like a plan, Min. By addressing this challenge proactively, we can ensure that our app not only looks great but also provides a seamless user experience.

Min: Definitely, Max. I’m excited to work together and elevate our app to the next level. Thanks for initiating this conversation and guiding us towards a solution.

Max: Anytime, Min. Let’s roll up our sleeves and get started on crafting those branding guidelines. I’m confident that with our teamwork, we can overcome any design challenges that come our way.

Min: Absolutely, Max. Let’s do this!

Steps to Set up Branding Guidelines with Clients: https://hocify.com/x/B95E

#hocify #freelance #designers #businessenglish #communicationskills #ux #ui #freelancers
Post Mortem: A Sample Report on a DOS Attack.
Published: 2024-02-24 05:09:11

DOS which means Denial of Service is a security event that denies access to your service by sending in multiple requests to your server in a very short period of time with the intent to flood your server with traffic that it can not possibly handle thereby forcing it to have a downtime.
This is a postmortem report on the event of a DDOS attack on BaseBox Software Solutions inc.  on the 23rd of October, 2023.

**Issue Summary:**

Duration: The outage occurred on the 23rd of October, 2023 between 1:30 AM and 2:15 AM WAT and lasted for 45 minutes.

Impact: The incident affected the managed DNS service. Approximately 60% of users were affected, experiencing slow response times and in some cases inability to access certain features.

Root Cause: The root cause of the outage was a DDOS attack believed to have been carried out by malicious hackers with the intent to distort the managed DNS infrastructure thereby impacting service delivery and sales.

**Timeline:**

Detection: The issue was detected on the 23rd of October, 2023 between 1:30 AM and 2:15 AM WAT when our Site Reliability Engineers received a monitoring alert through the monitoring system.

Actions Taken: Immediate actions included initiating investigation and implementing mitigation techniques such as setting up a firewall to block the IP's from where the attack came and activating  IP Geolocation blocking. The SRE team investigated the cloud managed DNS infrastructure and assumed the root cause to be a large Distributed Denial of Service on our US-East region service.

Misleading Paths: Misleading investigation paths were taken when the team restarted some of our third party services thinking those could have led to a downtime on the service.

Escalation: The incident was discovered by the Networking Team and escalated to the Software Reliability and Security Teams.

Resolution: The incident was resolved by activating IP Geolocation blocking on the Network to block the geographical region where the malicious attacks emanated from.

**Root Cause and Resolution:**

Root Cause: The root cause of the outage was a large Distributed Denial of Service on our US-East region service.

Resolution: To resolve the issue, IP Geolocation blocking was activated blocking the geographical region from accessing the network.

**Corrective and Preventative Measures:**

Improvements/Fixes:

Strengthen DDoS protection mechanisms.
Enhance monitoring and alerting systems for quicker anomaly detection.
Evaluate and improve infrastructure scalability.

Tasks:

Implement advanced DDoS mitigation solutions.
Enhance monitoring systems to provide timely alerts.
Conduct a scalability assessment and implement necessary improvements.

This concise post-mortem report provides an executive summary, a brief timeline of events, detailed information about the root cause and resolution, and specific corrective and preventative measures taken to mitigate this occurrence.
ChatCraft Adventures #7
Tags: opensource, openai, beginners, webdev
Published: 2024-02-24 04:42:25

## This week in ChatCraft

### Release 1.4

ChatCraft release 1.4 has been delayed. However, my classmates and I have been working on bug fixes, enhancements and new features.

This week has been slow compared to previous weeks. So far I've made 
two Pull Requests
## Pull Requests

### [Prompt Updating for inline KaTeX](https://github.com/tarasglek/chatcraft.org/pull/482)

ChatCraft can render math using the [rehype-katex](https://www.npmjs.com/package/rehype-katex) package, which renders [KaTeX](https://katex.org/) syntax. In most cases, the queried LLM will render Math in KaTeX, but [sometimes inline elements do not](https://github.com/tarasglek/chatcraft.org/issues/460).

My Pull Request involves a slight adjustment to the default prompt that instructs the LLM to also render any inline mathematical expressions as KaTeX by wrapping the expressions in double dollar signs.

This Pull Request still needs review and hasn't been merged, but I found it fun to work on. I'm using the OpenAI API for my college capstone project, so I've had some experience fine-tuning my prompts so the LLM (typically `gpt-3.5-turbo`) to respond as required.

### [Add Dynamic Imports for Mermaid and Math Rendering](https://github.com/tarasglek/chatcraft.org/pull/472)

Some packages/modules used in ChatCraft are large, and we'd like to import them [dynamically](https://vitejs.dev/guide/features#dynamic-import). The focus of this PR was to dynamically import a few packages used for Math and [Mermaid](https://mermaid.js.org/) rendering:
- [remarkMath](https://www.npmjs.com/package/remark-math)
- [rehypeKatex](https://www.npmjs.com/package/rehype-katex)
- [mermaid](https://www.npmjs.com/package/mermaid)

Locally, my changes work, but when I pushed my branch to GitHub and tested my preview, ChatCraft doesn't load. This is something I hope to investigate and solve next week.


## Plans for next week and, rest of the semester

This is the halfway point of my semester. At this point, I've been able to contribute small changes to ChatCraft. However, in the remainder of the semester I hope to contribute new code and features to ChatCraft. Some things I'd like to work on include WASM, and the ability to attach files to a chat.
Wagmi Essentials
Tags: blockchain, web3
Published: 2024-02-24 04:15:37


Simulate contracts to get error messages before user tries it

```  
const { data, error, status } = useSimulateContract({
    abi: BookingFactoryABI,
    address: process.env.NEXT_PUBLIC_BOOKING_FACTORY_ADDRESS as any,
    functionName: 'createBooking',
    args: [1n, 'simulate'],
  })
```

Estimate gas price for transaction to check if user has enough balance

```

  useEffect(() => {
    const a = async () => {
      if (publicClient) {
        const a = await estimateContractGas(publicClient, {
          abi: BookingFactoryABI,
          address: process.env.NEXT_PUBLIC_BOOKING_FACTORY_ADDRESS as any,
          functionName: 'createBooking',
          args: [1n, 'simulate'],
        })
        console.log(a, 'gasss')
      }
    }
    a()
  }, [publicClient])
```

Watch contract events to to retrieve write transaction reults

```
  useEffect(() => {
    if (publicClient) {
      publicClient.watchContractEvent({
        abi: BookingFactoryABI,
        eventName: 'BookingCreated',
        onLogs: (logs) => {
          console.log(logs)
        },
      })
    }
  }, [publicClient])
```



Wait for transaction receipt after on success in writecontractasync to get events for that transaction

```
await writeContractAsync(
      {
        abi: BookingFactoryABI,
        address: process.env.NEXT_PUBLIC_BOOKING_FACTORY_ADDRESS as any,
        functionName: 'createBooking',
        args: [influencersRequired, bookingId],
      },
      {
        onError: (error) => {
          setIsLoading(false)
        },
        onSuccess: async (hash) => {
          if (publicClient) {
            const receipt = await waitForTransactionReceipt(publicClient, {
              hash,
            })

            const bookingIdInBytes = keccak256(toBytes(bookingId))
            const log = receipt.logs.find((log) => log.topics[1] === bookingIdInBytes)

            if (log) {
              await axios.post('/api/booking/set-blockchain-address', {
                booking_id: bookingId,
                blockchain_address: log.topics[0],
              })

              // window.open('/dashboard/my-bookings', '_self')
            }
          }

          setIsLoading(false)
        },
      },
    )
```
BUY TRUSTPILOT ACCOUNTS
Tags: buy, trust, pilot, account
Published: 2024-02-24 04:08:05

Buy TrustPilot Accounts
WHY CHOOSE US?
Welcome to MangoCityit Website. [Mangocityit](https://mangocityit.com/service/buy-trustpilot-accounts/) is one of the Best Quality, Reliable Social Media Marketing and SEO Services Provider. We give 100% money back guarantee. Our only demand is to gain customer satisfaction through good and reliable services. If there arise any problem, you could continually contact us and we would be happy to aid you out. Here you can get all kinds of SMM and SEO service at the cheapest price. You can also visit Our Product to know about SMM & SEO Services.

Express Delivery And Drip Feed
We have maintained an excellent reputation over the past few years by delivering Facebook Reviews, Google Reviews, TrustPilot Reviews, Yelp Reviews & all others SMM & SEO service through high quality profiles. For this reason, there is no scope to cause a negative impact on your business. All profiles have profile pictures, posts, bio & others information. They look realistic and probably nobody will identify that you have bought Accounts & reviews.

100% SAFE AND SECURE
Safe and Secure is the most important thing to Us. We want to enjoy our relationship with customer through quality working. If you have any issues with our service, you can contact us without any type of hesitation. We will provide the best possible solution to you. Our team is available nearly 24/7, so you can expect a reply within just a few minutes/hours. Custom orders or special requests are also welcome. We’re looking forward to hearing from you!

24/7 SUPPORT AND HELP
You can get quick working experience through our website. In other words, when you buy TrustPilot Reviews or any other service from us, we will start that task within hour after the payment. The best thing about our services is that we are 24 hours available to you for whole week. Email- mangocityit@gmail.com & Skype: Mangocityit , Telegram: Mangocityit ,Just place the order and the task will be completed within few Time.

If You Want To More Information just Contact Now Email Or Skype –

24 Hours Reply/Contact
Email: admin@mangocityit.com
Skype: live:mangocityit
Passport size photo maker
Published: 2024-02-24 04:05:13

Introducing the E-Passport Photo App, the ultimate solution for hassle-free passport-size photos! Say goodbye to background woes with our cutting-edge technology that effortlessly removes backgrounds, leaving you with perfect passport-sized images in seconds. Our user-friendly interface ensures a seamless experience, allowing you to customize your photos with ease. Whether you're preparing for official documents or capturing memories, the E-Passport Photo App is your go-to app for professional and polished passport-sized photos. Download now and experience the simplicity and efficiency of creating flawless portraits anytime, anywhere!

[](https://play.google.com/store/apps/details?id=com.firefly.epassport)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qxmwnt7jqizdjucxdehb.jpg)
[](https://apps.apple.com/us/app/e-passport-visa-photo-maker/id6476882259?platform=iphone)
Fast Learning (preview)
Published: 2024-02-08 15:22:55

As developers, we have to learn a lot of things. Quickly. Here is a three-part method for focusing our study, getting the most value quickly so we can move on.

Let's say we want to learn from a book. Here are some insights:
- each book has a *thesis*, a core idea
- every chapter supports the thesis and fleshes it out
- in turn, each *chapter* has a core idea which is built up

This means that if we find and focus on the core Thesis, we can quickly form a clear roadmap of complex material. It'll be *much* easier to learn!

If we come up with a personal Study Plan, we can use the plan plus the book's Thesis to study the high-value material *first*. Everything is much easier because we can draw a clear line between the core idea and what we're reading in each moment. We get the most value, quickly!

For us Devs, this is similar to the 80/20 Rule: we get 80% of the value from 20% of the work. This can be applied to studying, too!
CORS (Cross-Origin Resource Sharing)
Tags: webdev, javascript, beginners, programming
Published: 2024-02-24 03:50:40

CORS (Cross-Origin Resource Sharing) issues commonly occur when you are trying to make requests from a web application (e.g., a React frontend) to a server (e.g., a Node.js backend) that is hosted on a different domain or port. Browsers enforce a same-origin policy by default, which means that a web page can only make requests to the same domain and port from which it was served.

To resolve CORS issues in a React and Node.js application, you can take the following steps:

### 1. Install CORS Middleware in Node.js:

If you are using Express in your Node.js backend, you can use the `cors` middleware to handle CORS. Install it using:

```bash
npm install cors
```

Then, in your Node.js server file, use it as middleware:

```javascript
const express = require('express');
const cors = require('cors');

const app = express();

app.use(cors());

// Your other middleware and route handling

const PORT = process.env.PORT || 5000;

app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});
```

### 2. Configure CORS Options:

You can customize CORS options to allow specific origins, methods, or headers. For example:

```javascript
const corsOptions = {
  origin: 'http://your-allowed-origin.com',
  methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
  credentials: true,  // Enable credentials (cookies, HTTP authentication)
  optionsSuccessStatus: 204,  // some legacy browsers (IE11, various SmartTVs) choke on 204
};

app.use(cors(corsOptions));
```

### 3. Check if Credentials are Being Sent:

If your frontend and backend are on different domains and you're making requests with credentials (e.g., sending cookies), you need to set the `credentials` option on both sides.

In your React application, when making fetch requests:

```javascript
fetch('http://your-api-endpoint.com', {
  method: 'GET',
  credentials: 'include', // or 'same-origin' or 'omit'
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
```

### 4. Check if Pre-flight Requests are Handled:

For certain types of requests, the browser may send a pre-flight request (an HTTP OPTIONS request) to check if the actual request is safe to send. Make sure your server responds correctly to these pre-flight requests.

### 5. Ensure Your API is Configured Correctly:

Check if your API server is configured to handle CORS headers correctly and is not explicitly blocking certain origins.

By following these steps, you should be able to resolve most CORS-related issues in a React and Node.js application.
Rocket Casino
Published: 2024-02-24 03:49:04

[https://rocket-australia.com/](https://rocket-australia.com/)

Rocket Casino – your one-stop destination for ultimate online gaming excitement and thrills! Immerse yourself in a world of endless possibilities with our wide selection of thrilling games, including a variety of sensational slots, captivating blackjack, and exhilarating live casino games. Our aim is to provide you with an unforgettable gaming experience that keeps you coming back for more. Join us now and blast off into a world of gaming like no other, where dreams become reality and winners are made!
Rocket Casino
Published: 2024-02-24 03:48:06

[https://rocket-australia.com/](https://rocket-australia.com/)

Rocket Casino – your one-stop destination for ultimate online gaming excitement and thrills! Immerse yourself in a world of endless possibilities with our wide selection of thrilling games, including a variety of sensational slots, captivating blackjack, and exhilarating live casino games. Our aim is to provide you with an unforgettable gaming experience that keeps you coming back for more. Join us now and blast off into a world of gaming like no other, where dreams become reality and winners are made!
CHOOSE THE BEST RECOVERY EXPERT FOR YOUR NEEDS - DIGITAL WEB RECOVERY
Published: 2024-02-24 02:22:15

My mistakes almost ruined my entire life but I was lucky God sent Digital Web Recovery to rectify my mistakes, I was investing with this company I was introduced to by an old time friend I met sometime back in at my former work, we haven’t seen each other or heard from each other since high school, so it was like a nice reunion that came with a financial opportunity as well, according to him he has been with the company for a couple of months now and has made a few withdrawals from the profits he made and currently reinvested over a $100k+, He was living his best life, I asked him to enroll me with the platform and he signed me up using his referral link and got a bonus, he told me that signing people up using my referral links would earn me more profits as time goes by, I took in his advice and enrolled 2 of my cousins who were also interested after seeing my portfolio and the profits I’ve made over just a month. After our profits had accumulated over the past few weeks we tried to make withdrawals from the platform and that’s when we encountered some difficulties I was to be blamed for the whole failure because I hadn’t withdrawn any funds from the company yet before involving them though my friend who introduced me to the platform was facing the same problems as we did when all these were going on my cousin “Desean “ was already in contact with digital web recovery ‘’ A Crypto recovery team he read about in a hacking forum and that was how we all had a change of story, visit their website  https://digitalwebrecovery.com my friend who brought all these problems into our lives was so thankful for the result and same goes with every one of us. The best decision you’d make after discovering you’ve been duped is to contact Digital Web Recovery and seek help and trust me you’d be in a better place after. I recommend their services to my colleague, who had also fallen victim to the same scam, The team at Digital Web Recovery is currently helping retrieve. Don't hesitate to reach out to Digital Web Recovery to resolve any issues you may be facing. Contact info; digitalwebrecovery(@)mail-me.com  Telegram user;@digitalwebrecovery
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pu41g7u991jr1rjihrms.jpg)
Adding A Settings Page (Cosplore3D Pt:21)
Tags: go, gamedev, learning
Published: 2024-02-24 01:30:00

## Intro
This is a series following [Cosplore3D](https://github.com/Chig-Beef/Cosplore3D), a raycaster game to learn 3D graphics. This project is part of 12 Months 12 Projects, a challenge I set myself.

## What To Put On The Page
Before we actually start creating the settings page, we need to know what we're going to put on it, so let's make a list.

1. Field Of View
2. Depth Of View
3. Sensitivity
4. Difficulty

## Implementation
```golang
g.settings = Setting{
	[]*Button{
		{0, screenWidth / 15 * 2, screenWidth / 5, screenHeight / 14, color.RGBA{32, 32, 32, 255}, color.White, "Menu", open_menu},
	},
	map[string]*TextBox{
		"fov": {"90", 0, screenWidth / 15 * 3, screenWidth / 5, screenHeight / 14, color.RGBA{32, 32, 32, 255}, color.White, false},
		"dov": {"30", 0, screenWidth / 15 * 4, screenWidth / 5, screenHeight / 14, color.RGBA{32, 32, 32, 255}, color.White, false},
		"sen": {"90", 0, screenWidth / 15 * 5, screenWidth / 5, screenHeight / 14, color.RGBA{32, 32, 32, 255}, color.White, false},
	},
}
```
What we've create here is a back button and a few text boxes, one for field of view, one for depth of view, and one for sensitivity. These text boxes were basically copy pasted from the level editor.

## Connections
Now we need to start connecting these values. I think the best place to change FOV and DOV is when the player opens a new level, because this is when the most change is already happening, so it will be seamless.

![Setting page for Cosplore3D](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8p5d01n99h70wyo19qre.png)

And when I put the FOV really high here is the effect.

![The effect of setting the FOV to 150](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u7oai9q67xyzwdzvvstl.png)

It looks very strange, and the enemies sometimes don't know where to be drawn, but it works.

## Difficulty
For difficulty, unlike other games, where you have set intervals such as easy, medium, and hard, we're going to have anywhere from a difficulty of 1 to 1000. This means you can create an insanely easy game, or an insanely hard game, or anything in-between. Setting the difficulty to 1000 is definitely not recommended, and makes it impossible to kill anything, but it's still an interesting option to have.

## Next
There is something very obvious missing from the game, and that's an ending. You kill the last boss and you're just kind of left there not knowing if it's the end. In the next post we'll have to think up of something cool to do when they finish the game, and implement it.