teleren/devto huggingface dataset:
Changelog: New search filters
Tags: meta, changelog
Published: 2017-11-08 23:10:13

---
title: "Changelog: New search filters"
published: true
description: We had the thought of making short "changelog" sort of posts when we push changes that affect the user experience. This is the first of those.
tags: meta, changelog
---

We had the thought of making short "changelog" sort of posts when we push changes that affect the user experience. This is the first of those.

You can now search _people_ and filter your search results. It doesn't have every feature imaginable _yet_ and we don't have Google-level search quality _yet_, but there's a lot of value here. I personally use our internal search _a lot_, so I was motivated to improve it.

![](https://thepracticaldev.s3.amazonaws.com/i/j66910mwrceur2rdot9m.png)

As you can see, the default view shows a variety of result types.

If I'm looking for some `git rebase` tips I might search the term and get some quick answers.

![](https://thepracticaldev.s3.amazonaws.com/i/z6r5wl2adi4xq6li6oon.png)

If I want to go deeper into the associated discussions, I might hop over to the podcasts tab.

![](https://thepracticaldev.s3.amazonaws.com/i/us5ywo6jkfi3t2lhaxo3.png)

Filters are not yet "in view" on mobile, but we'll soon add the sidebar functionality similar to what's now on the home page of mobile. I hope you like it. It's `v0`, but search is better today than it was yesterday.
Have Your Ideas Heard
Tags: teamwork, communication, leadership
Published: 2017-11-08 22:22:21

---
title: Have Your Ideas Heard
published: true
description: 
tags: teamwork, communication, leadership
---
Every team I have worked on has some similarities. First, they are full of people who do want to do a great job. Second, they all have ideas that they think will benefit everyone. How do you have your idea heard and considered when everyone else wants the same thing?

Before I divulge a powerful communication technique, I want to put out some ground rules.

This is not about being right. Check yourself out. What will your reaction be if everyone rejects your idea? If that rejection stings then your ego is at play. A quick fix for that is to come up with a legitimate alternative to your own idea. Coming up with a real alternative removes your emotional investment in both ideas. 

Learning to find legitimate alternatives is a worthwhile skill in itself.

On to the technique itself. What follows is a pattern of communication. Follow the steps, do not skip them. Think about them before you open your mouth. Practice. This isn't natural for many people.

1. State the problem
2. List your observations about the problem
3. State your idea or solution
4. End with, "What do you think?"

An example:

We keep having a ton of production support. I noticed that this past release generated a few dozen bugs. Also, that when we fixed the issues we only released a hot-fix. We should write automated tests for each of these fixes, and look at how we are testing in general. What do you think?

Why is this pattern effective? It provides critical pieces that are often missing when we only state our idea. The first two steps provide critical context. That context helps the listener understand how you arrived at your conclusion. It also helps the listener test how your solution fits the problem. Step four is an actual invitation for the listener to engage in solving the same problem.

Without this context, people will use their own perspective to test your idea. People have their own perspectives on problems and their evidence. That unique perspective will be the basis of how they judge your idea. This usually results in hearing that your idea is flawed for an often unrelated reason. That is because both of you are aiming at different targets.

There is a detail that trips some people up at step one. When you state the problem, the problem is never a lack of your solution. If your idea is to add automated tests then the problem is not that you don't have automated tests. Take a step back and try again. Either your ego has tangled you up into the solution, or you have a solution looking for a problem.

The fourth step requires that you ask, "What do you think?" This needs to be a sincere question. I can't tell you how many times my team has surprised me with their observations and how they took my idea to a new level.

It takes practice to make this a habit. Give it a shot and see if people don't start listening and giving a lot more consideration to the ideas you have.
Hotlinking - what's that?
Tags: tech, internet
Published: 2017-11-08 12:22:22

---
title: "Hotlinking - what's that?"
published: true
description: What is hotlinking and why you should stop doing it.
tags: tech, internet
---
![image](https://thepracticaldev.s3.amazonaws.com/i/mmjwalpznz49ue45uydt.jpeg)


We’ve all done it. You see an image you like on the internet and proceed to copy and paste the URL to your own website. Now every time someone visits your website, that image you copy-pasted loads up making your website look all lovely and nice. But what if I was to tell you that that (mostly) innocent action can cause a whole lot of trouble, for the original website owner and in some causes, yourself? Confused? Read on.

That “innocent copy-paste job is called **hotlinking** and here are 3 reasons why you shouldn’t do it.

####**1. It can cost the original content owner a lot of money**

Every time someone visits your website and that “hot-linked image loads up, the image is loaded using the original content owner’s server. The more people that visit your website → the more times the image loads up → the more traffic you will send to the original owner’s server. The costs can add up for the original owner of the content which can end up being A LOT. (Check out this story to see what I mean, [Click here!](https://www.theguardian.com/media/2015/oct/28/cartoonist-the-oatmeal-trolls-huffpo-over-images-published-sans-permission))

####**2. The “hotlinked image you use can be replaced at anytime by the original owner**

Put yourself in the content creator’s shoes. Increased traffic to his/her server is costing them money. So to deter people from hotlinking their images, they apply a custom error page using a [.htaccess file](https://code.tutsplus.com/tutorials/the-ultimate-guide-to-htaccess-files--net-4757). So now, when your website loads up instead of that image you copy-pasted, an error pops up. Or in other cases, the “hotlinked image is replaced with a different image. Can you imagine a potential client checking out your online personal portfolio and seeing an inappropriate image on there instead? Not cool.

####**3. Let’s be honest, hotlinking isn’t very nice**

Growing up, my mother always told me to treat others how I would like to be treated. Let’s be frank, if somebody hotlinked content from your website you wouldn’t be happy about it.

You’re basically using someone else’s resources for your own benefit.
The original content owner has paid for a certain amount of space to host their files. So when you hotlink their images or videos to your own website , you are using bandwidth from *their server*. The more your website is viewed, the more resources you’re taking away from the original owner of the content. This can get expensive, particularly for small businesses or blogs, if they go over their allotted amount of bandwidth and space that they pay for each month.

So the next time you’re tempted to hotlink someone else’s content, please think twice!

**This is my first article that I’ve posted and I’m so glad that I’ve finally posted on this platform! If you liked this article, like, follow and share! I would greatly appreciate it. :)**
Five Things I Wish I Knew Starting Out
Tags: webdev, beginners, career
Published: 2017-11-08 21:11:57

---
title: Five Things I Wish I Knew Starting Out
published: true
description: A love letter to me five-ten years ago
tags: webdev, beginners, career
---

1. today's trendy library often turns into tomorrow's technical debt: try to build projects as lightly as possible

2. do things correctly the first time, because you _wont_ be coming back to refactor it later like you plan

3. be liberal when forking, backing up, and saving copies of your work — disk space is _much_ cheaper than labour

4. you learn more by building 100 tiny projects than 10 large projects, repetition reveals patterns and teaches skills faster than the size of the projects

5. there is no end to what you can learn about web development but your lifetime is finite, to stay on top of your skillset you must learn to stay focused
Garbage Detection and Classification
Tags: machinelearning, deeplearning, tensorflow, python
Published: 2017-11-08 19:33:09

---
title: "Garbage Detection and Classification"

published: true

description: Just created a new Github repository called Garbage Detector. Garbage Detector is a convolutional neural network written in Keras and trained on Garbage Dataset collected by Me(Harshit Gambhir) . It can help to detect and classify garbage in different categories ex Glass, Paper, food, plastic, textile etc. Contributions to this project are welcome

# [Github Link](https://github.com/harshitgambhir/Garbage-Detector)

tags: machine learning, deeplearning, tensorflow, python
---
What having a programmer burnout at age 21 feels like
Tags: discuss, career
Published: 2017-11-08 19:04:44

---
title: "What having a programmer burnout at age 21 feels like"
published: true
description: It's not pleasant, at all.
tags: discuss, career
cover_image: https://thepracticaldev.s3.amazonaws.com/i/c4rjx0s9275n2q8pxvo5.png 
---
In my first post on dev.to I'd like to discuss what's it like to experience a common programmer/developer/software engineer problem at a very young age, very early into your career.

A small intro first, I'm 21 years old, currently in my senior year of university, majoring in Computer Sciences and Engineering. I've also started working part-time as a junior web software engineer two months ago, and as an undergraduate TA at my university. Seems a lot right from the start, doesn't it?

Seems like all this isn't enough for my brain. I can't seem to stand still for a moment, I have too many ideas and projects going on in my head at all times that I just have to start working on anything I find even remotely interesting - and end up regretting it later (the time of writing this is 'later'). On top of university, work, personal projects and (some vague form of a) social life, I also freelance.

In general, on a working day I (easily) spend 12+ hours working. This has been going on for the past couple months.

To sum all of this up, in a normal day I encounter different technologies and languages ranging from Spring to React to Node to Python, and spend a lot of time. And don't get me wrong, I like all of the tools I'm using, otherwise I wouldn't use them.

Anyways, I'm currently in the final stage of a freelance project I've been working on in the past couple of days, and I'm starting to feel like programming isn't even fun anymore for me. Like I don't even like doing this. I feel I am appalled by a framework and language I enjoy writing in on regular days. I blankly stare at my IDE, I know what I'm supposed to write, but I can't make myself write 200-300 more lines of code and just finish and deliver the project. In all honesty, I feel like s**t.

There's three reasons I'm writing this. The first is because I deeply feel I need to write this off somewhere and get it out of me.

The second one is to remind every developer that is currently starting their first job, and just getting into the field, to take it easy. Make balance. Make balance, because feeling burnt out and not even being out of college is, in my personal experience, without doubt the worst feeling ever. It's a part of your life you never want to be in, trust me.

And the third reason is to ask for advice. How have the lot of you dealt with programmer burnout before? How do you recover from it?
Learn how to write program easily! - Tutorial 1
Tags: actionscript3, animate, tutorial, beginners
Published: 2017-11-08 18:09:46

---
title: Learn how to write program easily! - Tutorial 1
published: true
description: What is MovieClip?
tags: ActionScript3, Animate, tutorial, beginner
---

###Why ActionScript?
This programming language is nice for beginner who want to learn the program logic fun. ActionScript is my first programming language and it is learn by myself. I think it is easy to handle the graphic and animation let's focus on the main program logic.

**Step one - Create a new MovieClip**
MovieClip is an object. It should be a simple graphic or an animation. In this tutorial we will draw a circle on the MovieClip and use program to add the MovieClip on the screen. Let's do it!
1. Press Ctrl-F8 to create a new MovieClip
2. Fill the name: "mc_ball"
3. Click "Advanced"
4. Click "Export for ActionScript"
5. Click "OK" button
![1](https://thepracticaldev.s3.amazonaws.com/i/2e19nmf12d91npxoykhm.PNG "Create 
 MovieClip")
6. Draw a circle
![2](https://thepracticaldev.s3.amazonaws.com/i/l2v8ccdb64eyublrvm5q.PNG "Draw a circle")

**Step two - Put the MovieClip on the screen via programming**
1. Return to the main screen
![3](https://thepracticaldev.s3.amazonaws.com/i/x5vu45wdl3zrzls1mnic.PNG "Return to the main screen")
2. Select the first frame
![4](https://thepracticaldev.s3.amazonaws.com/i/eqa12j2281iduucc3a7p.PNG "Select the first frame")
3. Press F9 to open "Actions" window
4. Coding
```actionscript
var ball:MovieClip = new mc_ball();
stage.addChild(ball);
```

**Step three - Let's view the result**
Press Ctrl-Enter
![5](https://thepracticaldev.s3.amazonaws.com/i/9tm2pl2hjroj5wnrlxqp.PNG "Result")

###Learn more about programming!
```actionscript
var ball:MovieClip = new mc_ball();

/*
Do you remember "mc_ball"? This is the name of MovieClip which we created at the step one.

"Export for ActionScript" is very important. 
It cannot use this MovieClip in the programming if you skip this step.

The whole line means create a new MovieClip "mc_ball" and named it "ball" to use in the program.
*/
```
```actionscript
stage.addChild(ball);

/*
Put "ball" on the screen.

"stage" is a key word represent the root of the screen.
*/
```

**Let the ball on the center of the screen.**
```actionscript
var ball:MovieClip = new mc_ball();
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
stage.addChild(ball);

/*
We can control the "ball" and set x-axis, y-axis to change it's position.

"stage.stageWidth" means screen width.
"stage.stageHeight" means screen height. 
*/
```
![6](https://thepracticaldev.s3.amazonaws.com/i/2xyndmiolmiw1nz9qq08.PNG "Result 2")

**Maths**
Center x-axis is equal to half of width of stage.
Center y-axis is equal to half of height of stage.
![7](https://thepracticaldev.s3.amazonaws.com/i/1dwg36ozkthh9qyhdmdc.PNG "Maths")

Thanks~
I’m the VP of Engineering at Pusher. Ask me Anything!
Tags: ama
Published: 2017-11-08 17:13:18

---
title: I’m the VP of Engineering at Pusher. Ask me Anything!
published: true
description: My responsibilities are to grow the engineering team, and to coach project teams and individuals to do the best work of their careers in a fast-paced and highly technical environment.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/fp4qwd4xhkr5np94tw67.png
tags: ama 
---

My name is Sam Stagg and I work for Pusher as VP of Engineering.  My responsibilities are to grow the engineering team, and to coach project teams and individuals to do the best work of their careers in a fast-paced and highly technical environment. My background is in software engineering in the video games and data industries. 

[Pusher](https://www.pusher.com) provides hosted building blocks to help productive app developers move faster and write less code. Our core product enables developers to easily create interactive features for their applications, such as in-app notifications, activity streams, real-time dashboards, live trackers and more. 

We just released [Pusher Chatkit](https://www.pusher.com/chatkit) in public beta. It is a specialised Chat API solution that makes it easy for developers to add cloud-hosted messaging services to their mobile and web apps.

My AMA will start at 1PM EDT today. Ask me anything from scaling engineering teams to building real-time messaging applications!
What are your personal stories/examples of "naming things"?
Tags: discuss, naming
Published: 2017-11-08 16:15:30

---
title: What are your personal stories/examples of "naming things"?
published: true
description: 
tags: discuss, naming
---

Most programmers are familiar with the quote, "There are only two hard things in Computer Science: cache invalidation and naming things." I'm curious about your personal experiences with the latter.

* What are some examples of really bad names you've encountered in code? 
* What about the alternative -- any really good names that have stuck with you?
* What frameworks/libraries do it well or do it poorly?
* Has a really poor name ever come back to haunt you (i.e. caused you hours of extra debugging or misled you?)

I know we all have strategies for naming things, but I'm really curious about your personal examples and stories.
How to deal with evenings bursts of creativity?
Tags: discuss, mentalhealth, productivity
Published: 2017-11-08 14:47:57

---
title: How to deal with evenings bursts of creativity?
published: true
description: 
tags: #discuss #mentalhealth #productivity
---

I am just a regular guy, software dev. Working on normal hours like 8 - 16. Sometimes I play football or go jogging with friends on late evenings, to have any kind of physical activity during the day. After that I feel my muscles are aching and I feel very tired, but with high oxidation my brain starts working on high revs.

To go to sleep, I try to cheat myself with small dose of video games or having a beer. But there are some nights when, after I lie down in bed, even that does not work for me. I am experiencing this `flow of creativity` and cannot fall asleep. Many new project, articles, problem solving ideas don't stop comming whilst I am just trying to sleeeeeep. It is important, because next day in the morning I will be like a zombie in the office and my productivity will be like zero.

How do you deal with it? After all, I know I could end up with starting workout before working hours, but I do not want to wake up so early :D

P.S.
It would be good to have a Harry's Potter Pensieve, to be able to rewind everything and start a new day with clear mind :)
How to start learning AI
Tags: ai, discuss, algorithms
Published: 2017-11-08 11:54:30

---
title: How to start learning AI
published: true
description: what are the first steps in order to learn AI?
tags: AI, Discuss, Algorithms
---

Hello!

These days I have been thinking about learning AI. Maybe even get a master degree in this area.

So... My question is how to learn AI? Should I start reading books about? Should I learn algorithms first?

What are your suggestions?
Creating Reusable UI for React Native using NativeBase
Tags: androiddevelopment, nativebase, androidappdevelopmen, iosappdevelopment
Published: 2023-01-06 17:42:05

---
title: Creating Reusable UI for React Native using NativeBase
published: true
date: 2017-11-08 06:01:20 UTC
tags: androiddevelopment,nativebase,androidappdevelopmen,iosappdevelopment
canonical_url: 
---

 **What is NativeBase?**

NativeBase is a reusable UI component library which helps to create React Native UI component rapidly with ease. It enables component support for both iOS and Android natively.

**For Example: ActionSheet** UI in **iOS** and **BottomSheet** UI in **Android** without adding any extra dependencies.

It’s time to say goodbye to **index.android.js** and **index.ios.js** for creating UI with cross-platform support.

![](https://cdn-images-1.medium.com/max/402/1*ZhL9eTluLsGyTemesqV4Rg.gif)

**Reference** : [https://docs.nativebase.io/#Introduction](https://docs.nativebase.io/#Introduction)

**How to setup?**

1. Navigate to your root React Native project folder (i.e cd YOUR\_PROJECT\_NAME)
2. Install NativeBase using npm install native-base --save command
3. Connect your existing React Native project using react-native link command.

Boom! You’re good to go. Now you can use all the components and property of NativeBase in your project.

**Customization?**

Yes! There is an option for that too. Native Base is built on top of React Native and it provides variety of options using themes, styles, variables and components.

Run this command from terminal to view the Native Base theme folder

```
node node_modules/native-base/ejectTheme.js
```

Now the **native-base-theme** folder is enabled on your project root. Play with all .js files to change color, background, font, size, text and other properties used in the Component.

![](https://cdn-images-1.medium.com/max/562/1*QDr3HEdMQyBmoc4xp6mBbw.png)

Please refer official docs for the supported components with NativeBase [here](https://docs.nativebase.io/Components.html#Components)
Hi, I'm Arthur Michael Pegios
Tags: introductions, seo, life
Published: 2017-11-08 05:10:47

---
title: Hi, I'm Arthur Michael Pegios
published: unTrue
description: The mind is just another part of the body
cover_image: https://http://tcp://udp://thismakesnosense.org/#winner
tags: introductions, seo, life
---

I have been coding for 5 Years.

You can find me on GitHub as ThermoDev- (https://github.com/Thermodev)

I live in Sydney Australia.

I am currently a Computer Science student.

I mostly program in these languages: Java, C#, C++, HTML, CSS, Javascript & Malbolge

I am currently learning more about: Angular, React, Native, Elm

We are all going to make it, no matter what.
Logging! How do you decide on your app log levels and outputs?
Tags: discuss, development, log, logging
Published: 2017-11-08 04:45:02

---
title: Logging! How do you decide on your app log levels and outputs?
published: true
description: I've recently been building out a telegram bot which has allowed me to use Winston for logging. This has been swell, but led me to think about what level of information should be in a log as well as its level throughout my application.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/h89k8zulm9knz8xv3tg4.jpg
tags: discuss, development, log, logging
---

I've recently started work on a new application and I instantly jumped into setting up Winston to enable the glorious fire hosing of log messages to console as well as syslog. Whilst I was happily working away through my code, setting various log calls some at error level, some debug and a few info messages thrown in it hit me...

These log messages are of benefit to ME, but are they of any use to another developer or infact any human that isn't me?!

I instantly dived to google thinking "Someone would have written this down.."

However, the opinions out there are very split. Since Dev.to is a nice community with people who share their knowledge I'd love to get an insight into the mechanics you run through deciding:

1. When should I be logging information?
2. What information should a log message always contain and what is optional?
3. How do you decide what level this log should be set to there's many info, trace, debug, error, warn and even "verbose".

I have to say, sometimes I openly throw in log messages purely for my own benefit, simply because sometimes I don't believe my program is even working if I don't see the stack of lines running through my terminal assuring me that everything is well in the world.

Opinions please :)