fabiochiu/medium-articles huggingface dataset:
Covid-19: Visual Notes From Singapore’s First 100 Fully Recovered Patients
By: Chua Chin Hon
Tags: Covid 19, Data Visualization, Singapore

How long does it take to be certain that you’ve been infected with Covid-19? And if indeed infected, how long would it take for you to be free of the novel coronavirus? These are tough questions to answer conclusively, but here’s what the first 100 fully recovered cases in Singapore can tell us.

Several excellent dashboards have been created to track the progress of the Covid-19 outbreak in Singapore (click here, here, here, and here), and it would be pointless to try to duplicate what these better resourced teams have done.

In this post I’ll focus instead on exploring two questions on everyone’s mind:

Q1: If I test positive for Covid-19, how long would a full recovery take?

There’s no global standard at this point, and affected countries have adopted different guidelines as to when a Covid-19 patient is cleared to be discharged from a hospital.

In the Singapore context, Covid-19 patients are deemed to have fully recovered only after they successfully test negative for two swab tests at least 24 hours apart. Only then can they be discharged from the hospitals. This is done to ensure that the patients don’t go on to infect others when they return to the community.

In other words, recovery from Covid-19 symptoms alone is not considered a full recovery and would not qualify you for discharge from hospitals in Singapore.

So far, patients among the first 100 fully recovered Covid-19 cases in the city-state have taken between one and 31 days to be discharged, if we start counting from the day their infection was officially confirmed. The median number of days in this confirmation-discharge window is 11 days.

Q2: If I have symptoms, how long do I have to wait to be certain that it is Covid-19?

This is the tougher of the two questions to answer due to gaps in our knowledge of Covid-19, and complex cases with either no symptoms or buck the norm for the 14-day incubation period. In Singapore, the vast majority of patients among the first 100 fully recovered cases were confirmed within 14 days of the reported onset of symptoms like fever, sore throat and difficulties in breathing.

But eight patients had no symptoms and eight cases took 15 days or more before they were confirmed. There is no conclusive explanation so far for these unusual cases, as well as similar ones that have been reported around the world.
Christmas Toon
By: Justin Vestal
Tags: Humor, Christmas, Comics, Cartoon

Justin is a cartoonist who lives in Chicago with his cat who is also named Justin.

Follow
Git怎麼這麼難用？Git Flow + 好習慣 = 不再苦惱
By: Yu-Song Syu
Tags: Work, Gitflow, Git, DevOps, Test Automation

Kuma老師的軟體工程教室

Welcome to the Kingdom of Software Engineering
Looking Back & Looking Forward
By: Roy Klaasse Bos
Tags: Data Science, Academia

Excellent Data Scientists

Willem-Jan has been closely involved in the development of the Data Science & Entrepreneurship curriculum which builds upon 4 pillars: Data Engineering, Math & Statistics, Business Analytics and the Socio-legal-economic Context.

JADS’ vision on Data Science — the science that develops methods and techniques to turn data into value.

Due to the popularity of data science and abundance of external libraries and packages, the use of advanced techniques has become accessible to a wide range of audience. You may ask yourself: to what extent is it really necessary to have a solid foundation in for example math and statistics? Willem-Jan explains: “You must be able to drive a car, but as a data scientist you should also know what goes on under the hood. This helps you understand how new technologies work in the future: is it the right approach, is it reliable and in which situation can I apply a specific algorithm? We hope to deliver students who are scientifically critical the moment they graduate but also maintain this attitude in the future.” To illustrate this he refers to a course on Hadoop he currently teaches: “In the end it’s nice if students know the trick (it has a fair market value), but I think it’s more important that they understand how it works methodologically and conceptually. That’s what they bring along and which they can benefit from in the long run.”

“You must be able to drive a car, but as a data scientist you should also know what goes on under the hood.”

In summary, at JADS academics primarily focus on solving practical problems, still a theoretical understanding remains essential. On top of this, I asked him what he thinks makes an excellent data scientist. Basically, he mentions 3 criteria:

Analytical skills — mastering the exact sciences (statistical and mathematical models).

Engineering skills— someone who is not only capable of analyzing (big) data but who can also turn data into a product or service.

Domain knowledge — connecting your product or service with market demand.

The latter is the big secret according to him: “It’s relatively easy to come up with a new algorithm. A PhD researcher should be able to publish an article about an incremental improvement of an existing algorithm without too much effort. Building a product or service that is adopted by the European community and delivers social and economical value requires certain skills which not everybody possesses. Then you are excellent in my eyes.”
I’m 46 Years Old and I Have No Goals
By: Vanessa Torre
Tags: Life Lessons, Goals, Self, Lifestyle, Mindfulness

Like every other warm-blooded human being, I had this list of everything I needed to do or make happen so that I could be happy. We create the list with a vision of happiness in mind and push ourselves to keep moving forward. Onward. Upward. Forever forward.

The danger of the “I’ll be happy when…” list is that we can always find something else to add. We run the risk of never quite being satisfied. What is in front of us is no longer good enough. There is always better out there. So we start the cycle of onward and upward all over again.

I think of it in terms of people that set a goal of paying off their mortgage, get there, and then turn around and sell that house to buy a bigger, better, prettier house that now has them indebted to a mortgage again.

That does not feel like moving forward to me.

I don’t need or want more. There’s no asking, “what’s next?” I’m sitting in the middle of the next. I have decades left in my life but I have no plans. I’m in the middle of my plan.

The spreadsheets are still here. The difference is that they don’t control me anymore. I get up on Saturday morning, do a general status check on my life, look around, and say to myself, “This is good.”

This did not just happen magically. In case you are holding out for it, there is no magic fairy that will arrive at your home and take care of everything. Lord knows, I have wished and prayed and hoped for that damn fairy.

This moment is the culmination of dozens of good and bad decisions. I’ve learned from my mistakes. I now practice radical self-acceptance. I’ve lost money and saved money and figured out how to live on less. Living on less decreases your desire to want more because having less makes you happier.
Combine Image & Tabular data in one Model using PyTorch
By: Soumo Chatterjee
Tags: Deep Learning, Technology, Education, Self Improvement, Data Science

The following blog will help the readers to understand how we can combine image and tabular data together in PyTorch using deep learning and generate predictions from the model . I will go step by step to understand the whole end to end scenario easily : →

#1# Create a custom dataset class →

I am going to use here OpenVaccine: COVID-19 mRNA Vaccine Degradation Prediction dataset . After cleaning and processing the tabular data I will create the dataset class for our data as follows……

As there are a lot of codes and syntaxes , I recommend reading the codes with respect to the comments given beside each syntax written . The steps involved are: →

First we declared some of the specific libraries that we will need . we will define the constructor for the dataset class that we created. then we will define the __len__ function to calculate the length of the dataset then we will define the __getitem__ function extract the input and the targets that we will be feeding into our model that we will create.

#2# Create object for dataset class and dataloaders →

#3# Create model class →

I have commented the code syntaxes as much as possible , but reader if you still feel that you are unable to understand any part of the code please please please feel free to comment on this article , I will be very glad to answer your doubts .

Still there are 3 major syntaxes in this present in this at line no. 15, 21 & 56 where we combine our tabular and image data layers to generate predictions out of it .

15 self.image_dense_layer_2 = nn.Linear(512, 1) # in constructor 21 self.tabular_dense_layer_4 = nn.Linear(4, 1) # in constructor 56 x = torch.cat((x, tab), dim=1) # in forward function

#4# Define loss function , optimizer and training loop for our model.

After model creation we will define the following things easily .

Please consider going through my notebook I have written on this topic once , if you find difficulty in implementing it or simply put your comments here.

I hope you have understood the logic behind how we can combine image data & tabular data in a deep learning model using pytorch . Let me know , if you have any Questions , Comments or Concerns regarding this in the comment section ; Until then enjoy LEARNING……………….

For more awesome data science related blog posts check out the top data science bloggers on medium.
On the road to code: A summer trainee tells all
By: Ville Yli-Knuutila
Tags: Programming, Developer, Software Development, Learning To Code, Learning

TIVIA, the Finnish Information Processing Association, estimates that right now Finland needs another 7000 software development pros. By 2020 that figure is expected to more than double. Simply put, coders are in hot demand. Consequently, as soon as they leave university they can expect to get inundated with a ton of offers. So, what should a junior developer eager to get cracking on a career look out for in an employer?



To find out we sat down with Nikke, a trainee who joined us for a couple of months this summer. Nikke started coding for kicks when he was just twelve, beginning with traditional static HTML before getting hooked on C++. Then a school work experience placement showed him the delights of JavaScript.



“After that I never looked back,” he says. “Now, I’m one of the world’s totally self-educated coders.”



United through recommendation

While looking for a summer job, one of Nikke’s friends recommended Kodan to him. “He told me you guys were clued up and highly skilled,” Nikke says. “It was a happy coincidence, because I didn’t know about the company before.”

But did our reputation live up to the hype? One of the things, we believe, that makes Kodan such a rewarding place to work is that we give people responsibility early on. Over the summer, Nikke worked on two different projects. One was totally tailored to his needs to help him develop his skills. The other gave him the chance to learn some totally new tech.

Big data, big challenges

“In my first project, I managed large amounts of data and combined it from different sources. I really wanted to do that because in my own projects it’s hard to generate big data,” he explains. “The tool was for a big media company and it was great to do something practical that would really benefit people.”

The second project was arguably more challenging as the technologies weren’t just new to Nikke but to the entire team too. Thankfully, Nikke was undaunted and accepted the challenge with real enthusiasm, while exploring a whole new world with the team. Our collaboration worked a treat from both our perspective and his, but were there any surprises?



“I was surprised by the openness and lack of bureaucracy, in a good way. And it was ace how quickly I was accepted on the team even though I was ‘only’ a summer worker,” says Nikke. “My contribution felt appreciated and my opinions and questions were taken seriously. I really felt like I was part of the Kodan family.”
ML15: PyTorch — CNN on MNIST
By: Morton Kuo
Tags: Neural Networks, Data Science, Pytorch, Deep Learning, Machine Learning

(5) Training CNN

record = [] # A container recording the training accuracies for epoch in range(EPOCH): train_rights = [] # Record the training accuracies for step, (x, y) in enumerate(train_loader): b_x = Variable(x)

b_y = Variable(y) cnn.train()

# Tell PyTorch that the model is running in training mode (training) output = cnn(b_x)

loss = loss_function(output, b_y)

optimizer.zero_grad()

# Indicate optimizer & loss function.

# Bear in mind that one must zero the gradients last time before back propagation.



loss.backward()

optimizer.step() right = rightness(output, b_y) # (outputs, labels) = (correct numbers, all samples)

train_rights.append(right) if step % 200 == 0: cnn.eval()

# Tell PyTorch that the model is running in evaluation mode (validation/test) test_output = cnn(test_x) pred_y = torch.max(test_output, 1)[1].data.squeeze()

test_accuracy = (sum(pred_y == test_y).item() / test_y.size(0)) * 100 train_r = (sum([tup[0] for tup in train_rights]), sum([tup[1] for tup in train_rights]))

training_accuracy = 100. * train_r[0].numpy() / train_r[1] total_step = len(train_data)//BATCH_SIZE print('Epoch [{}/{}], Step [{:4}/{}], Loss: {:.4f} | training accuracy: {:6.2f} % | test accuracy:{:6.2f} %'.format(

epoch+1, EPOCH, step+200, total_step, loss.data, training_accuracy, test_accuracy))



record.append((100 - 100. * train_r[0] / train_r[1], 100 - test_accuracy))

Figure 2: Training process.

train( ) and eval( )

As the names indicate, these functions tell PyTorch that the model is running in training mode (training) or evaluation mode (validation/test). This has some effect only if you want to turn off or on the modules, such as Dropout or BatchNorm. [4]

Bear in mind that train( ) & eval( ) would effect Dropout & BactchNorm, though actually we do neither of them in this CNN model (check the class CNN).
Data Visualization Lab
By: Danielle Havrilla
Tags: Data Visualization

This graph shows the popularity of some of the most watched Netflix shows from 2004 to 2019. So, the most popular Netflix show according to this chart is Stranger Things, but the most current popular show is 13 Reasons Why.

Our brain prefers one proportion over another because we want to see a bigger number, but the chart shows that the bigger number is actually a smaller percentage. Charts and graphs help us see the answer more clearly because they show us that bigger numbers don’t always mean it’s better.

This chart shows a comparison of the best versus worst quarterbacks in the NFL. It compares their touchdowns, interceptions, sacks, comp and QBR. The football player with the bigger numbers is obviously the better NFL player.

During the recession there are big amounts of job loss that last for a couple of years. After the recession is over, however, it takes a couple of years for people to begin to get jobs again.
The most important news of the cryptoindustry
Tags: News, Blockchain, Cryptocurrency

Bittrex is launching Binance Launchpad prototype

Bittrex International is launching its own platform for initial exchange offering (IEO). The first IEO in the platform will be held on March 15. RAID project with XRD token will become the pioneer of the platform. Hardcup of token sale is 17 billion XRD (17% of general tokens offer), which is about 6 million. Token price is fixed and is about 0.00000010 BTC.

Barclays: own cryptocurrency may deliver Facebook up to 19 billion

Ross Sandler, the analyst of a financial conglomerate, claims that stable coin of Facebook may generate millions of additional revenue in the mid-run. Sandler counted from 3 to 19 billion dollars of revenue till 2021. He noted, that this forecast depends on how Facebook Coin proves its efficiency in micropayments for digital content. The main issue for Facebook, in his opinion, is to demonstrate competitive advantages among present possibilities in the payment area.

Cryptocurrency market is ready to change the trend

Over the past 2–3 days, there have been no fundamental changes in the cryptocurrency market. In a nutshell, the general mood of the market is moderately optimistic. According to CoinMarketCap, all 12 cryptocurrencies with a capitalization of more than $1 billion show an increase in the last 24 hours. Stellar (XLM), Binance Coin (BNB) and Litecoin (LTC) are growth leaders,adding from 5% to 6%.

At the same time, buyers’ activity is still very weak, although there are no active sellers either.

SEC Chief Confirms Analysis That Ethereum isn’t a Security

Jay Clayton, the chairman of the US Securities and Exchange Commission (SEC), questions the feasibility of applying securities law to Ethereum. Discussing Ethereum and securities, Clayton mentioned Bitcoin, which, in his opinion, is also not security.

At the same time, the SEC notes that a digital asset (including a cryptocurrency) can function as security. It is worth noting that the status of security is not static for cryptocurrencies. The SEC notes that a cryptocurrency can be sold as security immediately after issuance, considering as an investment contract. However, after a while, the digital asset may be sold or offered to other users, not as an investment object.

Women See Crypto as Tool for Financial Empowerment

More than 6,000 women were asked about their stance on the current financial system. 93 percent of college-educated women believe that technology will influence finance. With crypto, you don’t need to interact with a third party in order to get access to financial services — it only takes a smartphone with an Internet connection to gain financial independence. Despite the advantages of cryptocurrencies, very few women are currently involved in the cryptocurrency space, which is dominated by millennial men.
Datasalt
By: Iván De Prado
Tags: Datasalt, Hadoop

Iván de Prado Alonso personal blog. More about me at www.ivanprado.es

Follow
Cryptocurrencies: What happens next?
By: Goodx Network
Tags: Cryptocurrency, Goodxnetwork, Bitcoin

A cryptocurrency named Bitcoin rose from $0.0007 per Tcoin to $3500 per Tcoin in less than a decade. However, experts still speculate about the future of cryptocurrencies!

The fact that cryptocurrencies have become a household topic of discussion already means that the concept has infiltrated through the general masses. However, it is the Entrepreneurship sector that practically saw a swing with the rise of cryptocurrencies.

Despite the soaring prices, a frenzy around ICOs and masses jumping on the bandwagon of investing in cryptocurrencies, it saw its failures recently. One example of the failure of adopting cryptocurrency and the blockchain was the technology infrastructure company, Stripe. It is believed that the failure of adopting cryptocurrencies for its business transactions was because of slow processing times. Yet, the believers of cryptocurrency swear to its bright future. It holds a leverage because it is still developing and promises growth and innovation. Besides what the experts say, the trends allow us a few intelligent predictions about the future of cryptocurrency.

It is important to consider that many governments are now looking into regulating cryptocurrency. For instance, the central bank of Netherlands issued its own cryptocurrency called the DNBcoin. Other governments that have imposed regulations in the favour of cryptocurrency include that of Malta, Switzerland and Taiwan, while the European Union and the UK are in the process of doing the same. Added regulation would mean more institutional investors entering the cryptocurrency space. The increased investment that comes under regulation will only make cryptocurrencies a more viable asset, aiding a gradual rise in its value. While the bitcoin that soared up to a record high of $20,000 before its inevitable fall, is expected to break the record and achieve a higher value in the upcoming years, along with alternate cryptocurrencies.

Regulations for the currency and attempts to make the space secure by authorities may reduce instability to some extent, but cryptocurrencies are expected to remain somewhat volatile. While a lot of cryptocurrency traders may benefit from the mounting prices that come with the volatility, the investment will always be more unpredictable compared to traditional assets.

While wall-street dips its feet in the cryptocurrency space and the economic giant China takes interest in it, one thing may be established, the currency is here to stay. As far as the long-term future is concerned, cryptocurrency is digital gold. However, the allure in cryptocurrency is not the money or the value, but in fact the technology! In upcoming years, we can expect to hear names like Bitcoin, Ethereum, Litecoin, Dash, Tezos etc. more and more when everyday transactions are being made.

Amna Ahsan

Head of Communications

GoodX Finance Network
I Built A $240,000 Real Estate Asset Portfolio In 7 Years After Getting Married — And This is How I Did It
By: Dennis De Silva
Tags: Real Estate, Retirement, Personal Development, Money, Finance

I Built A $240,000 Real Estate Asset Portfolio In 7 Years After Getting Married — And This is How I Did It

A true story you can imitate from a 9-to-5 employee

Photo by Wes Hicks on Unsplash

My first real estate purchase was unplanned in 2012 — I was out looking for a rental space for my pregnant wife — and I had zero plans to buy a property at that time.

Committing to a big purchase was just too much for me to stomach after three years of tying the knot.

It is a dream to own a house — and you need to assess if it is something you are willing to keep up to avoid a potential fall-out.

For a middle-class income earner like me, we need to leverage a mortgage loan to acquire a property.

If you are starting in life — it is hard to put yourself out there and be soaking into a lot of commitment.

So I am sharing tips on how I did it — and it is possible even if you have a 9–5 workweek.
Free Christmas Landing Page HTML Template
By: Alex Ionescu
Tags: Freebies, HTML

Christmas is around the corner and holiday freebies are also. Today we have a beautiful Christmas landing page and affiliate HTML template for you. The template is built with the powerful Bootstrap framework and is fully responsive.

The name os this template is SantaGo and it’s offered for free by the guys at EvenFly Team. This Bootstrap Christmas template includes an animated snowing effect in the header, a products section, a subscribe to newsletter section, a footer section, a features section and more.

[zilla_alert style=”grey”] You might also find useful : Free Vector Christmas Badges and Snow Flakes, Free Winter UI Kit. [/zilla_alert]

Christmas Landing Page HTML Template Preview

[zilla_button url=”http://demo.evenfly.com/view?theme=SantaGo" style=”light-blue” size=”medium” type=”square” target=”_self”] Live demo [/zilla_button] [zilla_button url=”http://shapebootstrap.net/item/santago-free-christmas-sales-affiliate-landing-page-template/" style=”green” size=”medium” type=”square” target=”_self”] Download [/zilla_button]
All You Need to Know About the Web Audio API
By: Indrek Lasn
Tags: Programming, Audio, JavaScript, Tech, Web Development

What Is the Web Audio API Capable of Doing?

Good question! Here are a couple of examples demonstrating the capabilities of the Web Audio API. Make sure you have your sound on.

Most of the basic use cases covered: https://webaudioapi.com/samples/

Complicated synthesizer example: https://tonejs.github.io/examples/#buses

The web audio API handles audio operation through an audio context. Everything starts with the audio context. With the audio context, you can hook up different audio nodes.

Audio nodes are linked by their inputs and outputs. The chain of inputs and outputs going through a node create a destination. The destination is the audio frequency we pick up with our ears.

Audio context schema

If you’re the type of person who wants to know all the tiny details, here’s a sweet link to get you started.

If you’re more into visual learning, here’s a great introduction talk about the Web Audio — check it out!

Steve Kinney: Building a musical instrument with the Web Audio API at the JSConf US 2015

One of the most interesting features of the Web Audio API is the ability to extract frequency, waveform, and other data from your audio source. This can then be used to create visualizations.

Show HN: Randomly generated metal riffs using Web Audio API and React

This article explains how and provides a couple of basic use cases. If you’re keen on learning the audio API in depth, here’s a great series.

Web Audio API | 01: Introduction to AudioContext

Here’s a free book about the Web Audio API by Boris Smus, an interaction engineer at Google.
Today Last Year
By: Alma Awakened
Tags: Poetry, Relationships, Loss, Love, Cheating

A day

like today

last year,

we said

good-bye

for good.

Your last

words were

I love you,

but no

see you later

let’s talk soon.

You claimed

there was

some love

you cherish

and protect,

so needed

to turn back

Yet you could not

tell me

you’ll never

want me back,

think of me

or need

my love.

A day

like today

last year,

we suddenly

realized

our hearts will

never say

good-bye.
Onboarding Stripe Connect users in your iOS project(Swift + Firebase + Node.js)
By: Charlie Oxendine
Tags: Stripe, Swift, iOS, Nodejs

For this short demo, I am assuming you have initialized/implemented Stripe, and Firebase Cloud Functions in your project. If you are having trouble, I’ll attach some resources at the bottom!

Photo by freestocks on Unsplash

The Stripe SDK/API is one of the most highly regarded and developer-centric tools out there. There is a ⛵️ load of resources and documentation on Stripe.com(and the rest of the internet) to try and help you navigate their massive array of services. However, I found that for the beginner iOS Developer, it could be a lot to take in. One area that is hard to figure out is onboarding custom Stripe Connect users with the Stripe onboarding webform. If you are unfamiliar with the onboarding web form Stripe describes it as:

“a web form hosted by Stripe that takes care of collecting identity verification information from users”

It essentially makes it super easy for developers to get up and running with Stripe Connect without having to worry about the legal/regulation overhead. For more information you can look at the Stripe docs on it here.

To implement it for iOS, I found that there are really two options:

You have to have a website that your user is told to visit to complete the onboarding with Stripe before they can utilize the app(or at least get paid). This is obviously not ideal, however for some people it might work best. After the user creates an account on your app you immediately prompt them to go through Stripe’s onboarding flow and once they accept you send them into the WKWebView. However for this you will need two success and failure links that will prompt your user to go back to the app or try onboarding again.

Let’s discuss the second option…
145 Media Mentions and Interviews, 13 Conference Panels and Workshops: links for my public engagement work in 2020
By: Damian Radcliffe
Tags: Media Criticism, University Of Oregon, Covid 19, Trends, Public Speaking

145 Media Mentions and Interviews, 13 Conference Panels and Workshops: links for my public engagement work in 2020

Local news, online misinformation, revenue opportunities, and the impact of COVID on journalism and journalism education… just some of the topics I touched on in the past 12 months

This post follows on from several earlier round-ups, bringing together my work from the past year in terms of applied research, media business and revenue models, changing journalistic practice and social media and tech in the Middle East,

COVID-19 meant all my travel this year was virtual. But Zoom made it possible to engage in events hosted by the United Nations, Facebook, WAN-IFRA and others, enabling me to speak at sessions originating in Brussels, Cardiff, India, Oxford (UK), Singapore and elsewhere.

I contributed to a wide range of discussions, covering everything from distributed newsrooms, through to the rise of content-led commerce, the future of journalism education, online misinformation in the Middle East and the impact of COVID-19 on journalism and tech.

Alongside this, during the past year, I was lucky enough to be interviewed by outlets like Agence France-Presse (AFP), The Arab Weekly, Editor & Publisher, Poynter, Quill Magazine (Society of Professional Journalists) and Wired, as well as local outlets like the Bend Bulletin, KLCC, KOIN 6 News (Portland), the Malheur Enterprise and OPB.

Meanwhile, my research and journalistic work — covering everything from media business models to tech and social media in the Middle East, future of local journalism, and wider media trends — was highlighted by organizations such as the American Press Institute, CNN Reliable Sources, Digital Content Next, journalism.co.uk, Media Voices podcast, Nieman Lab, Techmeme, Vogue Business, WAN-IFRA (World Association of Newspapers) and Wired.

Here’s a round-up of those activities:

Events/Conference Speaking

World Learning: Panel on “Journalism and COVID-19, Impacts of the Global Pandemic,” Zoom, (write-up, video on YouTube), 14 October 2020

City Club of Central Oregon: Chair, Panel on “Journalism in Crisis: The impact of COVID-19 on the American Media,” Bend/Virtual, (watch on YouTube, Facebook) 18 June 2020
Learning more about Ruby on Rails ActiveRecord
By: Danny Lee
Tags: Gayageum, Activerecord, Flatiron School, Database, Beginner

Being Efficient with Database Calls

One of the key takeaways I got from Kevin’s course was that the way in which we write our code dictates how ActiveRecord interacts with the database. When working on projects at Flatiron School, my focus was on learning basic concepts, rather than efficiency or performance. Those concepts weren’t even on the radar.

However, the more I apply for jobs and talk to startup founders, I realize understanding the challenges of scaling is paramount in being able to contribute usefully to the conversation that goes into something like the product roadmap.

For example: If I have a portfolio project running Rails and accessing a database on localhost with a Class of objects named Gayageum and I seed it with 100 instances.

The way I would change a common attribute (e.g. ‘color’) in every instance of Gayageum is by, first, getting all my Gayageum objects, assigning them to a variable. Then, using an enumerator (like each or map ) to iterate through each item, and setting the attribute to the new value. Let’s do this in Rails console.

2.6.1 :001 > allMyGayageum = Gayageum.all

(0.7ms) SELECT sqlite_version(*)

Gayageum Load (0.2ms) SELECT "gayageums".* FROM "gayageums" LIMIT ? [["LIMIT", 11]]

=> #<ActiveRecord::Relation [#<Gayageum id: 101, name: "bgjqqwgpjq", color: "indigo", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 102, name: "ydswvodwcv", color: "blue", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 103, name: "carywjthmi", color: "yellow", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 104, name: "yvbdhsfdci", color: "ivory", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 105, name: "fmpdnjyzkk", color: "azure", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 106, name: "fquiretgrl", color: "fuchsia", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 107, name: "sscjdjmttb", color: "tan", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 108, name: "gmnsdbdadc", color: "fuchsia", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 109, name: "kjicjaqnur", color: "orchid", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, #<Gayageum id: 110, name: "ggkmxwtvis", color: "lime", created_at: "2020-05-16 21:34:57", updated_at: "2020-05-16 21:34:57">, ...]>

If you’ll notice, there’s a SQL log statement right after my command which is SELECTing records from the database. Later, this SQL debug logging feature will be useful. It will enable us to see the difference between different ActiveRecord methods and the SQL they generate for you. You can turn this on by entering (more info here) in the console:

ActiveRecord::Base.logger = Logger.new(STDOUT)

It will return the instance of the Logger object:
Three Generations of Butts
By: Janie Emaus
Tags: Humor, Self Love, Shopping, Body Image, Mothers And Daughters

Hair whitens. Butts droop. Arms sag. Aging is not a pretty picture, is it?

And it’s even less pretty when you’re in a dressing room with all those mirrors that don’t hide anything. Rather, they emphasis all those parts of your body which you’d like to imagine looked differently.

But those mirrors don’t lie.

I was faced with that painful truth when I went shopping with my ninety-something mother and my thirty-something daughter. Three generations of women made from the same mold.

The similarities were still there, but the differences were hard to ignore.

Years ago, my butt was as firm and ripe as a melon, just like my daughter’s. My thighs were smooth, void of those craters and bumps making one think of the moon surface. My arms didn’t have that flabby effect. My hair was a natural blonde.

After looking from my daughter to myself, I wanted to bolt out of that room. In fact, I wanted to bolt out of 2019 and into 1990.

Then I looked at my ninety-four-year mom. And felt even worse.

I saw where my body was going!

And I’m not convinced that any amount of exercise can stop it from happening. (Although, I don’t think I’ll ever wear old lady under panties).

While I was lamenting the state of my future body, my daughter blurted out. “Ugh, I hate my waist.”

Me: “Your waist is perfect. Look at this extra skin around mine.”

My mother: “What are you two talking about? I’m one big wrinkle. My butt is flatter than melted butter. And my boobs are like bananas.”

With that, we all started laughing. There was no age difference in our giggles. Just three happy women, trying to find a decent pair of jeans that hugged our bodies in just the right way. No matter what that body looked like.

And we were determined to succeed. Because no matter our age, we all want to look good when facing the world.

Make no buts about it.
Why is it important to increase workplace productivity?
By: Victoria Olive
Tags: Work Management, Business Goals, Team Collaboration, Workplace Productivity, Collaboration

The notion of workplace productivity is increasingly being talked about in the business world. But what is workplace productivity? While ‘a productive workplace’ would be its simplest definition, the truth is a little more than that.

Generally, workplace productivity is related to the efficiency with which goals and tasks are carried out by individuals or teams. By fostering a productive workplace, benefits like increasing employee morale and profitability are far more possible.

However, many companies struggle with the idea of a productive workforce — it is one of the most important aspects of the business world.

What do you get by increasing workplace productivity?

Higher Profits

The most convincing and important benefit to increasing efficiency and productivity is profit. When work is completed faster as required, then this positively impacts the ‘bottom-line’.

Increased Customer Satisfaction

Besides this, a company will probably see that the customers are happier with the overall efficiency and turnaround times. While, customers might not be aware of the product/service development activities, they may experience that the process of acquiring the requested product/service took less time than expected. This leads to a higher customer satisfaction level, which is more likely to bring in additional business from the customer.

Improved Brand Image

Productivity also makes an impact on the brand image of a company. From shareholders to employees and customers, high productivity projects the perception of a successful organization.

Improved Employee Morale

The employee morale is higher when productivity is high. This high morale indicates that employees are satisfied with their work environment and it’s less likely they will transition to another employer.

Thus, with better turnaround and work completion times, employees create profits and value allowing the organization to improve staff benefits and provide salary increases. Overall, this positively maps into every aspect of the business, as employees are at the center of it.

Improving workplace productivity is an imperative for organizations. OpusView workplace social software is a solution designed to increase team productivity and drive more successful project delivery.
The “Not Tom Steyer!” Blues
By: Ré Harris
Tags: Tom Steyer, Poetry, Milk Carton Haiku, Presidential Candidate, Politics

Billionaire dreams

a hole in his head.

Leaks like a sieve.

Brain matter drips.

Gray drops pool like rain.

He smiles. I cringe.

“More old rich men”

—his guiding mantra.

How’s that for wrong?

He will save us?

How will he hear us,

ears clutched in hand?

Throws weight around.

Dollars in the wind.

Money rules, right?

Real faceplant, dude.

Think. Learn. Start smaller.

Earn it. Respect.

Be cool. Team play.

Show, don’t tell with scratch.

Plug your leak first.

Deal with your why.

Your true deep down why.

Not greed? You sure?

Seen you before.

Antebellum weird.

Nightmare waking.

Backlash making.

Old pale face centered.

You know best. Psych.
Face your fear
By: Nadia Camandona
Tags: Drawing, Medium Italia, SciFi, Aliens, Art

Face your fear. Pencil and charcoal on paper. Photo by ©Nadia Camandona

Face your fear

Affronta la tua paura

Ripley is Alien. Here he defeats him but it is to tame him.

Alien is our deep fear, the irrationality, the pure instinct we fight daily. When we surrender to it we are beasts, but if we defeat it to bend it to ourselves it becomes a powerful salvation weapon.

Ripley è Alien. Qui lo sconfigge ma per addomesticarlo.

Alien è la nostra paura profonda, l’irrazionalità, il puro istinto che combattiamo quotidianamente. Quando ci arrendiamo ad esso siamo bestie, ma se lo sconfiggiamo per piegarlo a noi stessi diventa un’arma potentissima di salvezza.
Kmeans w/ Scikit-learn, Spotify API, & Tableau
By: Jacob Tadesse
Tags: Unsupervised Learning, Spotify, Tableau, K Means Clustering, Scikit Learn

Modeling the Data with Scikit-learn

“Unsupervised Learning is a type of machine learning algorithm used to draw inferences from datasets consisting of input data without labeled responses. The most common unsupervised learning method is cluster analysis, which is used for exploratory data analysis to find hidden patterns or grouping in data.” — Mathworks

Since we would like to compare these artists, we will use an unsupervised learning algorithm to group/cluster our artists together. To be more specific, will use Scikit-Learn’s KMeans algorithm for this example. Let’s import the module from sklearn. You can follow the instructions here to install sklearn.

from sklearn.cluster import KMeans

The KMeans algorithm clusters data by trying to separate samples in n groups of equal variance, minimizing a criterion known as the inertia or within-cluster sum-of-squares. Scikit-Learn.org

Scaling the Features

It’s always a best practice to scale your features before training any machine learning algorithm. It’s also great practice to handle your outliers. In this example, I will keep our outliers in and used a MinMaxScaler to scale the features in our small dataset, but we could also use the RobustScaler to scale features using statistics that are robust to outliers.

from sklearn.preprocessing import MinMaxScaler

s = MinMaxScaler()

Scaled_X = s.fit_transform(X)

Training the Model

Now that we have scaled and transformed our features, we can train our KMeans algorithm. We are required to set a number of clusters, and there are several methods to help select the best number of clusters, but for our example, we will use 8 clusters. We will use the predict method to predict the group or cluster for each artists based on their followers and popularity.

kmeans = KMeans(n_clusters=8, random_state=0).fit(Scaled_X)

y_kmeans = kmeans.predict(X)

Viewing the Clusters

To view the clusters, we can pull the labels from our Kmeans model by using the method, .labels_. We can also view the centers of the clusters by using the method, .cluster_centers_.

df['labels'] = kmeans.labels_

centers = kmeans.cluster_centers_

Image by Jacob Tadesse

Image by Jacob Tadesse

While we could plot these in a notebook, I’ll use Tableau Public to create a dashboard for public access. Let’s save our dataframe as an Excel file.

Saving the Results

Below, we will filter our dataframe to only include the artist name, followers, popularity, and labels. Then we will sort the data by the label value.

final = df[['names','followers','popularity','labels']].sort_values(by='labels', ascending=False)

Finally, we will use the built-in Pandas method, .to_excel, to save the file.
Why Swift Developers Should Be Using Reactive Programming
By: Adebayo Ijidakinro
Tags: Swift Programming, Ios Development, iOS App Development, Swift, Programming

Why Swift Developers Should Be Using Reactive Programming

How reactive programming helps you write better code

Photo by AltumCode on Unsplash

Changes happen all the time in the developer world. Sometimes it’s difficult to keep up with everything that is new. And as fast as things come, they become obsolete just as fast.

What was once considered standard practice, oftentimes is replaced by other methodologies and technologies.

Because of this, you must always be careful to not jump on the bandwagon too fast. Just because a lot of people are using a specific programming practice or a fancy new tool, doesn’t mean that you should follow the crowd. Whenever adopting a new practice, try to study it thoroughly first. Make sure you understand the problem it solves and any new problems it creates.

Reactive programming should be approached the same way. Before implementing this design pattern, you need to know the problems it solves, and how it can help you write better code.

This article is by no means a tutorial on how to use any specific library. Rather it’s to help you see why you should be using Reactive programming and some scenarios where it makes sense. In the future, I’ll be writing specifically about different aspects of the RxSwift library.
Rohi(Part-1)
By: Muhammad Nasrullah Khan
Tags: Show Your City, City Living, Nature, Desert, Culture

I grew up in Bahawalpur, the city of Pakistan. Bahawalpur, once the province, is a city full of cultural beauty and needs a comprehensive article. But I want to start with the desert area, Rohi, of Bahawalpur. Below is the accurate location of Rohi from Wikipedia:

“The Cholistan Desert (Urdu: صحرائے چولستان‎; Punjabi: چولستان روہی), also locally known as Rohi (روہی),[1] is a large desert in the southern part of Punjab, Pakistan that forms part of the Greater Thar Desert,[2] which extends to Sindh province and the Indian state of Rajasthan. It is one of two large deserts in Punjab, the other being Thal Desert.[3] The name is derived from the Turkic word chol, meaning “sands,”[1] and istan, a Persian suffix meaning “land of.”[4]

In ancient times, Cholistan was a fertile region with a large river fed by meltwater from the Himalayas,[5] and so has a high density of ancient settlements from the Indus Valley Civilization period dating back as early as 4000 BCE.[5][6] The region later became a center for caravan trade, leading to the construction of numerous forts in the medieval period to protect trade routes — of which the Derawar Fort is the best preserved example.”
The Dimensional Shift: Exploring Risk of Rain 2’s Ambitious Venture
By: Dylan Micheli
Tags: Game Design, Gaming, Videogames, Games, Indie Game

Seeing classic characters, enemies, and bosses all reimagined as 3D models provide a unique atmosphere and nostalgic feeling. Of course, those who missed out on the original might not feel that the nostalgia, but the designs of the world and it’s inhabitants are good enough without that connotation to stand on their own.

…Yet so Much More

The game is faithful to the original, but it doesn’t feel the need to be limited by it. Risk of Rain 2 stays true to its roots and continues to grow at the same time, as the game doesn’t just decide to be a 3D version of the original and call it a day. The devs at Hopoo have added new systems and mechanics that meaningfully add to the already great formula.

New “lunar items”, which have powerful effects that are both good and bad, like the Shaped Glass, granting players a 100% increase in damage at the cost of 50% of their max health. In a game where enemy health and damage both scale the longer you play, lunar items can present interesting challenges for players to take part in.

The 3D Printer. Takes one of your items of the same rarity and turns in into the item pictured.

One of my favorite new additions is the 3D Printer. An item will be displayed above it, and the player can turn any number of items they currently own into the displayed item. The machine randomly chooses which item to take from the player unless the player can find another new interactable — the Scrapper — which lets the player converts items into scrap that 3D Printers will prioritize when taking items. Even that comes with a risk though, as you may not find a 3D printer with an item you like, or item of matching rarity for your scrap.

New shrines make appearances in the game too, like the Shrine of the Mountain that increases the number of bosses you’ll fight during the stage, the Shrine of Order which converts all of your items all to a randomly chosen item (based off what’s in your inventory), and the Altar of Gold, an expensive shrine that transports the player to another realm.

There are so many more new additions, like items and character skins, and complete alternate skill sets to unlock. Every character has two full skillsets, and even if the alternate skills don’t present massive changes to the character, they can still be a breath of fresh air. Seemingly simple additions like these do an insane amount for the game’s replayability, a factor that is critical to get right in a rogue-like game.
The First Blind Date For Travelers
By: Marcus Franke
Tags: Community, Fun, Meetings, Travel, World

Feedback Time

Once again, thank you so much for being a member of this unique traveler community.🥰

Together we can improve our blog step by step.

Please let us know what YOU think and leave us a comment:

1. What do you think about the blind date event? Did you like the way we organized it?

2. Do you like the idea of meeting at random places or would you rather leave the location?

Your feedback means everything to us.

Coming together is a beginning; keeping together is progress; working together is success. - Henry Ford

Our goal is to generate more reading time for you and to share even more exciting travel stories in those difficult times.

👇The polls are still open for our voting contest👇

Stay safe, travel well, and keep writing!

Cody and Marcus