teleren/devto huggingface dataset:
Diversity in Tech Groups in Ireland and N. Ireland Timeline since 2017
Tags: diversityintech, community, womenintech, irishtechcommunity
Published: 2020-11-19 19:46:42

There's more updates to the list since the last post here.

| Date        | Organisation  |
| ----------- | ------------- |
| 2020–09–24 | Added [Global GCS Connect: Diversity in Tech](https://www.linkedin.com/groups/12448166/) |
| 2020–11–19 | Added Women in Tech/STEM College Societies (x9) and removed GirlCrew |

Here's the full list: http://www.eventgeek.ie/news-notes/2019/7/9/the-diversity-in-tech-community-in-dublin-amp-ireland-vicky-twomey-lee

🤔 I was curious about visualising it in a timeline, so I went searching for something as the timeline template in canva is not really what I wanted and there wasn't many options (they have amazing selection of templates for social media, and I'm still heavily using them).
Anyway, I digress, I found [visme.co](https://www.visme.co/) which is similar to canva but they have lots of templates for timelines, so I decided to try them out.

With my list in hand, I started adding info to a template I liked. Thank goodness I decided to keep track of groups added, removed and changed over the years!

🥳 And here's the final result! Not too shabby for a quick modification and change of colours.

![project-2020-11-19_12-11_PM (3)](https://dev-to-uploads.s3.amazonaws.com/i/4rd06natqvn7uhafox9e.jpg)
 
I'm still mind-blown 🤯 with the amount of diversity in tech groups here on the island of Ireland. It's still very much needed and we all have a lot of work to do. As long as the community work together, I hope we will make it better for all as the time goes by.

# 📢 Call to Action
Let me know if:-

* List is missing an Irish/N.Irish diversity in tech group
* There's a defunct group and needs to be removed
* Group has changed its name
I Failed, and That’s why I am going to Succeed!
Published: 2020-11-19 19:41:07

“It’s not about how hard you hit. It’s about how hard you can get hit and keep moving forward. How much you can take and keep moving forward.”
@Rocky balboa

I have failed.

I took up a challenge of writing one blog post a day, every day, for at least 366 consecutive days.
Wrote one post, which you can read on my Imperfect Tech Blog that I’ll link at the bottom of the post.

The next day I did not manage to publish another one.

The reasons, as I understand them, are diverse and probably many.
But I think that you would benefit by looking at it from a different perspective.
What is interesting to me, is not so much what happened to me while trying or failing that challenge, But what follows afterwards.

Let me tell you the story of how I became vegan. I’ll keep it short:

“Fortunately, I am no stranger to failure. Failure is something that happened to me many times and in many fields. Too many to count.”
@Me

Around 3 years ago, I decided it was time to try to go vegan again. I stumbled upon a nice Facebook page called “Challenge 22” which seemed like a great way to get into the matter.
“Challenge 22” is basically trying to go 22 days of vegan only nutrition.
I wouldn’t want to bore us (yes, me included) with more information about it, and that is not to say that I found any fault in it.
Only that at the moment, it seems irrelevant.

I went at it for one day exactly.
Relapsing on the next day and falling back into the old familiar unhealthy diet.
Fortunately, I am no stranger to failure. Failure is something that happened to me many times and in many fields. Too many to count.
And why would I want to count it anyway? Is there any competition for it that I wasn’t aware of?

Never mind, I’m getting distracted.
The Interesting thing to me, and hopefully beneficial to read about for you, is what followed, a day after that failure.
Very casually and with no bells and whistles, I started eating only vegan food.

Have been going at it ever since, which is now a little over 3 years ^^.

You can say that I am pretty happy with how it has turned out.
Did it go like I thought it would? or like I thought it should?
Neither.
Is it important for the sake of my goal of becoming vegan?
Not at all.
Does it hold any importance regarding anything else?
Probably. Hence this blog post.

I am a bit agitated and impatient at the moment.
And so I will not articulate more than I already have regarding the point that I am trying to get across.

I’ll end with this:
This blog is a revival of my attempt to enter a regimen of writing one blog post a day, every day, for a course of at least 366 consecutive days (why did I choose this number you ask? more on this, hopefully, in future posts).

Ok I must admit, I did a small manipulation in the title of this article.
The more accurate way to phrase what I wanted to say is this:

I Failed, but I Keep Trying, And That’s why I am going to Succeed!
The More I Learn, The More Absolutely In Love I Am.
Tags: computerscience, programming, gratitude, code
Published: 2020-11-19 19:40:26

Programming really does feel like a superpower. Getting a computer to do whatever you want it to do, is a pretty unmatched feeling.

If you’d take the time to merely understand what computer programming really is and what you can do with it, you’d quickly realize that the world is programming. You’d start to see the world with different lenses, you’ll notice problems around you and you’ll come up with solutions which you'd want to implement because you know they’d make life easier.

food for thought...

#What a gift! I’m in love!
Picking up Ruby, as a Python Dev & a mini fish app
Tags: ruby, python, codenewbie
Published: 2020-11-19 19:31:41

*This is a continuation of Picking up Ruby Fast, as a Python Dev. Again, expect examples with no math and minimal crappy names*

---

## Sending Messages to Multiple Methods?

I'm not sure if this is a thing you can do in Python, but you can do it in Ruby. In the example below `feed "dogs" if meal_time?(5)` runs 2 methods at once.

This `?` in `mealt_time?` is also new to me and I have not seen it in Python. In Python, I would've done my variable like `is_it_meal_time`.

```ruby
#ruby
def meal_time? time_hrs
  if time_hrs >=5
    puts "cat is singing song of his people, guess it's food time"
    true
  else
    puts "tell cat to try again in an hour"
    false
  end
end

def feed pet
    puts "put food in #{pet} bowl\n"

end

feed "cats" if meal_time?(4)
feed "dogs" if meal_time?(5)
feed "cats" if meal_time?(18)
feed "dogs" if meal_time?(18)
```

## Classes

Classes look a little different from Python to Ruby, but looks like it's basically the same concept. The `attr_accessor` and `@` are new parts to me.

## Mini Fish App combining the stuff I've reviewed so far

I've been meaning to build a mini app for tracking the levels of things in my fish tank, so here it is.

```ruby
# ruby
class Water_Level
  attr_accessor :time, :ph, :ammonia, :nitrites, :nitrates, :temp
  
  def initialize(ph, ammonia, nitrites, nitrates, temp)
    @time = Time.now
    @ph = ph
    @ammonia = ammonia
    @nitrites = nitrites
    @nitrates = nitrates
    @temp = temp
  end
end

Water_Level.new.time

class Levelizer
  def initialize(title)
    @title  = title
    @levels = [] 
  end

  def add_a_level(ph, ammonia, nitrites, nitrates, temp)
    # The << means add to the end of the array
    @levels << Level.new(ph, ammonia, nitrites, nitrates, temp)
  end

  def show_timeline
    puts "Fishify: #{@title} has tracked #{@levels.count} Levels"

    @levels.sort_by { |t|
      t.time
    }.reverse.each { |t|
      puts "#{t.ph} #{t.ammonia} #{t.nitrites} #{t.nitrates} #{t.temp} #{t.time}"
    }
  end
end

myapp = Levelizer.new "Vicki's Betta Tank"

myapp.add_a_level 7.4, 0, 0, 0, 78.2
myapp.add_a_level 7.4, 0, 0, 0, 72.3
myapp.add_a_level 7.2, 0, 0, 0, 79.1

myapp.show_timeline

"""
# output
Fishify: Vicki's Betta Tank has tracked 3 Levels
7.2 0 0 0 79.1 Thu Nov 19 2020 14:04:59 GMT-0500 (Eastern Standard Time)
7.4 0 0 0 72.3 Thu Nov 19 2020 14:04:59 GMT-0500 (Eastern Standard Time)
7.4 0 0 0 78.2 Thu Nov 19 2020 14:04:59 GMT-0500 (Eastern Standard Time)
"""

```

---
Reminder to self: do not work at places that think unpaid work is acceptable.

{% twitter 1329127215993397252 %}

---
If you missed the first post in this series, I've heard it's a good read and there's cats.
{% post https://dev.to/vickilanger/python-to-ruby-1hc2 %}
requirements.txt in your requirements.txt
Tags: python, pip
Published: 2020-11-19 19:24:21

Are you managing multiple requirements files for your Python project? Are you copy-pasting rows from one file to the other when changing versions? Maybe you have one requirement file for development and one for production. Or maybe a separate file for that docker image. Fear no more! Here's how to do it.

# Starting point
Let's jump straight into an example. In this application, I have two requirements files, one for production install, and one for development.

requirements.txt:
```
requests>=2.25.0
pandas>=1.1.0
```
requirements-dev.txt:
```
requests>=2.25.0
pandas>=1.1.0
pytest>=6.1.2
responses==0.12.1
```

As you can see we have duplicated the requests and pandas rows. This can lead to trouble when updating dependencies. Forgetting to update requirements.txt could, in the worst-case scenario, lead to downtime in production. 
> There must be a better way? -- Raymond Hettinger

Yes, there are at least two better ways!

# Multiple -r Flags when Installing
You can actually use multiple files when running the `pip install` command. First, let's edit the files.
requirements.txt:
```
requests>=2.25.0
pandas>=1.1.0
```
requirements-dev.txt:
```
pytest>=6.1.2
responses==0.12.1
```

Now each dependency is just defined once! To install the full development environment we would run:
```
$ pip install -r requirements.txt -r requirements-dev.txt
```
While this works and is better than before, it still doesn't really feel right. This is will probably trip people up when joining the project. Let's look at the final and best way to solve this!


# requirements.txt in requirements-dev.txt
When installing with pip we use the -r flag to refer to a requirements file. We can do this inside another requirements file as well. 
requirements.txt:
```
requests>=2.25.0
pandas>=1.1.0
```
requirements-dev.txt:
```
-r requirements.txt
pytest>=6.1.2
responses==0.12.1
```

Now you can install all development dependencies using only: `pip install -r requirements-dev.txt`. To install the production environment you still use `pip install -r requirements.txt`.
Einstein Vision
Tags: javascript, beginners, deeplearning
Published: 2020-11-19 19:20:05

Einstein Vision brings the power of AI to create deep learning models that can classify and recognise images. 
Learn how Vision technology works through these multipart fun illustrated notes

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/shvh9rz1kgrcusyj9vj9.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/32y9rstllmzkc6z7l8nt.png)
How does one can track a link to sale conversion ? [Question]
Tags: question, marketing, devops
Published: 2020-11-19 19:03:39

Hi, I'm wondering how does a system to track someone from the moment they clock a link to the moment the product advertised is made ?

Tracking a click, add utm to get some metrics and shorten that: I grasp the concept

But shall the utm be present in the URL at all moment to know the conversion funnel ?
What if the website adding theses utm decide to lose them on the buying point ? Or simply not returning the data that an item was bought via the sponsored link ?

Thank you in advance for your answers !
U.S. Military Buying Location Data, Apple Server Problems, School Ransomware Attacks, & more on DevNews!
Tags: news, podcast
Published: 2020-11-19 18:42:25

---
title: U.S. Military Buying Location Data, Apple Server Problems, School Ransomware Attacks, & more on DevNews!
published: true
description: Check out S2E4 of the DevNews pod!
tags: news, podcast
series: DevNews Season 2
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/zoxvbu0494gq3sxtjp4v.png
---

### **This week on the DevNews podcast...** 

{% podcast https://dev.to/devnews/s2-e4-u-s-military-buying-location-data-github-reinstating-youtube-dl-apple-server-problems-and-school-ransomware-attacks %}


### @saronyitbarek and I chatted about some pretty fascinating software development-centric stories:
- Apple's server problems — slowdowns and crashes for app launching in all versions of MacOS 😱  
- The rise of school districts being the targets of ransomware attacks
- GitHub reinstating youtube-dl


We also talked about the data location industry and who is being targeted with Senior Staff Writer at Motherboard, [Joseph Cox](https://twitter.com/josephfcox). Joseph wrote a piece called [“How the U.S. Military Buys Location Data from Ordinary Apps"](https://www.vice.com/en/article/jgqm5x/us-military-location-data-xmode-locate-x) which made Saron and I pretty excited to get his perspective on this topic!


_You can [follow DevNews](dev.to/devnews) to get episode notifications and listen right in your feed_ — or subscribe on your platform of choice! Plus, if you leave us a review, we'll send you a free pack of thank-you stickers. Details [here](https://airtable.com/shr8oKAIMZgdYnBxx). 

## Quick Listening Links
- [Apple Podcasts](https://podcasts.apple.com/us/podcast/s2-e4-u-s-military-buying-location-data-github-reinstating/id1525581923?i=1000499416566)
- [Spotify](https://open.spotify.com/episode/40i5O6Khvj7SbxnkZ3xZaq)
- [Google](https://podcasts.google.com/feed/aHR0cDovL2ZlZWRzLmNvZGVuZXdiaWUub3JnL2Rldm5ld3NfcG9kY2FzdC54bWw/episode/aHR0cHM6Ly9kZXZwb2RzLmRldi9wb2RjYXN0cy9kZXZuZXdzLzEy?sa=X&ved=0CAQQkfYCahcKEwiQi7eqoI_tAhUAAAAAHQAAAAAQAw)
- [Stitcher](https://www.stitcher.com/show/devnews)
- [Listen Notes](https://www.listennotes.com/podcasts/devnews/s2e3-apple-arm-macs-covid-19-7dF24Tz0oAQ/)
- [TuneIn](https://tunein.com/podcasts/Technology-Podcasts/DevNews-p1352512/?topicId=158867172)
- [RSS Feed](http://feeds.codenewbie.org/devnews_podcast.xml)
- [Transcript](https://devpods.herokuapp.com/podcasts/devnews/episodes/66)
- [PocketCasts](https://pca.st/jlf80wii)

---
_Acknowledgements_ 
- _@levisharpe for producing & mixing the show_
- Our season two sponsors, [Triplebyte](https://triplebyte.com/a/YU8fSn0/d) and [Vonage](https://nexmo.dev/devnews2)!

# 🗞️🗞️🗞️
Daily Challenge #308 - Wave Sort
Tags: challenge
Published: 2020-11-19 18:40:57

---
title: Daily Challenge #308 - Wave Sort
published: true
series: Daily Challenge
description: Implement a function that takes a list of integers and sorts it into wave order.
tags: challenge
//cover_image: https://direct_url_to_image.jpg
---
A list of integers is sorted in “Wave” order if alternate items are not less than their immediate neighbors.

Therefore, the array [4, 1, 7, 5, 6, 2, 3] is in wave order because 4 >= 1, then 1 <= 7, then 7 >= 5, then 5 <= 6, then 6 >= 2, and finally 2 <= 3.

The wave-sorted lists has to begin with an element not less than the next, so [1, 4, 5, 3] is not sorted in wave because 1 < 4

Your task is to implement a function that takes a list of integers and sorts it into wave order.

###Tests
`[1, 2, 34, 4, 5, 5, 5, 65, 6, 65, 5454, 4]`
`[3,2,5,1,6]`
`[1, 2, 3]`

Good luck!

***
_This [challenge](https://www.codewars.com/kata/596f28fd9be8ebe6ec0000c1) comes from kodejuice on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
Hey HSLA!
Tags: css, javascript, ux
Published: 2020-11-19 18:36:45

It's been interesting to see the industry slowly shift towards HSL(A) (Hue, Saturation, Light, Alpha).  I've recently had the luxury of building a design system from scratch, and decided to use HSL. Given another year I may have chosen [LCH](https://www.w3.org/TR/css-color-4/#specifying-lab-lch) instead, but for now HSL seems like a flexible way to manage colours whilst enjoying good browser support.

Given that we have a brand colour that is dark red.
```javascript
const brandColour = [0, 100, 20]; // "hsl(0, 100%, 20%)"
```

I can easily "rotate" the hue and create new colours that match the brand. Or we can manipulate the saturation of the colour and lightness to derive various shades.

```javascript
const contrastColour = [200, 100, 20]; // dark blue
const primaryHighlightColour = [200, 20, 90]; // light pink
```

This allows us to programmatically define the rules of the colour system.  Reducing colour "bloat" and making holistic change easy and safe.

These colours can then be exposed, either as CSS custom properties or through a CSS-in-JS theme. Either way I'll not add the `hsl()` function to the variable itself.

```css
--brandPrimary: 0, 100%, 20%
```

When we implement a colour we may need disabled states and other variations.  It's useful to have a final bit of flexibility here. By storing the values rather than the function we can easily use the `hsla()` function instead.

```css
button {
  background-color: hsl(var(--brandPrimary));
}
button:disabled {
  background-color: hsla(var(--brandPrimary), 50%);
}
```

It will be interesting to see how this approach evolves, but right now the design system I'm building uses just six core brand colours, from which all others are derived. This is simpler by an order-of-magnitude compared to systems I've worked on previously.
The Winner's Attitude
Published: 2020-11-19 18:32:05

I am sure you know someone in your life who tends to excel in almost every single activity or at least be good at everything if not the best.
Whether it’s sports or education or even cooking, they will give their best in everything.

The winner's attitude is not about winning at all. It’s about giving your cent-percent for a particular task without caring about the outcome. It’s about enjoying the process. Learning new things. Being better than you were yesterday.

It’s not that I have cracked this code and I am suddenly good at everything. Frankly, quite far from it. I am still trying to be better, every single day.
This article is just a reminder to me about what I need to do.

FOCUS.
Open Source Bhagavad Gita API v3.1
Tags: opensource, node, webdev, javascript
Published: 2020-11-19 18:22:35

## About

[Bhagavad-Gita-API](https://docs.bhagavadgitaapi.in/) is A lightweight Node.js based Bhagavad Gita API server 

{% github vedicscriptures/bhagavad-gita-api %}


## 💡 API key

> No api key required it's completely free to all

## 🚀 Api Reference

1. GET [/slok](api-reference/get-slok.md)
2. GET [/slok/:ch/:sl](api-reference/get-slokm.md)
3. GET [/chapters](api-reference/get-chapters.md)
4. GET [/chapter/:ch](api-reference/get-chapter.md)
5. GET [/gita.svg](api-reference/get-gita.svg.md)

{% youtube 1OVXdkFoKIg %}

## 💻 Built with

| | |
|:---:|:---:|
![Node.js](https://img.shields.io/badge/node.js%20-%2343853D.svg?&style=for-the-badge&logo=node.js&logoColor=white) | ![express](https://img.shields.io/badge/express.js%20-%23404d59.svg?&style=for-the-badge) | 
| ![MongoDB](https://img.shields.io/badge/MongoDB-%234ea94b.svg?&style=for-the-badge&logo=mongodb&logoColor=white) | ![Heroko](https://img.shields.io/badge/heroku%20-%23430098.svg?&style=for-the-badge&logo=heroku&logoColor=white) |

## 🙏 Support ✨

<p align="center">
	<i>Loved the tool? Please consider <a href="https://paypal.me/ptprashanttripathi/100">donating</a> 💸 to help it improve!</i></p>
<table><tr><td><a href='https://ko-fi.com/ptprashanttripathi' target='_blank'><img height='23' width="100" src='https://cdn.ko-fi.com/cdn/kofi3.png?v=2' alt='Buy Coffee for ptprashanttripathi' /></a>
</td><td><a href="https://www.buymeacoffee.com/ptprashant09" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="23" width="100" style="border-radius:1px" /></a>
</td></tr><tr><td><a href="https://paypal.me/PtPrashantTripathi"><img height='23' width="100" src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ahrtlb39yj54e4z96e96.png" alt="Donate"/></a>
</td><td><a href="https://ptprashanttripathi.github.io/linkpe?pa=pt1998@ybl&pn=Pt.+Prashant+Tripati" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/e/e1/UPI-Logo-vector.svg" alt="Support Via UPI" height="23" width="100" style="border-radius:1px" /></a>
</td></tr></table>

## 🤖 Questions and Feedback

**Please contact me using one of the following:**

GitHub - https://github.com/ptprashanttripathi
twitter - https://twitter.com/ptprashant09
DEV.TO - https://dev.to/ptprashanttripathi

Developed with ❤️ in India 🇮🇳
How to batch geocode via API and get an interactive map
Tags: batchgeocoder, geobatch
Published: 2020-11-19 18:20:29

Maps are used today very often. In fact 30% of all Internet search involves some type of map result back. Consumers looking for maps, business looking for locations, the list never ends.
There are great solutions out there: start with google, HERE, Open source Nominatim, etc.. They all have their pro and cons.
What separates this [batch geocoder](https://csv2geo.com) is the ability to produce an interactive map via API alongside with the geocoded data. 
For a start you would need an account with CSV2GEO. The account is free of charge and in fact you can use it for test drive as 100 daily [geocoded csv] (https://csv2geo.com) results are free. In order to use the API you would need to sign up as a paid subscriber at [geocoded subscriber](https://csv2geo.com/price). Prices start currently at $49 per month.

[Geocoded API documentation] (https://csv2geo.com/api/documentation?language=Python#csv2geo-api) should guide you through the process. 
If any issue, [contact us] (https://csv2geo.com/contact/login)
Rendering Calendars - Building SaaS #68
Tags: python, django, views
Published: 2020-11-19 18:11:05

{% youtube m5DzshHHX_w %}

In this episode, I worked on rendering a calendar of important events in a school year. We built out the appropriate data structures, and I wrote some new model methods and added tests.

On the last stream, I created a new model to track breaks in the school year. The app now shows the calendar for the school year, and I want to display the breaks on the calendar.

Before digging too far into the code, I provided my thoughts about using Docker for development from a question that came from the chat.

I created some breaks so that we could see the data on the calendar. Then we made some changes to the calendar builder to include the break days. To do that, I needed a new model method to query the school year for any breaks that happen on a particular date. We added unit tests to the new method.

Once the date was available, I adjusted the templates to display the school breaks and style them in a nice manner.