fabiochiu/medium-articles huggingface dataset:
HTMLAudioElement Can Decode Encoded Strings
By: Josh M.R. Allen
Tags: Ruby, JavaScript, Rails, React, Web Development

I was messing around with Google Cloud’s Text to Speech API and wanted to test it out by making the call on a Rails backend and receiving the response with a React frontend and playing the sound.

I won’t go into how to use the Google Cloud Text to Speech SDK Gem for Rails, but needless to say, the example code given in the documentation has everything you need.

I will, however, walk through how I made the call to Google Cloud to get the “sound” of the text I sent it.

I created an App called “Du It!” which I made specifically to make reading novels in Mandarin easier for learners of Mandarin who speak English.

https://youtu.be/VHXAkeIC1_0

In my Rails API, I have a model called ‘Word.’ A new instance is created when a user looks up words in the app itself. Upon instantiation, a separate request to Google Cloud Translate gets the English definition, while a useful gem I found provides the pronunciation for the given word.

Now for the audio.

The request to Google Cloud Text-to-Speech is made when a user clicks on the character for the gender of voice located on each bottom corner of the definition card:

Note that the gender is the Chinese character for male/female respectively, for the diligent learner of Mandarin.

Once clicked, the following instance method will be called on the specific word object:

An instance method of the Word model, which is called by a method in the Words Controller. The value ‘female_response’ is JSON, with a key ‘audioContent’ and value of a base64 encoded string.

The response received from Google Text-to-Speech will be a base64 encoded string.

Before this, I was pretty ignorant of how to use encoded strings, and doubly ignorant of how to handle audio that’s encoded as one. Even the documentation for the HTMLAudioElement doesn’t clearly point to any capability of dealing with them.

Nevertheless, I stumbled across a JS Fiddle by Andrey Kogut that cleared everything up for me spectacularly:

Notice the parameters passed into the Audio() constructor: ‘data: audio/ogg; base64, …’

Andrey here used audio/ogg for his formatting, but mine was in audio/mpeg (i.e., an mp3, as you’ll notice in the options specified in the instance method.

So, it was just a simple matter from there to specify “data: audio/mpeg; base64” and the entire encoded string for the Audio() object to decode; which I implemented as such in a method on my React front-end:

I love interpolating strings.

The result? Actual audio of the word that can be heard as the user reads a novel in Mandarin. It’s amazing and I’m really thankful that I was able to stumble across Andrey Kogut’s JSFiddle as I did.

I can’t say how many times I’ve tried to bunker down and commit to reading in my 2nd language, only to be derailed because I had no idea how to pronounce a character/word. Having a flow to your reading is where the joy of reading springs from; and the potential to develop that love for reading in another language only adds to the joy of reading.
Rails Blog API Part 3
Tags: Ruby On Rails Development, Ruby on Rails, Rails 6, Rails, Rails Api

It’s a new part, it’s a new story, let’s get our db setup and get our api endpoints correctly nested.

We’ll want ro create our database and run the migrations you can chain these commands one after the other or you can run:

rake db:create

rake db:migrate

It worked!

Now we can start up our service and make a request to the generic endpoint localhost:3000/blogs, to do this you can use curl in the command line or a tool like chrome’s postman which is what I’ll be using, it has a nice UI and works well. You will see in the command window with your service running what it does when it recieves this request:
[MySQL] 使用 update_all & subquery 可能會鎖住全表
By: Shih-Ying Chen
Tags: Rails, MySQL

團隊最近遇到一個 subquery + update_all 會鎖整張表的問題，花了一點時間研究

注意：以下為 MySQL 5.6 的實驗探討，在 MySQL 8.0.21 的這個機制已經被優化了

問題

假設有一份 schema 長這樣，有 users 和 posts 兩張表。

從 MySQL 看長這樣

users 新增了 100 萬筆資料，posts 新增了 1000 筆資料。

假設今天使用了一個 subquery 做 update_all

User.where(id: Post.where(id: [1,2]).select(:user_id)).update_all(name: 'Momo')

MySQL 的 statement 長這樣

UPDATE `users` SET `users`.`name` = 'Momo' WHERE `users`.`id` IN (SELECT `posts`.`user_id` FROM `posts` WHERE `posts`.`id` IN (1, 2))

感覺上因為 subquery 只會拿到兩筆資料，執行起來應該很快吧？但是執行起來卻很慢。來 explain 一下：

發現竟然掃描了整張 users 表，是怎麼回事呢。

MySQL 的 Subqueries 的 Optimization 策略

根據官方文件說明， 對於 IN subquery 有三種方式去優化，分別是 Semijoin、Materialization、EXISTS strategy。但是在下面有的附註寫到：

A limitation on UPDATE and DELETE statements that use a subquery to modify a single table is that the optimizer does not use semijoin or materialization subquery optimizations. As a workaround, try rewriting them as multiple-table UPDATE and DELETE statements that use a join rather than a subquery.

其實 UPDATE 搭配 subquery 是會使用 EXISTS strategy 的。

這件事可以透過調整 optimizer_switch 用 EXPLAIN EXTENDED + SHOW WARNINGS 來驗證 SELECT 時的 query ：

set optimizer_switch='semijoin=off,materialization=off' EXPLAIN EXTENDED SELECT * FROM `users` WHERE `users`.`id` IN (SELECT `posts`.`user_id` FROM `posts` WHERE `posts`.`id` IN (1, 2))

發現看起來跟上面 update 的 explain 很像：

執行 SHOW WARNINGS ，可以看到 IN query 是被改寫為 EXISTS ：

/* select#1 */

select

`update_subquery_development`.`users`.`id` AS `id`,

`update_subquery_development`.`users`.`name` AS `name`,

`update_subquery_development`.`users`.`created_at` AS `created_at`,

`update_subquery_development`.`users`.`updated_at` AS `updated_at` from

`update_subquery_development`.`users`

where

<in_optimizer>(

`update_subquery_development`.`users`.`id`,

<exists>(

<index_lookup>(<cache>(`update_subquery_development`.`users`.`id`) in posts on index_posts_on_user_id

where

((`update_subquery_development`.`posts`.`id` in (1,2))

and

(<cache>(`update_subquery_development`.`users`.`id`) = `update_subquery_development`.`posts`.`user_id`)))

)

)

所以這個 update statement 其實會以掃描整張 users 的方式來進行，在 transaction 進行中是會鎖住整張 users 表的。因此如果使用 update + subquery 時要注意如果外表是很大的表，可能會有問題。

使用 JOIN 改寫

一個優化的方式是可以使用改寫成 join clause 的方式來避開這個問題，例如：

User.joins(:posts).where(posts: { id: [1,2] }).update_all(name: 'Momo')

MySQL 的 statement 長這樣

UPDATE `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` SET `users`.`name` = 'Momo' WHERE `posts`.`id` IN (1, 2)

explain 看看：

MySQL 8.0.21 之後有優化了

從官方文件這邊提到 8.0.21 之後，UPDATE 也可以用 semijoin transformation：

In MySQL 8.0.21 and later, a semijoin transformation can also be applied to a single-table UPDATE or DELETE statement that uses a [NOT] IN or [NOT] EXISTS subquery predicate, provided that the statement does not use ORDER BY or LIMIT , and that semijoin transformations are allowed by an optimizer hint or by the optimizer_switch setting.

實驗了一下的確有優化了：
[Ruby] Block 應用
Tags: Rails, Proc, Functional Programming

Understanding Ruby's :symbol.to_proc

At work, someone posted this code to our #rails channel and asked if there's a more ruby way to skip the re-assigning…
Lock it carefully!
By: Zain Butt
Tags: Rails, Race Condition, Locking

So, to avoid getting into said issues above, we use locking all over our application where needed. But there was one place where locking produced an error while running specs that were caught by our CI tool although the specs were passing locally.

Turns out the locked object somehow became dirty (modified) and locking a dirty object raised an error.

Locking a record with unpersisted changes is not supported. Use `save` to persist the changes, or `reload` to discard them explicitly.

Make sure to reload or save any modified changes to your object before locking it.
The Corner’s Surface Reveals a Foundation of Skills
Tags: Contemporary Art, Oil Painting, Trinidad And Tobago, Critique, Analysis

Timothy Somai’s oil painting journey starts off by carrying strong similarities to the Baroque style. He effectively makes use of the surface of oil paint which tends to dry differently to acrylic and has the ability to push the paint and blend it to visually portray light and dark. The viscosity of oil paint allowed ‘Corner’ to bring forward the vase of leaves and show depth in the space.

The artist’s experience with drawing is shown with the way in which proportions are frequently studied for example the negative space between the adjacent vase of leaves and the wooden door. Having elements such as overlapping and contrast to adhere to while taking into consideration the perspective the composition was a good test of ability. Even though the subject matter is the corner of this unknown space the vase of leaves carries much significance so much so that the foreground and background are easily distinguishable. The comforting light that graces the corner brings the element of sharp contrasts illuminating subject matters such as; the reflective vase; segments of the cabinet doors, which then adds depth to this particular area; and the surface which the vase of leaves sits on. Color in ‘Corner’ focuses on imitating appearances and it is understood the artist began this painting with the intention of carrying out realism as best as possible. This is noticed in the reflection of light in the vase which takes into consideration the background and the object located inside the vase.

A lack of patience is shown in the piece the way the artist begins to lose the discipline of keeping track of light and dark by adding high value in areas where there shouldn’t be, for example the wooden door which is virtually similar to the value of the wooden frame. Outside the door is another example of this characteristic the way in which little time was placed into the bushes even though they were in the background. These abnormalities will not take away from the artist’s ability to successfully convey depth and contrast while experiencing the complexity of oil paint.
Is it Biased?
By: Riley Lopez
Tags: Christianity, Writing, Analysis, Biases And Fallacies

With the amount of content in the world, it may be hard to tell which sources are valid, and countless scholarly articles and teachers have told students exactly how to tell of it is a reliable source to cite. One thing students are told to look out for is if the source itself uses many valid sources. Also, the source needs to come from a reputable place. The author also must be reputable. The source also needs to have the purpose to inform not to persuade. Most importantly the source needs to be unbiased.

The article titled “Is Christianity a Cult?” Is biased; making it a not valid or reliable source. To be a reliable source it needs to have multiple sources. The article only uses one source, a book, as evidence proving its point that christianity is not a cult. Even with one source the article only cites a small part of the book.

Upon more research, the website in which that article came from features many other religious articles, mainly focusing on christianity. One article on the site talks about how an atheist turned to christianity and another article told the story of a jewish woman who converted to christianity. This makes the website where the article came from not reliable to show different perspectives. The author Judah Kampkes also has written many christian oriented articles, making him biased. In his article “Is Christianity a Cult?”, Kampkes makes his biased clear at the end of the article when he says, “our challenge is to trust that God will do the good work”. By putting himself into the article in this way, his biased becomes clear.

The main demographic of the article appears to be christians, with the purpose to reassure and persuade them that their not in a cult. So as to be unbiased, Kampkes should have acknowledged his bias and written it using multiple sources and showing multiple perspectives. He also could have addressed certain correlations, if any, between christianity and cults. The article also contains several typos, once again proving its invalidity.
The Parenti Question
By: The Acheron In Motion
Tags: Analysis, The Acheron In Motion, Marxist Theory

Note: Some of the readers contacted me to discuss both the strong and the weak points of this article. As for now, there are a few structural, grammatical and technical errors in the essay, which I will revise soon. The current edition has some omissions that need clarification and further citation, without which it seems just as confused and false as Parenti’s exposition of “pure socialism.” The finalized edition will be available soon.

The Acheron In Motion
Getting your financial Rights?
By: Business Ideas
Tags: Accounting, Analysis, Startups, Business, Finance

It may have occurred to you just how complex and vital ‘getting it right’ is when it comes to saving, investing, maximizing the value of your wealth and planning for a safe, comfortable retirement. If so, you’ve probably asked yourself if you should employ a financial planner or advisor.

Similarly, if you’ve felt the pressure of deciding on a big investment, such as a home or education — or felt overwhelmed with the financial details after a wedding, the birth of a child, divorce, death of a spouse, or major illness — you’ve probably wondered about finding someone to advise you.

https://www.fiverr.com/akramdurrani1/do-financial-analysis-ratio-analysis-and-investment-appraisal
Union-Find(disjoint-set) Data Structure
Tags: Graphs, Kruskals Algorithm, Analysis, Union Find Data Structure

One of the main challenges in implementation of Kruskal’s algorithm is deciding whether to add edge (u, v) to a component or not. What we need to do there is, we need to find the components that u and v lie in, and see if they are the same or not. If they’re the same, don’t add, if they’re different, do add.

We need a data structure that support operations of union and find.

So the union-find implementation works as follows, we maintain all the vertices, all the connected components, and the members that the components are gonna live in a set of trees.

These trees are called up-trees because here, children points to the parents but are drawn upside down so the root is at the bottom with leaves at top. In addition we also have an array of pointers that point from all the vertices of the graph to their location in the up-trees. All the vertices lie only once in this structure. Additionally all the vertices that lie in a up-tree is said to lie in one component.

For instance, let’s suppose we have three components:

g -> c -> d -> a (a is root) h -> i -> j -> e (e is root and h the leaf) f -> b

Name of the component is the vertex at the root. So name of component of g is a and for j is e. We will also have to see that when we do union and find operations none of these would take more than ‘log n’ steps so that everything be efficient.
How to Overthink Anything
By: Rick Lowrey
Tags: Goals, Guitar, Overthinking, Analysis

As a combination computer geek and guitar geek, it is sort of in my nature to examine all aspects of a problem before making a decision. Once I start down this path, I feel like I must truly understand the entirety of the problem space. For instance, if I use different pin materials, will it cause a difference in how tone is passed from the plucked string to the bridge plate? (The answer, for those interested is “yes”.) What would those differences be? And so the search begins.

Pursuing each line of questions is time-consuming. My lovely artist-ex-rocket-scientist girlfriend refers to it as “going down the rabbit hole”. Once I think I understand the characteristics of bridge pin materials, then the next question that pops up is, what about the material the bridge plate is made of? Do harder woods have different qualities than softer woods? Or metal or ivory? (Again, the answer is “yes”.)

So now that I understand the pins and the plate, what about how the combinations of materials work together? Do different combinations of pin/plate give different tonal qualities when you’re playing? Again yes.

Here’s where the overthinking part comes in. Every time you dig into the characteristics, and find a “yes” answer, it almost fractally generates more questions. “Why do some pins have slots? Why do some bridge plates get glued on and others float? Which is better, mahogany or ebony?” At some point you start asking such deep questions that you lose sight of what you were originally trying to accomplish. You can spend a tremendous amount of time accumulating facts that might be fascinating, but ultimately are unrelated to the goal.

Fortunately there’s a solution to this. It’s so simple it’s almost painful.

Every time you ask a question that opens up new questions, stop yourself and pose this question:

Does pursuing this topic get me closer to what I was originally trying to accomplish?

So, in my case I wanted to play my guitar. What stopped me? The strings were old and worn. What should I do to accomplish my goal and play? Change the strings. What do I need to do to change the strings? I need some new replacement strings (let’s not go down THAT rabbit hole!). Once I have the strings, then I go to the next step, and the next, and the next. When I get to the point of assessing tonal qualities, is that even germane to my goal? Actually it is. I prefer my acoustics to be warm rather than twangy. By understanding the construction of my guitar (ebony bridge plate) I was able to figure out that bone bridge pins would be the best material to get the sound I preferred. Mission accomplished!

And, since I found ones with mother-of-pearl inlays to match the inlays around the sound-hole and binding, it was a no-brainer…I didn’t have to think at all. Sort of like a car that’s just been washed runs better (wink, wink), a pretty guitar just sounds better.

Right?
How to break into the field of Data Science
By: Tara Haddadin
Tags: Salary, Career Advice, Machine Learning, Data Science, Analysis

Photo by Myriam Jessier on Unsplash

Introduction

As one of the most exciting fields in the recent years, many people are looking for the right path to break into data science and machine learning. Using a data-driven approach, I decided to dig deeper to uncover the answers to the most common questions. I analyzed data obtained from Glassdoor to answer the following 3 questions:

What are the top industries hiring data professionals

To answer my question, I grouped the data by sector and visualized the top 10 sectors that has posted jobs for data professionals.

The result matched my expectations, where the information technology sector is the one most in demand for data professionals.

2. What tools are the most important to learn

Another question in which there is a lot of debate around is which tools should you learn to land a data job. Many people are learning tens of new tools and technologies to keep up with the rapid advancement in this field.

I decided to classify the job posting for senior positions by adding a new feature. Afterwards I created a pie chart to see which technology is most in demand for senior positions only.

The chart above shows us that knowledge of Python programming language is the most in demand skill for senior job positions. The second top skill is Excel, which many people nowadays underestimate as a powerful tool to analyze data.

3. Which data role has the highest salary

Finally, I wondered which job title in the field of data science had the highest salary. In order to take a closer look at this, I classified the job postings into a uniform job title naming convention, and I represented my findings in a bar chart.

Here, we can see that Machine Learning Engineers, Data Architects and Data Scientists are the highest paid data professionals in the market.
U.S. Unemployment Claims Signal Slowdown in Economic Recovery.
Tags: Economy, Analysis, Unemployment

Unemployment claims in the United States increased to a three-month high, whilst coronavirus cases continue to rise. A strong sign that our economic recovery is slowing down.

Unemployment claims rose for the second straight week to 885,000 in the week ended Dec. 12, the Labor Department said Thursday. Last week marked the highest level for claims since September, when 893,000 workers applied for jobless benefits.

Coronavirus is a big catalyst to the inability of the unemployed to be absorbed by the economy. We expect that in order for hirings to start picking up, the majority of the population has to be vaccinated at a percentage rate of 60%–80% — which will happen approximated in late Q2 ’21.

Continuing claims, a proxy for the number of people collecting unemployment benefits through regular state programs, fell to 5.5 million in the week ended Dec. 5, from 5.8 million a week earlier, on a seasonally adjusted basis.

Both the extended-benefits program and a program that provides benefits to those not typically eligible for jobless aid — such as independent contractors and self-employed individuals — will expire at the end of this year. However, the Senate Minority Leader Chuck Schumer says both the House and Senate could vote Sunday (DEC 20) on $900 billion bill which will include $600 stimulus checks and $300 weekly for unemployment.
Among Us: Critical Analysis of Game Elements
Tags: 2020, Among Us, Essay, Games, Analysis

“Among Us” is a game where players who have been selected to be crewmates have to finish assigned tasks on a spaceship while imposter crewmates among them are attempting to kill everyone. In this article, I will focus on the interactions between players and some elements that make Among Us a unique, intriguing game.

Understanding how players interact with each other is critical in any analysis of a multiplayer game. The text chat and voting system in Among Us provides players with ways to communicate as they discuss and decide who to eject from the spaceship. The time limits of these services are customizable and can range from 0s to 120s or 0s to 300s. The difference in the time limit maximums involves a delicate design in which we can see that voting time is 3 minutes longer than discussion time. During the voting time, the fact that players are still able to message one another leads to more uncertainty. Players who have already voted might influence other players in that people tend to follow the crowd, and any turbulence in their original plans might cause confusion and conflict, which makes a game more thrilling and challenging. Therefore, we can see that the variation in maximum time limits contributes to increasing the intensity of the game.

Furthermore, there are two ways for players to start a discussion — reporting a dead body or pressing an emergency button. The existence of the emergency button diversifies the gameplay strategies, and grants players the power to direct public opinion. Players are not restricted to passive reporting after someone is killed by imposters, which lends some balance of power between crewmates and imposters. It can serve a tool for crewmates to fight back and identify the bad guys; at the same time, it can be used by imposters to deceive other players. The clever design of the emergency button brings the game to another level, creating a situation where people are faced with challenges in trusting players who seem eager to help. This feature, combined with the discussion/voting time mentioned above, makes Among Us a well-designed game that brings people joy and the experience of humanity.
Don’t bury the lead
By: Bryan Whiting
Tags: Data Science, Analysis Paralysis, Analysis

A data scientist often drowns in information. Like a miner sifting for gold, we seek nuggets of insight. But what if nobody ever told you what was insightful?

It’s easy to go to the hills to look for gold and decide whether you found it. But if I told you to go to the hills to come back with something good, what would I get?

“Here’s the pinecone you wanted, sir.” “Oh that’s useless. I don’t want that. Get me something good. Really good. Not that.”

Was this exchange a wasted effort? Not entirely. Often we come out of a data exploration with pinecones, not knowing what was expected of us. But sometimes the adage, “I know it when I see it” applies to our stakeholders.

It’s rather inefficient to fetch and return with something, just to iterate slowly and learn you’re not getting what they’re looking for. One person described this once to me as asking a blind man to solve a Rubik’s cube. “Is it solved yet? No? Let me try again…”

How can we overcome this dilemma?

If they have no idea what they want, but they want you to create value, don’t waste your time. Go get a variety of pinecones, rocks, and bugs. See what sticks. Be variable. Rapidly iterate. Don’t optimize which pinecone is best. Don’t get stuck.

Or, a better place to start would be to discover burning questions. Problems that they have. Imagine you had the data they need. Then go see if you can find that data. (Seek the gold.)

It’s easy to bury the lead when you don’t know what the lead is. But if you know what they don’t know, start there. If they don’t know what they don’t know, feel it out. Experiment. Collect data.
Review: Halestorm-Vicious, 2018 (4th Album)
By: Tristian T. Browne
Tags: Album Review, Music, Rock, Analysis, Album

Must Listens-Buzz, Uncomfortable, Killing Ourselves To Live, Painkiller

Black Vultures 8/10 This song is characterized by resilience and the underdog who refuses to stay down Skulls 5/10 Not very captivating for me, the sentiment here is not ending up another person who knows nothing and preaches everything Uncomfortable 8/10 Much catchier track here, the motif here is control, whether proving you control your own path, or exacting control of another Buzz 9/10 This song illustrates the talent/range of the band’s singer Lzzy Hale, the thesis on this track is chasing a “buzz” of either a lover or drugs and booze Do Not Disturb 7/10 Slower track here, about a night of passion, no strings Conflicted 9/10 Enjoyed the chorus, this is about being torn between whether or not somebody is a good match for you Killing Ourselves To Live 10/10 This song depicts spending your life with someone and even if your both going down, it’s together, killer solo and vocals here Heart Of Novocaine 4/10 This song is written towards someone who broke one’s heart, an explanation of why the previously broken heart finds it hard to feel anything, I did not find it very catchy or captivating Painkiller 9/10 This song is about an addiction to the dopamine a person someone likes releases in their brain by being with them White Dress 7/10 This song is for a disappointed mother, elaborating that they can’t choose how their children turn out and they need to let them feel free to be themselves Vicious 5/10 I did not like this chorus all that much, though the verses were much more captivating personally, this song is centralized around the idea letting the negativity of others turn you into them, completing the “full circle” The Silence 8/10 Acoustic slow song fondly reminiscing old times with a certain person in one’s past

7.5/10
The Fall — Seeing Through a Screenwriter’s Eyes
By: Chiming Stories
Tags: Screenwriting, The Fall, Blog, Web Series, Analysis

Series 1, Episode 1 Analysis

The episode one is titled ‘Dark Descent’ and indeed the darkness falls engulfing not only the protagonist but also the antagonist, for the serial killer’s identity is revealed to us from the very start.

When we see Stella Gibson, who works for the MET (UK), working on an unsolved murder case, we also see the murderer visiting his next victim’s house. He is way ahead of the protagonist and is ready to attack again; the audience knows more than the protagonist and thus, stays engaged to know even more.

What is fascinating is that we are not told much about Stella Gibson’s personal life, rather the questions are left unanswered to be solved by the viewers gradually and thus, she remains Metropolitan Police Superintendent Stella Gibson who is smart, strict and brutal when it comes to dealing with murderers.

And on the other hand, we meet the antagonist, Paul Spector’s entire family — his wife and his two lovely children. Yes, the serial killer is a family man and not only that, but he is also a Grief Counsellor (a form of psychotherapy). We are repeatedly shown how particular he is about things in his personal and professional life, quiet in his demeanour, but always ready to pounce back if pestered. Paul Spector is an intelligent criminal.

These details show what Stella Gibson is up against, it makes the antagonist stronger, raises tension and keeps the viewer on edge.

One does not see scenes of murder or violence scattered impractically in this series, but the fact that a serial killer is on the loose, someone whose psychology the audience has now started to understand, creates another level of dreadful yet gripping mood.

We understand that two equally clever and fierce personalities are steadily moving towards each other, but we also get to know that the other characters, the side tracks, will come in their way — either to help or to obstruct. Such intricately are all the characters crafted that they stay with you.

One such character is Olivia, Paul Spector’s little daughter, who gets night terrors and is unable to sleep properly. In the first episode, it is established that Olivia is a bit too sensitive and picks on small things. In another scene, one of Paul’s patients, who recently lost his son and had come for counselling, tells him that his son died because “a son has to pay for the sins of his father”. Though Paul does not agree with him, we understand that this scene is a foreshadowing of what is yet to come.

In the first episode, Stella Gibson finds out a link between the case she is investigating and another murder case but struggles to convince her seniors that they are chasing a serial killer and not just a murderer.

Meanwhile, Paul Spector executes his plan, the darkness within overpowers him completely.
COVID-19 Snapshot Analysis
By: Andrew Coomes
Tags: Covid 19, Data, Pandemic, Analysis

COVID-19 Snapshot Analysis

Recorded at 1:15pm PST

Source: Johns Hopkins CSSE Global COVID-19 Dashboard

Data

Deltas are since November 24 (23 days ago)

lobal cases: 74.7M (Δ 15.2M)

Global deaths: 1.66M (Δ 260K)

Global case-fatality ratio: 2.2%

US cases: 17.1M (Δ 4.7M)

US deaths: 310K (Δ 52K)

US case-fatality ratio: 1.8%

Percentage of US population infected: 5.19% (roughly 1 in 19)
Popular Music
By: Hadie Artiel
Tags: Commercial, Music, Pop Music, Analysis

“Popular music, any commercially oriented music principally intended to be received and appreciated by a wide audience, generally in literate, technologically advanced societies dominated by urban culture.”

Popular music is a term that is never fixed: as we evolve, and our art does with us, so too what is considered pop; all classical music was ion its own time once considered pop, just as what is now pop may very well be considered classical in the future. Unlike traditional/ “folk” music, pop music is not passed down orally, but rather recorded or written on the spot and does not change much. It is as it is written. Of course, many people make covers of the song, but there is an artist, and performance directly attached to the song. This is why an interpretation/cover/version of a pop song may be disrespectful to the song because there is only so much interpreting or modifying that can validly be done to a piece that has been set in stone by it creator. In other words, most, pop music is immediately given a definition, and interpretation of this definition is much more limiting than a song that is passed down by ear through generations, that is prone to being changed or misheard. This is why unlike a concept, and allegorically speaking, pop music more closely resembles an actual artwork, than an idea. Music is not something that is permanently there like a picture, but rather flow with time, and need to be in motion to be appreciated. A actual set recording is most likely to produce the same effect over and over again (despite minor changes in things such as headphone quality, or location). Orally transmitted music, can differ with each performance, as can something that has been written down. This is why the development of technology that has the ability to record and replay a performance has been so fundamental in the creation of pop music. Furthermore, the interconnectedness (globalization) of cultures has meant that the popular sounds of different cultures have been shared across the globe. Popular music is not a selective term that automatically means popular western music. Different cultures have different ideals; in many countries the western scale is considered as strangely sounding as the Asiatic or middle eastern scale.Popular music is as familiar to human beings as their ability to create music. Due to our changing nature it will continue to change as we do. Perhaps in the distant future what was or wasn’t considered music will itself have changed with it.

References:

Brittanica (2019), Popular Music, www.britannica.com/art/popular-music, [Accessed 17 Oct. 2019]

Iasa-web.org. (2019). Definition of Popular Music | International Association of Sound and Audiovisual Archives. [online] Available at: https://www.iasa-web.org/selection/definition-popular-music [Accessed 17 Oct. 2019].

En.wikipedia.org. (2019). Popular music. [online] Available at: https://en.wikipedia.org/wiki/Popular_music [Accessed 17 Oct. 2019].
Using customer behavior to drive better product decisions
By: Ahmed Elsamadisi
Tags: Questions, Data, Product, Ab Testing, Analysis

Understanding which customer behaviors lead to conversion is the fastest way to know which product changes to make.

As a data person, I frequently get asked for help from product teams. Over the years, I spent quite a bit of time explaining the difference between good and bad questions.

Typically product teams want to improve something (say conversion). They’ll come to me for advice on what to measure —and nearly all the time they want to discover which product changes will have an impact on their metric.

“I want to know whether X matters so I’ll split my audience, test the product change, and see if it makes an impact”.

Notice that this question is from a product perspective: ‘did a product change have an impact?’, instead of a customer perspective: ‘which customer behavior leads to conversion?’

I know this sounds like such a small nuance, but it’s often the root cause why product teams launch features that don’t increase conversion.
ANZ Roy-Morgan Confidence Data
By: Mark Monfort
Tags: Power Bi, Data Analysis, Data Visualization, Analysis, Confidence

Description

Data here comes from the ANZ Roy Morgan Consumer/Business Confidence dataset published here: http://www.roymorgan.com/morganpoll/consumer-confidence/consumer-confidence

This app allows users to switch between business or consumer and use the date slider to see how the confidence ratings have changed for Australia going back to 1973 for consumers and 2010 for businesses.

Application Link:

https://app.powerbi.com/view?r=eyJrIjoiYzZkMjhiOWUtZmM1ZC00OTZlLWIwZjktMmIzNzM1YTAyODAyIiwidCI6ImU5NTk2MjE4LTBhZmItNDg3OC1iYmVlLTIwNmQ0MDA1ZDk3YyJ9&pageName=ReportSectionfe8e2d11bf284453b836
Exploring AirBnb Listings Data for Manchester, UK.
By: Andrew Lewis
Tags: Analysis, Data Science, Udacity

Before we can answer the questions

To answer questions on the data we need to perform analysis, however before this can be done effectively, the data needs to be wrangled, meaning cleaning for appropriate use.

To do this the Pandas library has a series of function that help identify issues with the data such empty or null values. Luckly the Manchester AirBnb data was fairly clean, but it did include issues such as Null values that had to be addressed.

Data Wrangling Approach for Missing Data:

Despite there being a fairly significant amount of null values in [reviews_per_month] column, this did not effect analysis for Q1 & Q3, so for these questions I left the data as it was.

For Q2 the[reviews_per_month] column was critical, so I had to figure out how to handle these Nulls; remove the rows, or impute the values (fill empty values with mean). To come to a decision more investigation was needed. When I filtered the dataframe for the Nulls (NaN) I noticed that the adjacent column [number_of_reviews] all had zeros. This indicates that these listings likely have never had review, explaing when the reviews per month were Null. Given this, it would be inappropriate to impute made up values where in reality there have never been values. Also I felt there would be enough remaining rows to understand any meaningful trends.
The distribution of pupils in English schools
By: Mateusz Krajewski
Tags: Ofsted, Modelling, Data, Education, Analysis

Photo by Element5 Digital on Unsplash

The following study is a short analysis of the distribution of pupils across different English regions and the so-called ‘Ofsted phases’.

All the data has been collected from data.gov.uk. The following features are used: the Ofsted phase, the Ofsted region, and the total number of pupils. There are 21970 observations in total. The data has been modelled with numpy, seaborn, pandas, and matplotlib modules.

The first chart depicts the average number of pupils across five different Ofsted phases.

Secondary education seems to be the most prevalent among English pupils.

The second chart depicts the average number of pupils, but divided by Ofsted regions:

As can be seen, secondary education is indeed the most prevalent among pupils in all Ofsted regions, with London and South East taking minor lead over the others.

The last chart depicts the total number of schools in specific Ofsted regions.

Primary schools take major lead over other types of schools, despite the fact that more pupils can be found in secondary education.

The study is a minor and not too detailed one. That being said, there is room for improvement — more data can be taken into account, and more specific conclusions can be drawn. As for what can be inferred from the given data, it is clear that primary and secondary schools house the most pupils, despite the discrepancy between the number of institutions.
Character Analysis : Mahito, the personification of human resentment.
By: Jalil Shareef
Tags: Jujutsu Kaisen, Analysis, Manga, Shonen Jump

Character Analysis : Mahito, the personification of human resentment.

Special Grade Curse : Mahito

Curses within the world of Jujutsu Kaisen are the embodiments of fear, hatred, jealousy and any other negative emotion that comes with being human. These natural emotions are the establishment of the conflict for the characters in Jujutsu Kaisen, however there are certain curses who excel above the others becoming Special Grade. These Special Grade Curses are just as their labeling implies, but specifically these curses have their own drives, motives and overall goals for the world. Mahito is a Special Grade curse that goes beyond what we have seen from other special grade curses in Jujutsu Kaisen. He is not only young and inexperienced but also very smart and learns during every encounter with Jujutsu Sorcerers. Slowly but surely Mahito is beginning to take a much more pivotal role in the world of Jujutsu Kaisen but specifically this analysis will focus on who Mahito has been portrayed as in the series so far.

Mahito talking about his birth

Stated by the curse himself, Mahito was born from the hatred humans have for each other. This alone makes Mahito a much more interesting curse than his peers but also gives him more insight on the human condition. This makes him the perfect character to antagonize the main cast; specifically Yuji and allows for highly confrontational dialogue centered around morality. Mahito was introduced at a time when Yuji was taken in by Nanami in order to understand what it meant to be a Jujutsu Sorcerer and I doubt Akutami (Mangaka of Jujutsu Kaisen) did this by coincidence. Yuji meeting Mahito was his starting point of understanding what Curses actually are, and Mahito was simply toying with human lives, conducting his own form of experimentations to try to shatter Yuji’s mental will so that Sukuna would have a chance to take over, something that ultimately backfires on him. Mahito and Yuji’s first conflict stems from the mutual relationship they had both established with Junpei. While Yuji tried to appeal to Junpei’s genuine side and did form a connection of sorts, Mahito had already tainted him beyond return. Junpei was a product of a confused kid who also had aptitude to use Cursed Energy, and Mahito used that to his advantage. He appealed to the weak and angry side of Junpei making him begin to curse the people in the world more than he ever had before. What makes their relationship so jarring, is that Mahito took no effort in hiding his sadistic side from Junpei, but instead used that to appeal to his inner weakness. Junpei not only watches Mahito kill humans in a movie theatre, but also sees the results of his experimentations, but because Mahito was nice to him Junpei didn’t see him as a threat or enemy something he would ultimately regret.
Announcing Spark
By: Clementine Jacoby
Tags: Modeling, Criminal Justice Reform, Policy, Data Science, Analysis

Announcing Spark

Today, Recidiviz is announcing a new project to support advocates and policymakers with impact analysis during the upcoming legislative session. Since January, the criminal justice reform landscape has shifted. We’re seeing:

Significant, but temporary decarceration from COVID; State budget cuts creating downward pressure on corrections costs and incarceration; and Increased public support for racial and social justice.

Combined, these forces are creating a surge in reform momentum as we head into January legislative sessions. To take advantage of this incredibly unique moment, Recidiviz is launching a new project — called Spark — that is designed to help policymakers turn the current momentum into long-term progress.

“With a new wave of COVID-19 hitting, many states are looking for ways to reduce incarcerated populations safely. Budget cuts and public calls for racial justice are also forcing policymakers to take a hard look at the problem,” said Andrew Warren, Recidiviz’s Head of Product.

John Tilley has joined Recidiviz to help spearhead Spark

John Tilley, former Secretary of the Kentucky Justice and Public Safety Cabinet, has joined Recidiviz to help spearhead the effort.

“Policymakers are facing pressure from all sides. They need ways to identify impactful reforms that will lead to a fairer, safer, smaller system. I’m excited to join Recidiviz and help get Spark off the ground at this pivotal moment.”
In response to Charles Bukowski’s “Twelve Flying Monkeys Who Won’t Copulate Properly”
By: Dash Hauenstein
Tags: Analysis, Monkey, Charles Bukowski

This whole story seems like it was his actual writing process. He starts by setting the scene, which seems to be his writing desk, or whatever he uses, and begins to brainstorm, and this is his setting for this story, but not for his story. After that, interruptions and struggles with the base concept keep him from writing and we continue to fly back and forth from each setting in a manic pattern. His structuring is genuine and his conflicts seem all too real for this to be a full-on fiction. The organization of the setting jumps allows for the reader to get comfortable in one just as soon as it changes to the other, and this pattern continues throughout. This whole story is the ramblings of a mad genius who boxed himself in and forced out a terrible story about some perverted monkeys just to make a deadline. I think the point of this formatting was to show how destructive containing a creative can be to themselves and their craft. Having a deadline and a topic he must cover, it forces his world to seem insane and his story to go nowhere, and the way the story is written depicts this descent into mad apathy for the idea. This story is either a fully true event of frustration or a perfect depiction of the struggles writers suffer when bogged down by their work.
I am so excited that my very first course in SQL was published yesterday on LinkedIn Learning!
By: Nikiya Simpson
Tags: Linkedin Learning, Data Science, Sql, Development, Analysis

Nikiya Simpson, MBA

I am so excited that my very first course in SQL was published yesterday on LinkedIn Learning! I’ve been working with SQL since I graduated from college in 2002. I always liked working with SQL and I use it every day in my work. It made sense to grab some of the things that I learned over the years and pass it on, hopefully, to help someone else in their journey.

Check it out!

SQL Analysis for Data Developers

Teaching helps me to reinforce things that I have learned. It challenges me to really understand those things that I have been doing for years.

This is a basic course in relational databases and SQL concepts. It’s from my point of view as someone who has worked as both an analyst and a developer. I hope it can be helpful to some people out there. If you enjoy it let me know. I look forward to making more.

Catch me on Twitter and LinkedIn
Kafka Learnings
Tags: Zookeeper, Kafka

Some notes I wrote about Kafka I wrote reading Kafka Definite Guide in pictures.

Uses of Zookeeper in Kafka : 3 Responsibilities

What is stored in Zookeeper

Broker Registry

Consumer Registry

- offset registry

- ownership registry

Is everything stored in Zookeeper ephemeral : No

Does consumer know when to rebalance automatically : Enter zookeeper watcher

Kafka Cluster with broker

Replication between cluster
Kafka Test Containers with GoLang
By: Onur Süme
Tags: Platform, Testcontainer, Golang, Kafka

We take care to develop applications according to the test-driven development approach in Trendyol. There may also be a need for integration or end-to-end tests to make sure that more than one unit can work together. These enable us to make deployment in the production environment more secure.

In an incident we had a few months ago, it took us quite a while to understand where the error was due to a configuration we forgot to do. We understood the importance of integration testing much more there. In this article, I will talk about test containers that is one of the basic needs in integration test processes.
Everything you need to about Apache Kafka
By: Shaikh N
Tags: Apachekafka, Kafka

Kafka‘s popularity and growth are on its all-time high. It has become so popular that now it has started to overshadow the popularity of its namesake novelist Franz Kafka. Its popularity is evident from that fact that over 500 Fortune companies use Kafka.

These companies include top seven banks, nine out of the top ten telecom companies, top ten travel companies, eight out of the top ten insurance companies, etc.

Netflix, LinkedIn, and Microsoft are few names which process four-comma messages (1,000,000,000,000) per day with Kafka.

Now, you must be thinking what makes Kafka so popular right? Well, if you’re having this question then you’re not alone.

And you’ve certainly come to the right place as here we are going to discuss every aspect of Kafka including its origin story, working, key differentiators, use cases, and many more.

READ MORE : Everything you need to about Apache Kafka
51/52 Cualquier tecnología lo suficientemente avanzada es totalmente indistinguible de la magia
By: Idalia Sautto
Tags: Palomas, 52 Week Writing Challenge, Kafka, Gps, Teconología

in Go Into The Story
Docker setup for Kafka
By: Kamil Zakiev
Tags: Kafdrop, Docker, Docker Compose, Kafka

Once I wanted to play with Kafka, I couldn’t find a basic Docker setup to run the cluster and view topics, partitions and messages.

I suspect you have the same issue right now, so let me present you a docker-compose file which will run Kafka cluster with one instance of Zookeeper and three brokers. Also we’ll add a special application to view Kafka internals — Kafdrop.

Now you can you docker-compose tool to spin up the components and open http://localhost:9000/ and browse Kafka internals:

To connect the brokers outside the Docker you should use the following URLs: localhost:9092,localhost:9093,localhost:9094