teleren/devto huggingface dataset:
3 Things I Learnt Feature Leading for the First Time
Tags: career, programming
Published: 2019-07-06 23:40:53

When my team starts work on a new feature, a developer is nominated on the team to act as the feature lead. This person is responsible for keeping others up-to-date on the feature's progress, any communications with stakeholders, and creating/managing the backlog of Jira tickets for the feature (which can at times feel never-ending!)

Over the last few months I got the chance to feature lead the conversion of a pre-existing Backbone.js front-end into a shiny new React app, and I picked up a couple of learnings along the way.

## Get feedback on your implementation

While creating the tickets for your feature, you'll probably come across a few tasks that you're a bit iffy on the implementation details of. Maybe there might be a few ways that you can approach it, or you're unsure of all the edge cases involved. In this situation, it's worth putting together a quick page describing some of the different approaches and its pros and cons, and share it with the rest of the developers on your team.

The other devs can then provide their feedback on the approach they think should be taken and raise any other risks they have thought of, and you can settle on a solution together. Doing this in advance makes life much easier for the developer who picks up the ticket, as they know exactly what they need to do. It also creates a much smoother pull request process, as everyone will already be on the same page in terms of the implementation. 

## It's probably going to take longer than you think

I thought I was being generous when I estimated the time it would take to finish the feature - but I ended up being more than a month off. There's all sorts of things that can cut into developer time like team events, 20% time and other initiatives or features that can take priority in certain weeks, and before you know it you've hit the week that you were supposed to be finished and there's so much left to do! We can't always account for these things in advance, so the important thing here to stay on top of knowing what might cause delays, so you can communicate with your stakeholders as soon as possible when your feature's launch date changes.

## Small things add up

What I didn't realise was that coding the main functionality of the page isn't the hard bit - it's all the small things that create this long tail of things left to do. Handling certain error cases, form validation rules, fixing a pesky UI bug... It's your job as a feature lead in this scenario to make sure that you've made tickets for all these things that need to be complete, and be ruthless about deciding whether it's actually within the scope of the feature. It may be that it's not necessary for the release of the feature, but it's still a "nice to have" that you can come back to do afterwards. 

------

I’ve learnt a lot from my first feature leading experience, and I hope I can apply them to the next time I feature lead! Do you have any other tips to share, or does your team do things differently? Let me know!
CST017 — Bootcamp aus Anbietersicht
Tags: podcast, german, bootcamp
Published: 2019-07-06 22:16:16

![](https://thepracticaldev.s3.amazonaws.com/i/69l31vonhv2wa86xffhe.jpg)

<a href="https://open.spotify.com/show/1q3dDiYvXHcMaDFopGt3Mh" rel="Listen on Spotify">![](https://thepracticaldev.s3.amazonaws.com/i/vq1ok1pwsnvvgbk2krye.png)</a>

Du musst nicht unbedingt eine Ausbildung oder ein Studium absolvieren, um in der Softwareentwicklung zu arbeiten. Vielleicht ist ja stattdessen ein Coding Bootcamp etwas für dich? 

<a href="https://twitter.com/PhilippvH" target="_blank" rel="noopener noreferrer">Philipp</a> arbeitet in Berlin für <a href="https://www.lewagon.com" rel="noopener noreferrer" target="_blank">Le Wagon</a>, dem angeblich weltbesten Anbieter für solche Coding Bootcamps und trinkt ein starkes <a href="https://www.stoertebeker.com/de_de/eis-lager/" rel="noopener noreferrer" target="_blank">Störtebecker Eis Lager</a>. In dieser Folge unterhalten sich Max bei <a href="https://www.appenzellerbier.ch/de/bier/gluehbier.html" rel="noopener noreferrer" target="_blank">Appenzeller Glühbier</a> und Nathan bei einem <a href="http://www.oldjamaicagingerbeer.com" rel="noopener noreferrer" target="_blank">Old Jamaica Ginger Beer — kein Bier!</a> mit besagtem Philipp über die Voraussetzungen für und den Ablauf eines solchen Bootcamps, ausserdem Kosten und eigentlich alles, was noch dazugehört.

Verbesserungsvorschläge, Getränkeempfehlungen, Liebesbekundungen und Kritik bitte wie immer via Twitter an <a href="https://twitter.com/codestammtisch" rel="noopener noreferrer" target="_blank">@codestammtisch</a> oder diskret per Mail an <a href="mailto:hallo@codestammtis.ch">hallo-at-codestammtis.ch</a>

Kurze Werbeeinblendung zum Schluss: <a href="https://steadyhq.com/de/codestammtisch" rel="payment">Unterstütze den Codestammtisch auf Steady</a>. Wir sagen Danke!


Hier gehts zur Folge: https://codestammtis.ch/2018/12/10/cst017-bootcamp-aus-anbietersicht/
CST030 — Das Multitasking-Name-Game
Tags: podcast, german, multitasking, agile
Published: 2019-07-06 22:08:59

![](https://thepracticaldev.s3.amazonaws.com/i/ahaz7yryjciz3fon1a1c.jpg)

<a href="https://open.spotify.com/show/1q3dDiYvXHcMaDFopGt3Mh" rel="Listen on Spotify">![](https://thepracticaldev.s3.amazonaws.com/i/vq1ok1pwsnvvgbk2krye.png)</a>

<b>CN: Wir reden bei Minute 32 über Verletzungen</b>

Zur Feier des Tages — und erneuten Feier der dreißigsten Folge — ist Nathan in Basel und wir sitzen bei Max in der Küche und frühstücken. Am Abend vorher haben wir uns lange über <a href="https://www.crisp.se/gratis-material-och-guider/multitasking-name-game" rel="noopener noreferrer" target="_blank">Multitasking und das Name-Game</a> unterhalten, weil Max das letztens mal so nebenbei erwähnt hatte.

Das Name-Game ist eine kleine Simulation, die recht anschaulich beschreibt, warum Multitasking meistens eher nicht funktioniert. Und weil wir das interessant fanden, haben wir dem Thema eine Jubiläumsfolge gewidmet. Inklusive kurzem Cat-Content!

Und so sitzen wir also da und reden und trinken <a href="https://www.rivella.ch/de/sortiment/rot" rel="noopener noreferrer" target="_blank">Rivella Rot</a> — Milchserum wird übrigens aus Molke gewonnen — und <a href="https://de.wikipedia.org/wiki/Bloody_Mary" rel="noopener noreferrer" target="_blank">Bloody Mary</a>. Es sei gesagt, dass das nicht Max' erster Bloody Mary war, ab sehr wohl sein erster Bloody Mary mit <a href="https://www.threesixty-vodka.com/three-sixty-vodka/" rel="noopener noreferrer" target="_blank">Three Sixty Vodka Black 42</a>.

Weil wir in der Folge noch von anderen interessanten Links reden, hier noch andere interessante Links:

<ul>
    <li><a href="https://labs.spotify.com" rel="noopener noreferrer" target="_blank">Spotify Labs</a></li>
    <li><a href="https://labs.spotify.com/2014/09/16/squad-health-check-model/" rel="noopener noreferrer" target="_blank">Max nennt es Ampelspiel</a></li>
    <li>Das <a href="https://www.leanagiletraining.com/better-agile/agile-penny-game-rules/" rel="noopener noreferrer" target="_blank">Coin-Game aka. Penny Game</a></li>
</ul>

Wir bedanken uns wie immer für's Zuhören. Verbesserungsvorschläge, Getränkeempfehlungen, Liebesbekundungen und Kritik bitte wie immer via Twitter an <a href="https://twitter.com/codestammtisch" rel="noopener noreferrer" target="_blank">@codestammtisch</a> oder diskret per Mail an <a href="mailto:hallo@codestammtis.ch">hallo-at-codestammtis.ch</a>

Kurze Werbeeinblendung zum Schluss: <a href="https://steadyhq.com/de/codestammtisch" rel="payment">Unterstütze den Codestammtisch auf Steady</a>. Vielen Dank!

Hier gehts zur Folge: https://codestammtis.ch/2019/06/17/cst030-das-multitasking-name-game/
CST012 — Scrum
Tags: podcast, german, scrum, agile
Published: 2019-07-06 22:05:43

![](https://thepracticaldev.s3.amazonaws.com/i/jl92zr4wdbx3xd110l2u.PNG)

<a href="https://open.spotify.com/show/1q3dDiYvXHcMaDFopGt3Mh" rel="Listen on Spotify">![](https://thepracticaldev.s3.amazonaws.com/i/vq1ok1pwsnvvgbk2krye.png)</a>

Max hat einen Certified-Scrum-Developer-Scrum-Kurs absolviert. In CST12 unterhalten sich Max und Nathan über Urlaub und Scrum und trinken ein <a href="https://www.brewdog.com/beer/headliners/dead-pony-club" rel="noopener" target="_blank">Brewdog Dead Pony Club</a> und ein <a href="http://schoppebraeu.de/de/#product_details--berlin_ale" rel="noopener" target="_blank">Schoppe Bräu Berlin.Ale</a>

Viel Spaß beim Zuhören. Verbesserungsvorschläge, Liebes-Tweets und anderes Feedback bitte via Twitter an <a href="https://twitter.com/codestammtisch" rel="noopener" target="_blank">@codestammtisch</a>

Kurze Werbeeinblendung zum Schluss: <a href="https://steadyhq.com/de/codestammtisch" rel="payment">Unterstütze den Codestammtisch freiwillig auf Steady</a>. Wir sagen Danke!

Hier gehts zur Folge: https://codestammtis.ch/2018/10/01/cst012-scrum/
CST000 — Nullnummer
Tags: podcast, german
Published: 2019-07-06 21:48:22

![](https://thepracticaldev.s3.amazonaws.com/i/g2n8vhum0omwcjtzm94p.PNG)

<a href="https://open.spotify.com/show/1q3dDiYvXHcMaDFopGt3Mh" rel="Listen on Spotify">![](https://thepracticaldev.s3.amazonaws.com/i/vq1ok1pwsnvvgbk2krye.png)</a>

Willkommen zu ersten Folge vom Codestammtisch, DEM neuen Podcast mit Bier, Max und Nathan, die sich über Themen aus der Softwareentwicklung unterhalten.

Wie gefällt euch die Folge? Was können wir besser machen? Wir freuen uns immer über Feedback via Twitter an <a href="https://twitter.com/codestammtisch" rel="noopener" target="_blank">@codestammtisch</a>

Kurze Werbeeinblendung zum Schluss: <a href="https://steadyhq.com/de/codestammtisch" rel="payment">Unterstütze den Codestammtisch freiwillig auf Steady</a>. Wir sagen Danke!

Hier gehts zur Folge: https://codestammtis.ch/2017/11/09/cst000-nullnummer/
I Got Ranked as #1 Student in Computer Engineering in My University, and Here is What I Think
Published: 2019-07-06 21:36:27

---
title: I Got Ranked as #1 Student in Computer Engineering in My University, and Here is What I Think
published: true
description: 
tags: 
cover_image: https://images.techhive.com/images/article/2015/09/depression-businessman-thinking-loss-sad-overworked-100613849-large.jpg
---

{% twitter 1147617365405904896 %}


Was it worth it?
---

Hell yeah, the **smile and proudness** I saw on my **mom and dad** faces was totally worth it.

University is not just about courses and instructors, I believe it's much more than that.

> Yes, you won't learn much from your university courses... 
> But you will meet a bunch of great people out there!

I met there in the university lots of awesome people, one of them is the co-founder of our online programming academy, [Coretabs Academy](https://coretabs.net).

Aside from that, living abroad in a foreign country is the best instructor you could ever get.

Living abroad teaches you tons of stuff... the top things I got from that are:
1. Discovering who I am.
2. Having a solid independent personality.

If you haven't been living abroad, do yourself a favor and **GO DO IT**.

If you think about the university program itself would help you, you're wrong... very very wrong.

#### Fun Fact

The course I've learned the most from is **Accounting**, which is a university elective course that comes along the Computer Engineering program.

![laugh](https://media2.giphy.com/media/O5NyCibf93upy/giphy.gif?cid=790b76115d210a0e726d4e4a32e6ead5&rid=giphy.gif)



It won't make any difference in your life
----

You heard that right, it's never gonna make any difference if you get better grades... cuz yeah, **nobody cares**.

People will applause so hard for you with the fact that they understand that university system is very broken.

I would say I **owe** the money that I paid for university to: **Pluralsight, TeamTreehouse, and YouTube**.

Those are the places where I really learned core tech skills that correspond with the actual market needs.

#### Fun Fact

My attendance on most courses = **ZERO**

I just spent the time working (remotely).
And of course, I attended the quizzes, labs, and exams to never fail a course.

I'm not saying that to brag, 
I'm saying that to prove one simple thing: you can learn all university topics on your own.





What would I do next?
---

![cat-thinking](https://images-na.ssl-images-amazon.com/images/I/51ziQCPk-DL.jpg)

Here is my answer loud and clear: **I DON'T KNOW!**

Seriously, I don't know what path to take in the next 5 years.

But, I definitely know that I would take the most useful path in my future.

At least, I know what to do in the next couple of months.

It's gonna be making [Coretabs Academy](https://coretabs.net) providing better services/experience for its users.

* PS: If you're in Cyprus (KKTC) and you would like to hangout and chat, I would love doing so 😁
#WhereDidYouGetMyData?!
Tags: startup, ethics, security, discuss
Published: 2019-07-06 19:40:04

## What do you think of a company that makes a bot and creates an account for people without their consent?

It happened to me!

When I tweeted them about it, the answer was: 

> Replying to @xJuggl3r
A number of accounts was created by a bot earlier today. If you have any trouble resetting the password to log in and delete that account, please reply to the email you received so we can help with that.

Reading their reply to other users, the company says it was not them, but someone else:

> Replying to @xysyxy (username changed here by me)
The account was created by someone who likely obtained your email from a list. Please use our password reset form to gain access to the account, then you can delete it as explained here...

> Replying to @bob_joe_page (username changed here by me)
We did not create these accounts. We suspect they might be getting created by a bot and our team is investigating.

<br>
<br>


What bugs me is: 

### If not the company, why would someone else subscribe a ton of users to a non related service?

### Could be a hacker testing a database against a random service just to validate both emails and service vulnerability?
All about remote pair programming and mobbing
Tags: mobbing, mobprogramming, workremote
Published: 2019-08-30 21:01:59

---
title: All about remote pair programming and mobbing
published: true
tags: mobbing, mobprogramming, workremote
canonical_url: https://jessehouwing.net/all-about-remote-pair-programming-and-mobbing/
---

 ![All about remote pair programming and mobbing](https://jessehouwing.net/content/images/2019/07/download.png)

Lisette Sutherland is a long-time remote worker with lots of experience and host of the Collaboration Superpowers Podcast. From the US, working from The Netherlands she is living the remote life. Lisette and I met (in person) at the [nlscrum Meetup in Amsterdam](https://www.meetup.com/nlscrum/events/245661933/), where she presented and where we talked about remote pairing and mobbing afterwards. In this episode of the [Collaboration Superpowers Podcast](https://www.collaborationsuperpowers.com/226-all-about-remote-pairing-and-mobbing-with-jesse-houwing/), we talk about the benefits and challenges of pairing and mobbing remotely and highlights the importance of having the right attitude and tools to make it work well.

My tips for working remotely:

- When you work on something as a “whole”, everyone contributes and everyone is present so we no longer depend on just one person. If there’s an issue with a certain topic, anyone on the team can step up and resolve it.
- Have a conversation about what you’re trying to achieve rather than just critiquing the thing you’re being presented with.
- Having a great infrastructure setup, i.e. excellent audio–headphones, quiet background, great microphone–and great video in order to pick up on people’s facial cues, is essential.
- Pairing is a learning opportunity. You work with someone to improve HOW you do things, e.g. keyboard shortcuts, different tools, websites, etc…and not just for the end result,
- Have a standard of how your team does things in order to avoid conflict.

<iframe width="480" height="270" src="https://www.youtube.com/embed/AtWesFxp_ko?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

### More resources

Mob programming

- [https://www.youtube.com/watch?v=SHOVVnRB4h0](https://www.youtube.com/watch?v=SHOVVnRB4h0)
- [https://www.youtube.com/watch?v=dVqUcNKVbYg](https://www.youtube.com/watch?v=dVqUcNKVbYg&t=44s)

Remote pairing

- [https://www.youtube.com/watch?v=FkDhVrFgZAQ](https://www.youtube.com/watch?v=FkDhVrFgZAQ)
- [https://www.tedmyoung.com/remote-pair-programming-on-twitch-with-zoom/](https://www.tedmyoung.com/remote-pair-programming-on-twitch-with-zoom/)

Live Share:

- [https://visualstudio.microsoft.com/services/live-share/](https://dev.to/scottw/visual-studio-live-share-3f3h)
- [https://dev.to/lostintangent/visual-studio-live-share-in-pursuit-of-enjoyable-developer-collaboration-2nko](https://dev.to/lostintangent/visual-studio-live-share-in-pursuit-of-enjoyable-developer-collaboration-2nko)
- [https://dev.to/lostintangent/collaboration-doesn-t-come-in-one-size-fits-all-33ai](https://dev.to/lostintangent/collaboration-doesn-t-come-in-one-size-fits-all-33ai)
Thoughts on Patterns Day conference
Tags: techtalks, design
Published: 2019-07-06 19:18:11

Today I was lucky enough to travel down to Brighton and attend #PatternsDay with a few developers and designers from @AutoTraderLife. It’s a great conference worth attending if you get the chance. Here are a few thoughts/themes from the day:

* Be reassured no matter how professional and together the design system showcases you see from large companies are they are struggling too. Whether your one person or a team you will still be reacting to changes, fighting fires and trying to convince people over and over.

* It’s okay to be reactive. Add things when you need them. Personally I need to be a little less “This should have been documented.” And more “It’s okay this hasn’t been documented, but now we need it, I’ll add it.”

* Every line of content you add to the documentation is another thing for a designer or developer to take on board and think about.

* Common components and patterns you might pick up from other design systems need to be tested in the context of your website/app/product. Removing a component may increase conversions in one app and have a negative impact another. This has been tested.

* It’s worth keeping in mind the potential impact on efficiency of components before you add them to the design system.

* It’s time to move on from using consistency as a crutch to justify a design system. It may not have much of an impact on users as we first thought.

* You will have the same conversations over and over as you excite colleagues to use a design system and they naturally lose interest as other priorities kick in. Get good at those conversations.

* GDS provide honest reasoning and research into why a component is used or built that way. It reminded me of Architecture Decision Records which is a way of documenting decisions about a codebase and are  stored within the codebase itself. Helps with questions like “Why did we pick React for this solution?” especially if person who’s made the decision has left the company.

* I’d be interested in finding out which companies have gone down the route for separate versions for individual components. I think Financial Times started theirs like that. Means you could release a new version of the component without blocking updates to other components. But then adds complexity with multiple packages.

The conference itself is organised well, has the comfiest seats I’ve sat on at a venue, and free barista coffee. You won’t get lunch but there are plenty of great places to eat. You may find yourself queuing for the toilets though. 

Brighton is a lovely city well worth a visit especially when it’s sunny. 😎

First published on https://listed.to/@steveworsley/6591/patterns-day
6 Ways How to Use a VPN
Published: 2019-07-06 17:02:46

1. All Skype Calls are Local Now
Liberal adjustments of your IP addresses, depending in the location of your intended recipient, essentially allows all your Skype calls to be local calls. You never need to spend huge bucks on calling New Zealand again.

2. Join The Elite Google ‘Beta-Testers’
Google releases a bunch of new products yearly, and they roll out exclusively to select regions, leaving other thirsting for a taste of new, revolutionary tech. Using a VPN, you can become a part of Google’s early bird testers.

3. Unblock Hulu
Stream content blocked in your country by virtually naturalizing yourself into citizen with a VPN. Never miss out on your favorite TV shows again.

4. Stream On The Go
Wherever you are, whatever time, and no matter what restrictions your overlords might have put in place, a VPN is your All-Stage Pass. A Swiss army knife that cuts through restrictions like butter, never leave home without it.

5. Keep Up With The NBA
High-flying super athletes, long distance snipers, and thunderous rejections at the rim—now imagine being locked out from the greatest show on Earth. Watch NBA games on the go, no matter where you are on the globe.

6. Follow Your Patriots Across The Globe
Unblock access to your Sunday and Monday Night Football wherever you are, on whatever ISP you are, and enjoy your touchdowns, sacks, and stiff arms with no restrictions.

Full post: 99 Ways How to Use a VPN (https://www.vpntesting.com/how-to-use-vpn/)
Batch convert images to webp format
Tags: linux, python
Published: 2019-07-06 16:51:27

---
title: Batch convert images to webp format
published: true
description: linux,python
tags: linux,python
cover_image: https://thepracticaldev.s3.amazonaws.com/i/cn6f44d4802lwnov2lwo.jpg
---
What is webp? WebP is Google’s alternative smaller image format to that of JPEGs or PNGs. 

You can batch convert image files with Python. One of the newer image formats is webp. WebP is an image format employing both lossy and lossless compression. 

In theory this image format is smaller than others. You can convert images in a directory with the python script below
 
### Start

Needs webp tools installed,

    sudo apt-get install webp 

Then can convert images like this:

    #!/usr/bin/python3
    import glob
    import os
     
    quality = str(100)
    imgs = glob.glob("img/*")
    for img in imgs:
        print(img)

        cmd = ("cwebp -q " + quality + " " + img + " -o " + img[:img.index(".")-1] + ".webp")

        print(cmd)
        os.system(cmd)

<img src="https://proxy.duckduckgo.com/iu/?u=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FAqEUAOCWjoU5W%2Fgiphy.gif&f=1">

### Python function

Lets tweak that a little. Turn the whole thing in a function, so you can call it like:

    webp("img/*.png",80)

Then the function:

    #!/usr/bin/python3
    import glob
    import os

    def webp(directory, quality):
        imgs = glob.glob("img/*")
        for img in imgs:
            print(img)

            cmd = ("cwebp -q " + str(quality) + " " + img + " -o " + img[:img.index(".")-1] + ".webp")
            print(cmd)
            os.system(cmd)


This will convert all the images to webp with 80% quality. When reducing quality the image files will get smaller. You'd think webp is always smaller than png, but that's not the case.

More on webp and python:
* https://www.keycdn.com/support/webp-support
* https://en.wikipedia.org/wiki/WebP
* https://pythonbasics.org/
* https://pythonprogramminglanguage.com/