About



At LC3, attendees can expect to collaborate, share information and learn about the newest
 and most interesting open source technologies, including Linux, containers, cloud technologies, 
networking, microservices and more; in addition to gaining insight into how to navigate and
 lead in the open source community. Three conferences in one, this event is a technical conference
 for developers, operations experts (architects, sysadmins, develops), business, compliance and
 legal leadership and other professionals to come together in an informal setting to learn from
 open source experts, have fascinating discussions, collaborate with peers, and gain a competitive
 the advantage with innovative open solutions.











Sandhya Babanrao Bankar | Kernel Stuff | 2018-07-13 00:32:02

In my last post, I have discussed about the architecture of LibreHealth FHIR Analytic module. After that, I have worked on refining UIs to provide easy access for users to perform FHIR analytic. This is because, users of FHIR analytic module might not be experts in the Spark SQL. Hence we can’t expect every user will write Spark SQL queries to analyze the FHIR data available in the system. Here are the main resources that allow users to query data.

Patient Resource

Patient is a key resource defined in the FHIR specification. Hence users will require to search patients by their ID, Identifier and based on other patient attributes. Hence FHIR analytic module provides capability to search patients based on their attributes. The contains flag which is at each field can be use to perform a like query when user do not want to search for a exact match. Also by default, if user a filled a field, it perform a matching query of all specified fields. This mean only the patients who matched all the attributes specified in the UI will return as search results. But if user want to perform search which return patients who matches any of the specified attribute, then user can select the individual flag near the field.

Patient Search Form Using Demographics
Patient Search Form Using Patient Details

Observation Resource

Observation resources is a another key resource defined in the FHIR specification. Hence LibreHealth FHIR analytic module add the same capability as describe in the patient resource to search observations. Users presented with a form which contains key attributes of the observation where they can search for observations based on their preference.

Search Observation Form

Encounter Resource

FHIR Analytic module include Encounter Resource search support as it’s a well defined resource in FHIR Specification. All key fields are supported to search encounters.

Encounter Search Form

Medication Request Resource

Medication request is a another key resource defined in the FHIR specification which is similar to Drug Order in LibreHealth. This represents a medications with the dose and the time period that ordered by a doctor to a patient.

Medication Request Search Form

Diagnostic Report Resource

A diagnostic report is the set of details that is provided by a diagnostic service when investigations are complete. The report contains a mix of atomic results, text reports, images, and codes. This is another key resource when it come to identify history of a patient. FHIR Analytic module provide the capability to search diagnostic reports by its key attributes.

Diagnostic Report Search Form

This is my progress upto the second evaluation of the GSoC. My next target is to integrate this module with the FHIR Spring Data Integration project which I planning to complete in next few weeks. I’m currently fix issues and bugs of the current implementation.

Kavindya Prashadi Bandara | Stories by Kavindya Peramune Rallage on Medium | 2018-07-09 00:45:52

I like to maintain a log of things and here are my mid-year updates for 2018. The year has been going great, so far.

Code

  • This time it was lot of Open Source coding as an Open Source Advocate
  • Release of Zalando’s first State of Open Source Report
  • Design, development and launch of Zalando’s Open Source website
  • Developed a Node.js application for pulling Zalando’s Github statistics into a database
  • Developed a Node.js CLI for creating and migrating Zalando’s Github projects
  • Co-author for the draft of Zalando Open Source Team’s strategy, OKRs and KPIs (internal document as of now)
  • More power to Open Source. My 2017 summer Outreachy project – Lightbeam is a finalist this year at PrototypeFund.de

Travel

Write

I am very happy about the progress made in writing content this year!

Community

  • Wrangler for the Openness space at Mozilla Festival 2018
  • Diversity Scholarship jury for JSConfEU 2018
  • Co-organiser for the Intersectional tech meetup, Berlin

Bake

I am getting better and better with baking! 🎉🎉🎉

 

Fail

  • I deliberately stopped the OpenWorld initiative. The idea was to publish one piece of article related to Openness. I think I should continue this effort.
  • I was denied boarding at SFO while returning back to Berlin from O’Reilly FluentConf last month. Oh really, denied boarding is definitely a lifetime experience. You would never ever want to go through this! 🤷🤷🤷 (This wasn’t my fault and now I have filed a case against the airline).
  • I had to cancel speaking at two conferences – HolyJS 2018, Russia and FullStack 2018, London. My passport expires in 3 months and it isn’t ideal to travel without getting a new one.

Hope you enjoyed reading!

Princiya Marina Sequeira | P's Blog | 2018-07-01 18:29:40

I Spoke at Hong Kong Open Source Conference 2018 about my favorite topic: Browsers.

A big thanks to Women in tech fund, Because of them I was able to make it possible. They sponsored my travel to the conference.

HKOSCoN
HONG KONG SCIENCE PARK

HKOSCoN 2018 Edition took place in Hongkong Science park! They had around 300 attendees. The first day of the conference was all about open source, Block Chain, Haxe programming language and R. One of my favorite talk from Day 1 was Maintaining Open Source While Maintaining Your Sanity by Simon MacDonald, He is a developer advocate at Adobe! After his talk, I had detailed discussion with him about open source software, maintenance, and contributions! He came all the way from Canada to Hong Kong, it was so nice talking to him about open source.

HKOSCON
Simon talking about Maintaining Open Source While Maintaining Your Sanity!

Later, I met Jason who talked about Haxe as a better JavaScript, I got a better understanding of Haxe after his talk. He introduced me to Kevin and Andy, who also are Haxe developers, later we talked about Haxe and Javascript over lunch. Day 1 ended with Martin Bähr talk and panel discussion on Blockchain.

Day 2 started with the talk on Run Multiple Isolated Web Applications on Containers with a Single IP in the Cloud by Jeremy ChengHeading to the New Stage of MySQL 8.0 by Ivan MaHsing-Yen Chen talked about Open Source of Agriculture which was a bit new and unique to me! I never thought of Open Source and agriculture relationships!

After Lunch, I had my talk scheduled, Which went pretty well.  The conference room was pretty much full.  This is me talking about Browser- Behind the scenes!

HKOSCoN1

I got a lot of question later the talk and I was pretty much happy about it. Few people approached me after the talk and we talked about browsers in deep! This is me taking questions from the audience!

HKOSCon

Day 2 ended with Gary’s talk on Practical JavaScript Fuzzing. Overall, I had an amazing experience at HKOSCoN. Slides of my talk are available here.

Finally, Kudos to Women in Tech fund team, for all the good work they are doing 🙂

Rakhi Sharma | Atbrakhi | 2018-07-01 13:56:20

Being an avid reader as a kid, I now regret not having explored science fiction. Of late, I have been indulging myself in a few landmark Sci-Fi novels, and I cannot be more thankful that this happened. I now truly appreciate the genre and hope to add many more to my list in the future! Here are reviews for seven books that I read. (The first one is unnecessarily long since I began recording each story as I read. The later ones are more concise.)

I, Robot by Isaac Asimov

This book was one of my favorites in the list. I absolutely admire the way Asimov seamlessly takes the reader into his world of robot rules and finally asks questions relating to a world of peaceful co-existence of humans and robots. Although one may call this wishful thinking, as we don’t quite know what form superintelligent AI could take, it comes as a relief to read a book that vouches for good-endings! This in part, is mentioned in the books’ introduction, where Asimov despises the Mephistopheles comparisons to AI (Mephistopheles was a monster in German mythology that destroyed the creator). The book compiles the recollections of Dr. Susan Calvin after her retirement from US Robots and Mechanical Men Inc. Below is a list of stories. They progressively make one familiar with everything that’s Asimov – positronic brains, three laws of robotics and of course, good endings.

Robbie

The story revolves around a little girl who is attached to her robot baby sitter called Robbie. An apprehensive mom tries to separate the two but in the end realizes that the robot is not necessarily harmful for her daughter.

Runaround

Two scientists stationed on Mercury need their erratic robot Speedy to bring them selenium to power the photo-cell banks that protect them from Mercury’s monstrous sun. But Speedy reaches an equilibrium of rules 2 and 3 of robotics and continually circles around the selenium pool without bringing it back. Powell and Donovan need to think quick and smart about how they’re going to save themselves and Speedy.

Reason

This story introduces a new kind of robot called QT that has the ability to reason out statements based on postulates. During a conversation with Powell and Donovan. It comes to the conclusion that it hasn’t been created by humans, and that there is no earth or stars but rather a single Master i.e the L-tube that it is programmed to ‘serve’. The robot goes into some kind of religious mania that the scientists cannot handle.

Catch the Rabbit

Powell and Donovan are now stationed in an asteroid to field test a mining robot that handles six subsidiary robots under it. They observe that the robot works perfectly well when they are around, but ends up ‘dancing’ with its subs when left on its own. They later figure out that it is because the personal initiative factor is most strained during emergencies in the absence of humans. They must now test their hypothesis.

Liar

Herbie is a mind reading robot, and scientists are desperately trying to find out what lead to this.

Little lost robot

A robot called Nestor 10 with a modified first law is stationed in the Hyper atomic Drive. He is subsequently ordered to “lose himself ” by his human master. In his drive to prove robot superiority, he tries to lose himself in a group of 62 identical robots. The crew need to find ways to spot him. This story, for the first time introduces the concept of a robot capable of harming humans.

Escape!

US Robots have taken on the task of making their star robot, The Brain, build a space warp engine after their rival organisation, Consolidated, fails to do so. The trick is in preventing the Brain from entering a dilemma of human protection vs following human orders.

Evidence

This story starts with a politician being accused of being a robot and the events that follow to test this hypothesis. On a broader level, it makes us wonder if in the future, humans could really have a peaceful co-existence with robots and treat one another respectfully, regardless of whether one is a human or a robot.

The Evitable Conflict

This story kind of sums of what Asimov hopes the human-AI relationship should be.

Rossum’s Universal Robots (R.U.R.) by Karel Capek

This is a play that’s set in a fictional era where artificial humans are manufactured. These robots look exactly like humans but lack what the author calls a ‘soul’. It deals with questions such as what the world would look like if robots replaced humans in every possible job and were just meant to serve us. Would they remain servants? What happens if the ingredient to create a ‘soul’ is added during their creation?
This play deals with the concept of soul, that Turing in his famous paper argues robots need not have. But an interesting question to ponder over is what would happen if we infuse emotions into an artificial being and whether there is a need for it at all.

Do Androids Dream of Electric Sheep by Philip K. Dick

This book was a psychological and philosophical roller-coaster. There are parts that I absolutely loved and others that I clearly despised. The story is set in a post nuclear apocalyptic earth that’s almost been reduced to dust. Most of the humans have migrated to other planets. The few that remain consist of ‘specials’ (low IQ humans), aged people and others who wished to stay back. The plot revolves around finding humanoids that have killed humans on Mars and escaped to earth posing as humans.

The book tries to answer questions such as how would one distinguish a human from a humanoid. Humans are assumed to have empathy which the other lacks. The book also develops a whole new notion of religion and class hierarchy (which depends on the animals owned by a person). The story as a whole is quite depressing and might not leave one very satisfied by the end of it, partly because it questions human identity (and I’m after all a human). Nevertheless, the effects are bound to stay much longer after having read the book and one might be left pondering over it for a much longer
time. This book left me quite overwhelmed.

Bicentennial Man by Isaac Asimov

This short story talks about a robot named Andrew that has somehow learnt to be creative like humans. It follow’s Andrew’s intellectual quest to be more human-like as time passes. It details a beautiful human-robot relationship between Andrew and ‘Little Miss’ and how the two of them support and care for each other at different stages. It explores concepts such as what it means to be truly free, have rights for oneself, etc. This story made for a good read.

Silently and Very Fast by Catherynne M. Valente

The story is about a virtual reality game-playing AI called Elefsis that’s created for kids in a family and how it evolves along with the girl in question. It begins to learn to speak, emulate human behaviour and starts ‘feeling’ emotions. Similar to Philip’s ‘Do Androids..’, this tale asks open questions about what it means to be alive.

This short novel is a very cleverly written, throught-provoking story. It is abound with an innumerable number of visual imageries and is a treat for the mind! It has a blend of intense emotions and ‘fairy-tale’ style writing that takes one into a different world, much like the ‘Inner World’ in the story.

Rest of the Robots by Isaac Asimov

I guess I couldn’t get enough of Asimov when I picked this one! This is another set of eight short stories on robots. It’s packed into four chapters that progressively explain the usage of robots. Quite a few stories have an abundance of humour in them, similar to ‘I Robot’. One of the stories deals with ideas of romance between humans and robots, and another one talks about the usage of robots in war. Unlike my previous Asimov review, for the purpose of brevity, I have refrained from penning my thoughts on each individual story.

Hitchhiker’s Guide to the Galaxy by Douglas Adams

I read the first book of the series and found it weird, insanely weird! The story starts off with an event that destroys Earth, and follows a man named Arthur Dent, who is saved by virtue of an alien friend Prefect. His adventures (and misadventures), and how he and Prefect manage to navigate their way around, forms the crux of the tale. This is an awfully humorous read, and I may get to reading the rest of the parts during summer break!

If there’s one line that sums up the first book it has to be this
Earthman, the planet you lived on was commissioned, paid for, and run by mice‘.
Dent’s humor and genius is refreshing!

This sums my Sci-Fi book reviews. I’ll definitely be actively hunting for more books from this genre hereafter!

Priyanka Mandikal | Priyanka Mandikal | 2018-06-29 22:38:05

I encountered a thread in a community group chat asking for advice on guiding someone through improving English skills. Some of the resources and ideas I shared were helpful, so I decided to write a longer blog post about it.

First, a few disclaimers:

  • I didn’t self-learn English - I had about 15 years of mandatory school courses and a fair share of instruction outside of the classroom

  • I had a heavy Polish accent until the second year of my undergrad, which disappeared by getting more comfortable with the language

  • I went to an English-speaking country for the first time when I was 25, so all my training was in Poland

These are some ideas that worked for me in the hope that they could be a good starting point for others to inspire their own explorations. Learning a language is like acquiring any other skill, it requires commitment and deliberate practice, with a lot of fun along the way.

Setting goals

It gets harder to set a goal the more comfortable one is with the language. Initially, my goal was to get good grades in school. Then I wanted to learn better English so I could read faster, because I had to sometimes rewatch parts of the subtitled movies.

Somebody spoiled the ending of the last Harry Potter book for me, because I was struggling through it for more than a week. Somebody else got praise for their beautiful accent and I was embarrassed about my hard Polish vowels. My Guild Wars team needed a translator for international runs. I wanted to go to New York for a few months to join a community of programmers.

My goals inflated as my confidence grew and I still see many ways I could improve: writing more American English, so my sentences are not Polish-long; flattening my too posh accent so people don’t think I’m trying to sound this way; using tenses and conditionals the way a native speaker would.

No matter where you are on your journey, try to set a goal that’s slightly outside of your reach and will motivate you to improve.

Switching to English

English classes were useful for learning the basics and making it a habit through homework and tests. What helped me get from being able to use the language to thinking in it was what I would do outside of the classroom.

I made sure to be surrounded by English through:

  • switching all my devices to English, especially since the Polish translations were often awkward

  • making sure to watch, read and listen only in English - binge watching “Grey’s Anatomy”, “Bones” and “Supernatural” helped, especially with English subtitles on and watching closely how people move their mouths when they speak, trying to mimic it

  • having conversations with myself - one of my friends phrased it better as having “mini presentations”, I’d sit in front of a mirror and answer questions in imaginary conversations out loud, talking about anything of interest (especially being one of the protagonists in a TV series I was hooked on)

  • memorizing standard sentences and learning how to replace certain words (a bit like Duolingo) - “I am eating cake” can easily become “I am eating pancakes”

  • learning about Polish grammar through English and Arabic studies - learning about the grammar of your own language or another language you know well helps with understanding grammar in general

  • writing more, even if I never posted it - especially short stories and programming tutorials, which require good structure and flow

  • interviewing people - talking to people on a daily basis while living in Poland, writing notes for the interviews and often rewatching parts of the recordings (which is super uncomfortable, but helpful)

  • moving to an English speaking country - I notice my brain being in English-mode more than half the time, even when I’m alone

Noticing patterns

English is notoriously irregular and hard to grasp. The pronunciation rules are often misleading, words have more synonyms than one could imagine and one can use it in a way that’s very hard to understand. (like this nightmare of a language test from South Korea)

When I encounter something new, I try to think of a pattern that can be a more general rule:

  • I noticed I’m using tenses differently than a native speaker would - one of my friends made me more mindful of the fact I use present perfect (have + past verb) more often; it was a revelation to me that the -ing continuous tense is more natural for native speakers than the present simple form

  • I realized at some point that in English you want to have something in front of your noun 99% of the time, be it a particle or an article, which is not something we even have a notion of in Polish

  • my pronunciation improved when I started noting down words someone would be confused about, e.g. I often pronounce spent and spend the same way, because in Polish we de-vocalize the last consonant and I was unknowingly doing it in other languages

Language learning is full of little “a-ha” moments and constant improvement. Looking for explanations and being more mindful of underlying patterns can help you get more comfortable.

Asking for feedback

It is hard and can initially be embarrassing to ask for feedback, especially if you’re surrounded by people who are more comfortable with English.

  1. Ask someone you’d be comfortable getting feedback from

    While still in school, your teacher is probably the best person to ask. It becomes tricky when you don’t have an instructor and have to ask your friends or coworkers to help you out. Make sure you’d be comfortable with them talking about your mistakes.

  2. Understand what kind of feedback you need

    Before I took my IELTS last year, I’d never think I needed to work on my speaking skills, but when I got a lower than expected score, I realized I was overconfident. Assess your skills as objectively as you can and think about which areas you’d need most help with. A good rule of thumb is looking for something you’re uncomfortable with. If you don’t like writing, maybe it’s time to start a blog and encourage yourself to write more.

  3. Set ground rules

    Helpful feedback is specific and focused on the issue - your English. Your friend might be a native speaker, a language teacher or just more comfortable with the language. For some reason they know something you don’t and you have a chance to learn from them. That’s great! Making mistakes is how you learn.

Some ideas that worked for me:

  • feedback is given in a way that’s not interrupting the flow of the conversation - otherwise it can make you feel uncomfortable

  • it should be focused on one aspect at a time - usually something that stands out the most, making the meaning unclear or inappropriate, e.g. don’t correct me on my particles if the tense I’m using makes everything confusing

  • the person giving feedback is open to explaining the issue in more detail - it’s not helpful to say “this is not right, you should say something different”

Example of good feedback

a friend, after I finished what I wanted to say: “By the way, you said you’d like feedback on your English. I noticed you are saying polish when you mean Polish. They sound nearly the same, but the difference is in the vowel - one is a long vowel.”

me, intrigued: “What’s this long vowel thing you are talking about? I have never heard about it!”

followed by a nice conversation about vowels in English

What was good about it:

  • they stated they’re giving me feedback I requested before to set up the context

  • they gave a specific example of what I was saying

  • they explained the more general context of the error

  • they were open to having a conversation afterwards, during which I learned more about the general rules and how native speakers perceive vowels in English

Example of bad feedback

during a longer conversation about buying books for learning Arabic

a classmate: “Well, I would never pronounce it [ah-ray-bick].”

me, after an awkward silence: “Uhm.”

What was bad about it:

  • they were only pointing out the mistake, not giving the wider context

  • they focused on setting themselves up as more knowledgeable

  • they made me uncomfortable, because it was meant to be a joke on my behalf

Life-long learning

Learning a language is hard at first, but as I got more comfortable, it became more natural and pleasurable. It’s not only useful, especially when you need it in a professional context, but also fun!

If you ever get discouraged, keep in mind that:

  • native speakers have the advantage of being surrounded by the language and thinking in it all the time - how comfortable are you in your mother language?

  • native speakers make mistakes - they omit particles, they use the wrong tense, they misremember a phrasal verb; I don’t know how many times I said wziąść in Polish even though the appropriate form is wziąć and I have been corrected on it countless times

  • the fact that you have a foreign accent and sometimes make mistakes means you are learning - and that’s amazing!

Resources

Most of the resources I use are in English, be it programming language documentation or news sites. There are a few I tend to use more often, but this is a subjective mix of links that I enjoy that might be useful.

Reading blogs and watching vlogs about English is fun and helpful:

General tools for longer reads:

  • Readlang is a browser extension you can use for websites that helps you look up words quickly
  • Pocket for saving longer articles
  • using a tablet/ebook reader to read ebooks, especially using the built-in dictionaries to not interrupt your reading (try to understand the context of the word before you look it up)

Writing tools:

  • Hemingway a writing app, it’s hard to adjust not only your understanding of the grammar, but also your style to English, e.g. shorter sentences, more repetitiveness, simpler structures
  • Grammarly for checking your grammar on the fly

Podcasts (any podcasting app will do):

Alicja Raszkowska | Alicja Raszkowska | 2018-06-29 22:30:00

I attended the Netfilter workshop in Berlin from 14th to 18th June 2018.  It was a small invite only workshop. Overall it was a fun and great learning experience. Through this workshop, I got an opportunity to interact with netfilter community members. It was nice to meet my mentor Pablo Neira Ayuso and past outreachy interns, Laura and Harsha.

On the first day Pablo talked about changes in netfilter since the last workshop. Phil Sutter gave updates on libnftables. I had contributed a few preparatory patches for libnftables. It was good to see the amount of work done on it, jointly by Phil and Eric Leblond. More information about libnftables can be checked from the man page written by Phil. It describes about the functions exported by libnftables. The last talk of the day was by Florian Wesphal on nftables performance issues.

Main discussions on day 2 were about moving from xtables to nftables. Florian Westphal and Arturo Borrero both gave talked about it. Arturo shared his plan in specific to Debian and his slides can be checked here. Jozsef Kadlecsik talked about nftables set and ipset compatibility. Laura Garcia gave an introduction about nftables load balancer and shared some interesting performance figures for both iptables and nftables with reptoline enabled  (slides).

Day 3 and 4: Pablo talked about flowtable offload infrastructure and recent developments on it. Harsha Sharma spoke about ct timeout support on which she is working during her gsoc internship. On the last day, I too gave a talk about my Outreachy contributions and shared my experience about  it.

This blogpost is just an overview of the netfilter workshop. There were other interesting talks too and they can be checked here. Arturo has also written a summary about the netfilter workshop in his blog.

Photo1
PC: Arturo Borero

Varsha Rao | Varsha's Blog | 2018-06-28 05:56:16

Current data is populated from sample fhir data from Google https://github.com/google/fhir.git.

Going forward this will load data from LibreHealth cassandra data store.

Kavindya Prashadi Bandara | Stories by Kavindya Peramune Rallage on Medium | 2018-06-26 04:23:16

Finally I was able to execute Spark SQL on top of the FHIR data which store in Cassandra database. It’s a good learning curve to achieve this target which involved in learning different type of technologies such as Spark, Spark SQL, Cassandra, Bunsen, Spark Cassandra Connectors and Spring. Following diagram shows the overall architecture of this module.

LibreHealth FHIR Analytics

As shown in the above architecture diagram, module is loading data to spark from Cassandra via Cassandra Spark Connector which provided by the datastax. Then this data will be converted to spark data frames using Bunsen library. After that it allow users to query the data via Spark SQL. LibreHealth Analytic UI provide capability to execute Spark SQL against the FHIR data loaded into the Spark. Also this module provide UIs for key resources like patient, observation and encounter for easily query these resources via key attributes of each resource.

Bunsen is converting the FHIR resource to data frame which is compatible with Spark SQL. For example, here is the table view in Spark after converting FHIR Patient resource to data frame.

FHIR Analytic Using Spark SQL

LibreHealth FHIR Analytic Module Provide UI to execute Spark SQL against the data available in the system. For example if someone want’s to get the patients which have observations valueQuantity greater than 15. Then following Spark SQL will get the required data.

SELECT patient.id, observation.id, observation.subject, observation.valueQuantity FROM patient inner join observation where observation.subject.reference == patient.id and observation.valueQuantity.value > 15
Query Output

Likewise users can execute complex queries against the FHIR data available in the Cassandra.

FHIR Resource Base Analytics

Someone might find difficulties in writing Spark SQL queries. Hence this module provide simply UI for perform analytics on key FHIR Resources such as Patient.

Patient Attributes Base Analytics

As shown in above image (need to add good looking styles!), user want’s to find patients which have patient identifiers having system with ‘oid’. If user wants to do a exact match, then ‘Contains’ checkbox doesn’t need to be checked. If user checked ‘Contains’ checkbox, it will query patients who are having ‘oid’ term anywhere in the system value.

By default module executes combined search where all the attributes combined with AND. For example, if user filled family name and identifier system, then search will gives results which both matches family name and identifier system. If user wants all the data which either contain given family name or identifier system then he can checked the ‘Individual’ checkbox.

Search Results

After filling all necessary fields, user can obtain the query results in the bottom of the page. Now I’m currently working providing full support for patient search while making the user interface more cleaner.

Kavindya Prashadi Bandara | Stories by Kavindya Peramune Rallage on Medium | 2018-06-24 06:47:00

Oh really! I spoke at FluentConf last week in San Jose, California. Here are my slides.

Screen Shot 2018-06-22 at 12.53.17
Rebuilding a browser extension for Privacy

Here is the talk trailer. I spoke about web tracking, browser extensions, D3.js force layout,  Lightbeam and my Outreachy experience.

Screen Shot 2018-06-22 at 14.36.31

Motivation

JavaScript – The Good Parts‘ has been my all time favourite book. My main motivation to speak at an O’Reilly conference comes from this book. When my talk submission was accepted, I was extremely happy. And there was Brendan Eich (creator of JavaScript) himself on stage!

Congratulations! Your proposal has been accepted for O’Reilly Fluent Conference in San Jose 2018

 At the conference

I was honoured to be a part of this conference, and I will let pictures speak on my behalf. More pictures here.

 

IMG_7115
The speaker hotel
40978231010_10b70c70db_o
The EXPO Hall
40978314990_f3b8e53d91_o
The diversity lunch panel which was amazing
42789006631_464867d9ee_o
Lots of food in the evening at San Pedro Square Farmers’ Market
42789073661_476be9cc0e_o
Maggie‘s keynote was so motivational
42809447141_300e6098bd_o
Seeing this trio together on stage was so much pleasure
Screen Shot 2018-06-22 at 13.00.45
FluentConf’s fempire
42092011594_5ab55ec307_o.jpg
There was so much swag, but these pillows were my favourite

Some more pictures…

Click to view slideshow.

 

 

Princiya Marina Sequeira | P's Blog | 2018-06-22 16:21:50

So I’ve been working remotely for the Cloud Native Computing Foundation for the past 3 months. At the beginning of my tenure, I felt very full steam ahead! Lately, though, I’ve been feeling much more disengaged and lonely. To combat this malaise, I’ve found it helpful to watch some videos and find out what’s been happening in the community at large.

Since I’ve been on my own for the past 8 months, my understanding of and engagement with the open-source software community have evolved considerably. I’ve been working on a lot of longstanding personal challenges during this time, and every now and then I raise my head, look around, and remember: software (in all its forms) is a living, breathing thing. It is not a static, shiftless, flat, inert object, but rather a dynamic system with countless flowing parts, multiple actors, and multiple creators and collaborators.

Software is ultimately very human. I feel this acutely when I go to tech meetups and community conferences. There’s more to say on this subject and on the CNCF, but I’m going to snip this post here and relegate those additional words to another time and place. :)

Andrea Kao | andrea kao | 2018-06-19 00:00:00

As I discussed previously on my blog posts, LibreHealth is going to adopt FHIR specification to the LibreHealth platform. I’m researching on FHIR Analytics capabilities which we need to provide in the LibreHealth platform.

As my mentors suggest, I have research more on using Cassandra solely for FHIR analytics. Here I’m summarizing my findings about my research.

Cassandra is a NoSQL database which is different type of data storage when comparing to RDBMS databases. Cassandra is a write optimized database which doesn’t worry too much about the normalized data. According to Cassandra community, it’s totally fine to have redundant data in single table if it helps to speedup the data reads from the Cassandra.

According to article in[1], it’s required to carefully modeled the data into the Cassandra table. Because if proper indexes aren’t there, CQL will reject the execution of specified queries with WHERE clauses.

There are four different ways that single column can behave. If we take a single Cassandra table, it will consist of partition keys, clustering keys, secondary indexes and regular columns.

Partition columns : Partition columns are one or group of columns which used to identify the partition which particular data is reside in the cluster. When user executes a query with where clause, it will first look for the partition key to identify the partition which requested data is reside.The partition key columns support only two operators: = and IN

Clustering columns: Clustering columns are used to group data within a single partition. This key can form with single column or group of columns. Clustering key will be use to identify the clustered data sets within a partition which will speed up the filtering specified in WHERE clause of the statement. Clustering columns support the =, IN, >, >=, <=, <, CONTAINS and CONTAINS KEY operators in single-column restrictions and the =, IN, >, >=, <= and < operators in multi-column restrictions.

Secondary Indexes : Cassandra provide direct support for the searching on secondary indexed columns using =, CONTAINS or CONTAINS KEY only. If user wants to filter a regular column or secondary indexed column using =, >, >=, <= and <, CONTAINS and CONTAINS KEY operators, then ALLOW FILTERING OPTION should be specified. However ALLOW FILTERING should be carefully used as it can impact performance severely as in [2]. IN operator restrictions do not supported for secondary indexed queries.

Example Table:

CREATE TABLE numberOfRequests (
cluster text,
date text,
datacenter text,
hour int,
minute int,
numberOfRequests int,
PRIMARY KEY ((cluster, date), datacenter, hour, minute))
CREATE INDEX ON numberOfRequests (numberOfRequests);

In this table cluster and date columns used as a partition key

Columns after partition key which are datacenter, hour and minute used as clustering keys

Last it’s created a secondary indexed on column numberOfRequests.

According to my analysis, using CQL only for the FHIR analytics will require several columns to be indexed. Cassandra also not encourage to have large number of column indexes as it’s again affects to write performance. With CQL, dynamic query builder using FHIR resource attributes is highly challenging task.

FHIR resource is more of a self contain resource. But single FHIR resource constructed using complex type of sub elements. With our storing model, we are planning to store most of the sub elements as texts. For example, address in patient resource will be completely stored as text irrespective of it constructed using several fields. Hence with Cassandra it’s highly challenge to filter based on elements of address field.

Most of the big data forums and posts suggest, use Cassandra along with Spark which enable more flexible query options which operated on distributed manner[3]. With spark, user can map data into Spark model and use Spark SQL efficiently to filter and write many complex queries.

It’s always good to read about the things that are new to my knowledge. I’m really thankful for my mentors, LibreHealth and GSoC for this opportunity.

References

[1] https://www.datastax.com/dev/blog/a-deep-look-to-the-cql-where-clause

[2] https://dzone.com/articles/apache-cassandra-and-allow-filtering

[3] https://www.datastax.com/2015/03/how-to-do-joins-in-apache-cassandra-and-datastax-enterprise

Kavindya Prashadi Bandara | Stories by Kavindya Peramune Rallage on Medium | 2018-06-11 20:21:49

Where to handle redirects when using Node and Vue

Recently I've been working on a web app that uses Node as its server and Vue.js in the front, and I found that I had a number of pages that needed their URL changed from something like example.com/a1 to example.com/a2. My first instinct was to take the easiest route (ha) and just add a bunch of redirects to the Vue router to have something like this:

const appRouter = new Router({
  mode: 'history',
  routes: [
    { path: '/a', redirect: '/a2' },
    { path: '/b', redirect: '/b2' },
    { path: '/c', redirect: '/c2' },
  ]
});

Though I had planned to have path and redirect mappings live in another file to keep my code looking neater, this still struck me as pretty hacky/inelegant. What if someone has JavaScript turned off? This would break the page redirect. Also is Vue really meant to handle the large number of granular redirects that comes from migrating a lot of pages to another URL pattern?

You got served

I got some good advice from the BostonJS Slack and StackOverflow (thank you everyone!), and realized that these redirects should live on the server. If the server handles the redirects before page loads, we can return a 301 Move Permanently status code, which is the best practice for moving the same resource to a new location. Also these redirects aren't part of the app's logic, so we should keep things tidy by only adding routes that are necessary for views in the app.

Let's never forget about this goofy guy

For the curious, this is how I set up the redirects on my Node server:

server.js

const redirectMappings = require('./redirects.js');

app.use( function redirects(req, res, next) {
  const urlPath = req.path.split('/');
  const legacyId = urlPath[ 1 ];

  if ( redirectMappings[ legacyId ] ) {
    return res.redirect(301, '/' + redirectMappings[ legacyId ].id );
  }

  return next();
});

redirects.js

module.exports = {
  'a1': {
    name: 'Page A',
    id: 'a2'
    },
  'b1': {
    name: 'Page B',
    id: 'b2'
  },
  'c3': {
    name: 'Page C',
    id: 'c3'
  }
}

Strictly speaking, I didn't need to have a name associated with each redirect entry, but it was helpful for me as a human when checking to see if I had added a redirect for a page yet or not.

Why even have client side routing?

All of this got me thinking, what is the use case for client-side routing? It's handy in apps for improving user experience for a few reasons:

  • You don't need a full refresh of the page when directing the user to a new location, which can make for a less disorienting transition.
  • It's more efficient and feels faster to only change the parts of the DOM you need to update, rather than downloading a whole new web page and its associated JS and CSS.
  • You can add stylish loading transitions between page changes.

Thinking existentially about client-side routing, it seems like going through the trouble to make the page update feel like a classic page redirect (like updating the URL in the browser, styling the DOM content to look like another page even if there is no hard refresh) , is just a convenience for the user to signal that they should think of themselves as visiting a new place now. I guess the inverse of this approach is those "load more posts" links you see on blogs that trigger adding more data (posts) to the page on click. Here the user isn't meant to feel like they're in another place, so they're not routed to another URL and the page doesn't change much. However, it's effectively the same thing when you fetch more data from the server and update the page asynchronously.

Client-side routing beyond the app

Typically you see client-side routing used for single page apps, but we also used it for recirculation on the new Harvard Gazette website. I used PJAX (the browser's pushState API + AJAX) to load the next story displayed at the bottom of an article page and change the URL in the browser when the visitor clicks on it. For example, take a look at this story and click the article that's promoted in the navbar or at the bottom of the page under "Up Next":

https://news.harvard.edu/gazette/story/2018/05/newburyport-artists-spirit-books-on-display-at-arnold-arboretum/

Our designer spent some time adding a nice slide transition, and I really like the effect. The next story starts loading as you scroll down the page, so it is ready to display as soon as the user clicks the article link. The fun transitions and snappy loading encourage user engagement and clicking through the next story. A big improvement over a full page refresh and waiting for data from the server!

Katie Broida | Ruminations on Coding and Crafting | 2018-06-10 19:17:21

During past two weeks, I’m working hard to get FHIR analytics to work with Apache Spark and Cassandra.

What is Cassandra?

Apache Cassandra is a free and open-source distributed wide column store NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. Cassandra offers robust support for clusters spanning multiple datacenters,[1] with asynchronous masterless replication allowing low latency operations for all clients[1]. Cassandra is popular for it’s distributed nature. LibreHealth decided to use cassandra as the datastore for FHIR due to it’s scalable architecture.

Cassandra Query Language (CQL)

Like many other databases, cassandra also a support SQL like query language. CQL is a simple interface for accessing Cassandra, as an alternative to the traditional Structured Query Language (SQL). CQL adds an abstraction layer that hides implementation details of this structure and provides native syntaxes for collections and other common encodings. Language drivers are available for Java (JDBC), Python (DBAPI2), Node.JS (Helenus), Go (gocql) and C++. In Cassandra, database identified as a keyspace. Table identified as a column family. Following queries can be taken as a example which demonstrate the functionality of CQL.

CREATE KEYSPACE school
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };

USE MyKeySpace;

CREATE COLUMNFAMILY students (id text, name text, mobileNo text, PRIMARY KEY(id));

INSERT INTO students (id, name, mobileNo) VALUES ('1', 'Doe', '123456');

SELECT * FROM students;

Datastax Java Driver for Apache Cassandra

In order to access cassandra database, it’s required to have a driver. Datastax provides a java driver which provide the support to access cassandra database from both native manner and using CQL.

Datastax Spark Cassandra Connector

Datastax provides spark cassandra connector which allow users to connect to cassandra with spark. This connector provide the capability to expose Cassandra tables as Spark RDDs, write Spark RDDs to Cassandra tables, and execute arbitrary CQL queries in your Spark applications.

I have used these libraries to connect my application to Spark and Cassandra. Librehealth is moving to adopt FHIR and casssandra will be the underline storage provider. In my application I have loaded the google FHIR data set to cassandra. This is for the demonstration purposes only. After that, data is loaded to spark RDDs using the spark cassandra connector.

JavaRDD<Patient> patientRDD = javaFunctions(sc).cassandraTable("librehealth", "patient")
.map((Function<CassandraRow, Patient>) cassandraRow -> {
FhirContext fhirCtx = FhirContext.forDstu3();
IParser parser = fhirCtx.newJsonParser().setPrettyPrint(true);
String patientSrt = cassandraRow.getString("value");
Patient patientOb = parser.parseResource(Patient.class, patientSrt);
return patientOb;
});

JavaRDD<Observation> observationRDD = javaFunctions(sc).cassandraTable("librehealth", "observation")
.map((Function<CassandraRow, Observation>) cassandraRow -> {
FhirContext fhirCtx = FhirContext.forDstu3();
IParser parser = fhirCtx.newJsonParser().setPrettyPrint(true);
String observationStr = cassandraRow.getString("value");
Observation observationOb = parser.parseResource(Observation.class, observationStr);
return observationOb;
});

After loading this to Spark RDD, I have used Bunsen encoders to convert these data in to dataset which allow users to run Spark SQL on top of the FHIR data.

FhirEncoders encoders = FhirEncoders.forStu3().getOrCreate();
Dataset<Patient> peopleDFq = sparkSession.createDataset(patientRDD.rdd(), encoders.of(Patient.class));
Dataset<Observation> observationDfq = sparkSession.createDataset(observationRDD.rdd(), encoders.of(Observation.class));

Bunsen Encoders?

Bunsen encodes FHIR data in Apache Spark by generating Spark Encoders from the FHIR resource definitions. The encoders convert the FHIR data model into a Spark schema on a field-by-field, type-by-type basis. At runtime, they automatically generate byte code that serialises FHIR objects as Spark Datasets, which are an efficient binary representation that can be analysed at petabyte scale. Those datasets can then be saved or manipulated like any other Spark data.

Ex : FHIR Observation Representation after convert using Bunsen Encoders

root
|-- id: string (nullable = true)
|-- meta: struct (nullable = true)
| |-- id: string (nullable = true)
| |-- versionId: string (nullable = true)
<snip>
|-- status: string (nullable = true)
|-- category: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- id: string (nullable = true)
| | |-- coding: array (nullable = true)
| | | |-- element: struct (containsNull = true)
| | | | |-- id: string (nullable = true)
| | | | |-- system: string (nullable = true)
| | | | |-- version: string (nullable = true)
| | | | |-- code: string (nullable = true)
| | | | |-- display: string (nullable = true)
| | | | |-- userSelected: boolean (nullable = true)
| | |-- text: string (nullable = true)
|-- code: struct (nullable = true)
| |-- id: string (nullable = true)
| |-- coding: array (nullable = true)
| | |-- element: struct (containsNull = true)
<snip>
|-- valueDateTime: string (nullable = true)
|-- valueQuantity: struct (nullable = true)
| |-- id: string (nullable = true)
| |-- value: decimal(12,4) (nullable = true)
| |-- comparator: string (nullable = true)
| |-- unit: string (nullable = true)
| |-- system: string (nullable = true)
| |-- code: string (nullable = true)
|-- valueRatio: struct (nullable = true)
| |-- id: string (nullable = true)
| |-- numerator: struct (nullable = true)

At last loading FHIR data from Cassandra to Spark allowed me to run complex queries against the FHIR data.

Sample Query


SELECT * FROM patient inner join observation where observation.subject.reference == patient.id and gender='male'

References

[1] https://en.wikipedia.org/wiki/Apache_Cassandra

Kavindya Prashadi Bandara | Stories by Kavindya Peramune Rallage on Medium | 2018-06-04 02:44:58

At my company, we have built quite a large single-page application using TypeScript, React and Redux. For routing, we are using react-router library by React Training. Everything works great except we had a hard time writing tests for routing (for testing, we use Enzyme with Jest). React is a very simple and rather minimalistic library, so once you have assembled your lego of various libraries, certain kinds of integration testing for your particular combination may get tricky. In this post, I will very briefly go over the routing testing solution I have come up with.

If your container makes decisions based on the react-router’s match object, you need to populate the container’s match with fixture data. This can be achieved in various ways, the simplest of which is to wrap the container in a Route element from react-router. If you feel adventurous, you can wrap your container in a simple mock parent container with something like Switch inside. You can also use the actual parent container, depending on the situation.

Redux store is passed into the above through the Provider component from the react-redux library (by Redux.js). All of this you can wrap in MemoryRouter —it allows for mocking history and navigation. You can set its initialEntries (sort of a navigation history mock) and initialIndex (this is a point in the navigation history where your test will start). To illustrate, this is the little helper function I wrote (the purpose of actionInterceptor is to test dispatching actions and/or custom middlewares, while we’re at it):

https://medium.com/media/b83240260765081dbcb444b1d86af9c7/href

Pretty straightforward. Now, to assert on the location changes, you need to find your trigger element in the wrapper, simulate the event, and then either intercept your dispatched actions with a mock middleware, or examine the router’s location object.

Irene Storozhko | Stories by Irene on Medium | 2018-06-03 03:05:52

Stained glass has been with us for far more than a thousand many years. Folks are fascinated by the magnificence of light-weight which passes as a result of the artwork and the visible radiation of light-weight into a place. Most men and women feel of the regular cathedral and church windows.

Stained glass artwork was created to aid talk tales to the masses of men and women who could not read through. Textbooks and other published will work had been restricted for the several and had been not out there to the basic community. The artists assembled pieces of glass paintings which had been held alongside one another with direct to explain to spiritual tales or to depict religious beings.

Nowadays, stained glass kits are out there and there are a lot of textbooks about this subject. As an artist and craftsman you have the alternative of utilizing picked resources for smaller or substantial projects based on your talent stage and instrument choices.

There are a lot of projects which can be done with stained glass. Expenditures will be dependent on your variety.

Stained Glass Job Concepts:

    1. Glass doors

 

    1. Interior décor of residences and offices to compliment with light-weight, art, and color

 

    1. Exterior windows to allow for sunlight to stream as a result of artwork highlighting a place with light-weight, temper, and electrical power..

 

    1. Household decor – lamps, mirrors, panels, place dividers, and containers

 

    1. Home furnishings

 

    1. Jewelry

 

    1. Glassware and dinnerware

 

    1. Interior and exterior containers

 

    1. Wall hangings and other art pieces

Hand resources and electrical resources could be utilised. More usually than not hand resources are most usually utilised. If you make your mind up that this hobby could develop into a organization then electrical resources would be vital to speed creation.

There are some dangers operating with glass and if you desire to avoid this medium other resources could be substituted.

    1. Acrylic panels: Order a very clear acrylic sheet and transparent paints built for stained glass application. On completion of this venture its physical appearance will be extremely similar to glass. It will increase magnificence to the property inside, is significantly less high priced, will save time, and safer than true glass. Other resources could be vital based on the kind and sizing of the venture.

 

    1. Plexiglas: is also an acrylic but is produced much better and will cost far more than typical acrylic but it has a more time lifetime than true glass and not as expensive.

 

    1. Glass paint and fake primary: paints which can be utilised are enamel and formulated acrylic tints built for glass. Guide trimming is utilised in regular work. Faux primary is bogus and out there as a liquid or paste.

 

    1. Resin: Liquid acrylic ordinarily utilised for smaller projects and jewelry.

 

    1. Coloured tissue paper

 

    1. Melted pony beads

 

    1. Speak to paper

 

Roxana Necula | tuxilina.com | 2018-05-31 14:28:11

Vedic Astrology is a aspect of Astronomy. It begins the place Astronomy finishes. The planets that revolve close to the sun generate a grave impression on the life of men and women on the earth as effectively.

For understanding an individual’s horoscope, the 9 zodiac planets variety the solitary most essential criteria. But it is dependent majorly upon the place these planets are placed in relation to every other.

Some of the incredibly essential issues in lifetime which are described by planets are

    • Happiness in an individual’s married lifetime

 

    • How quite a few kids would a pair have

 

    • What is the career that a man or woman would go after

Alternately, every of the planets also symbolizes some incredibly essential factors in lifetime.

Just as an illustration, Venus planet in astrology is the image of love and when effectively placed, it brings about love and happiness in a person’s lifetime. In the exact way, if the planet Venus is connected with malefic planets, or if it is placed in a residence which is not beneficial, some difficulties in one’s love lifetime are possible.

Allow us run as a result of some of the incredibly essential ways of figuring out planetary strength. These are by no signifies thorough but nonetheless would give us a great diploma of strategy concerning how a particular planet would influence us positively or negatively.

A host of other variables also appear into enjoy and these would include aspect and conjunction of other planets, and also the particular Nakshatra wherein the planet is placed.

But the next would be the essential ways of accessing the strength of a planet.

BENEFIC AND MALEFIC PLANETS

In a incredibly typical way, Moon, Venus, Jupiter and Mercury are regarded as benefic planets

Though Sunshine, Mars, Saturn, Rahu, and Ketu are regarded as as malefic planets

But every planet is possessed with its own attributes and becoming benefic and malefic has a great deal to do with the placement of the planet in one’s horoscope.

FAVORABLE AND UNFAVORABLE Residences

In Vedic Astrology, homes too are divided as favorable and unfavorable.

Planets placed in homes 1, two, four, 5, 7, 9, and ten are regarded as favorable.

Equally, planets placed in homes 6, 8, 12 are regarded as malefic.

The nearness of the planets, the typical character of the planet and the placement of the planet in a particular Dwelling of your Start Chart, jointly represent to its strength and weak point. Hence the planets on their own are not strong or weak and for that subject we can not position one planet to be the strongest among the all. If a particular planet is placed in the suitable residence, it may well boost your lifetime and deliver all the riches, fame, glory and the factors that imply the most to you, earning it a much better planet for you. In the exact way, it is”A person for Just about every”.

We will now determine a number of attribute characteristics of all the planets that are regarded as when researching Astrology. The planets have a particular specific characteristics of their own, having said that, when it is in conjunction with other planets it might also get influenced with the other planets. The placement of the planets is so of grave worth.

Sunshine: Sunshine is the atma (soul) of all planet and human beings as effectively. It is the King of all planets and so possesses many positive characteristics such as becoming a fatherly determine, has immense strength, holds self-respect, is just, and authoritative.

What the planet Sunshine overlooks is one’s actual physical wellness and vitality. So how an particular person assignments himself on to the entire world is definitely dependent on the planet sun.

When Sunshine is strong in one’s horoscope, the particular person is incredibly energetic, and Sunshine will make the particular person a centre of attraction.

But is the Sunshine is weak in an individual’s horoscope, the constitution could be weak and the man or woman operates the chance of becoming moi centric.

Moon: Moon is connected to the thoughts. It acts as the mom of all, and imparts love, peace of thoughts, positivity and emotions. Moon is money. It also signifies h2o and greenery. It is closest to the planet earth and so influences us a great deal.

The planet moon is the ruler of one’s looks and emotions. With the moon nicely placed, the particular person is delighted, and the moon brings about a larger diploma of social and actual physical attractiveness.

This in turn brings about achievement in lifetime, as a delighted man or woman would nicely combine with other people.

But this is in contrast with a moon which is not placed nicely, and could trigger nervousness or despair, or even hardship.

Mercury: Mercury depicts Intelligence. People with a strong placement of Mercury in their Start Chart are organization minded, have better grasping electric power, can assume logically, superior in math, are agile and warn. It also signifies speech and other organization connected to it.

Mercury is the quickest planet in the solar process. It procedures our intelligence and also influences our skill to communicate.

With Mercury nicely placed, an particular person is possessed with higher intelligence. Mercury also gives dexterity considering the fact that Mercury procedures one’s hands as effectively.

Some of the characteristics of men and women who have the planet mercury nicely placed include an aptitude speaking, crafting and training.

Even so, if the planet mercury is weak or stricken, this would negatively influence an individual’s qualities in these parts. This might even translate to a harsh speaking style at periods.

Venus: Venus depicts love marriage and organization. It enhances your sex lifetime, life-style, and deliver along money and prosperity of all type.

Though Venus is the planet of love, it also signifies women in typical. Venus symbolizes magnificence artwork and socializing, and the planet essentially stands for all superior factors in lifetime.

When Venus is strong in one’s horoscope, it augurs positive for one’s relationship as the pair finds contentedness in their lifetime and also develop an appreciation for arts.

But if the planet Venus in one’s horoscope is debilitated, it could direct some form of disharmony in associations. A person may well even deal with a problems in relating with other people.

Mars: Mars depicts braveness, bravely, specialized and scientific strength and self confidence. People with a strong Mars are great troopers, policemen, engineers, physicians and connected professions connected with it. It also signifies land and authentic estate.

The planet Mars is the planet of atheletes. It signifies action. And with the planet Mars, we could appear to know about how a lot initiative does an particular person actually have to deliver about improvements in their lifetime.

When Mars is strong, the particular person is possessed with an skill to outlast his opponents. He is definitely possessed with the skill to get up and go.

But when Mars is stricken, the man or woman might close up becoming the form of an particular person who fights too a lot.

Jupiter: Jupiter is identified as Expert – the trainer. People influenced by Jupiter are spiritually clever and proficient. Jupiter supports love, marriage, and journey. It depicts wisdom and instruction of the man or woman. A person is also inclined in the direction of executing effectively to mankind.

Jupiter is a great beneficiary, and it symbolizes wisdom, faith and expansion.

The planet Jupiter also tells us about how a lot wealth would a man or woman get paid in his life time.

With a strong Jupiter in his birthchart, the man or woman is possible to be a effectively educated man or woman who is effectively to do.

Often when the Jupiter is stricken, material prosperity fails to follow.

Saturn: Shani is a hermit and depicts time previous age, poverty and lifetime. It is a judgmental planet, and the man or woman with a strong Shani can do superior in politics, organization, and other such sectors that needs your self-self confidence. A person with a strong Shani is hardworking, self-empowered and thriving in lifetime.

Saturn is the planet of decline, but even so assists us fully grasp our constraints. It assists us realize the issues wherein we can not deliver about a modify.

Saturn is the ruler of self-control and challenging function. It is about duty, longevity and decline that Saturn teaches us.

When one is blessed with a strong Saturn in his birthchart, you could hope the particular person to be committed, and with a perseverance to procedures and traditions.

Even so an stricken Saturn could make one undisciplined, or even irresponsible.

Uranus: Uranus has all the characteristics of Mercury, having said that, it is a lot more forceful or critical. We can expression it as the increased version of Mercury. It denotes severe knowledge and intelligence, or severe improvements (drastic) that one can expertise. It also denotes modern know-how, hypnotism and black magic.

Uranus happens to be a mysterious planet, and signifies a phenomenon which is unpredictable or abnormal. When Uranus is outstanding in an individual’s start chart, he pays a deep regard to his originality and independence.

With the Uranus favorable, the intellect is sharp and the man or woman is possessed with a motivation to be unconventional.

Neptune: Neptune is the increased version of Venus. It denotes instinct, magnificence and social lifetime. It is also identified for building confusion in the residence it is placed in.

Neptune, in quite a few senses could be seen as the inverse of the planet Saturn, which is staunch and impassive. The planet is an idealist, but could close up becoming an escapist at periods.

If the planet Neptune is balanced, the particular person is renowned for his magnificence or public graphic. However a Neptune not effectively placed could deliver the man or woman nearer to illusions in lifetime. He or she may well even develop troubles with medication or alcohol.

Pluto: Pluto is effective on a mass scale. A person might come upon significant factors going on to them (both superior or lousy). It is a recently found out planet. It relates to mass, social and non secular lifetime, and political occasions.

The planet Pluto is identified to magnify the result of what ever planet it touches. Though Pluto is connected with electric power, it does so in a way which is whole or compulsive.

It is also identified that the planet Pluto operates beneath the surface.

When Pluto is effectively placed, one routines higher electric power around other people and enjoys higher wealth.

But a terribly aspected Pluto can trigger misery.

Rahu: Rahu depicts the ascending north node and influences the moon the most among the the planets. It deliver title and fame, unexpected improvements, overseas travels to title a number of. It also aids in therapeutic diseases.

Rahu is the astronomical position, the place the orbital path of the Sunshine intersects with the upper orbital path of the moon.

In typical, the planet Rahu is regarded as to be malefic.Even so when affiliated with benefic planets, the planet Rahu brings about achievement, and great riches as effectively. It could even pave way for refined arts or scientific discoveries.

But when Rahu is stricken, it could trigger malefic effects as effectively. This is vastly dependent on the planet it is most effectively linked to.

Ketu: Ketu depicts the descending south node and influences the sun the most. It is worshipped for spirituality and also is effective in favor of switching occasions, incidents and breaking associations.

Ketu, just opposite to the planet Rahu is the position the place in the orbit of the Sunshine intersects with the reduce orbital path of the moon.

Just like the planet Rahu, Ketu too is regarded as to be malefic. But it could supply a incredibly positive strengthen to an individual’s horoscope when it brings together with favorable planetary configurations.

Planet Ketu is possessed with abilities to deliver men and women to the around worldly realms

All zodiac planets have their own importance in astrology and can acquire a man or woman to Rags or to Riches based upon their placements, their conjunction, the Zodiac Indications and Nakshatras. However, one may well also lessen the unwell effects of the planets to a particular extent by implements particular solutions. A person may well appease the ruling deity and surrender and may well achieve love, wellness, wealth, prosperity, abundance, and all factors that imply a great deal to you.

Roxana Necula | tuxilina.com | 2018-05-31 14:26:02

Have you ever viewed as, what might possibly, go improper, since of the actions, or failure to act, of our general public officials? The actuality of general public management, is, whilst, we generally blame and complain, about what, these leaders, do, the actual blame, must go, to the American citizens, and its willingness, to consider, the vacant claims, and rhetoric, instead than demanding the real truth, and appropriate, sustainable, practical solutions! In these days, of so many, fake information, 50 percent – truths, and populist, overly – simplistic rhetoric, our country threats, losing its establish, and its location, in the entire world, for symbolizing the finest, democratic, liberty, and flexibility – dependent, alternatives/ alternatives. With that in intellect, this report will briefly try to contemplate, critique and focus on, 5 rational fears, we all must have, since of the existing political atmosphere.

one. Why we elect, who we elect? The character of political leaders: Analyze, why we vote, for precise candidates? Heritage exhibits us, most voters elect and select, folks, dependent on their populist rhetoric, and claims, instead than kinds, who make claims, which feed, their particular agenda, biases, and prejudices! We must contemplate, and examine, the crucial character of an personal, their motives and motivations, and the very best way, our country, must continue!

2. Surroundings: Although the rest of the entire world, at the very least, acknowledges, the actuality of local climate alter, and how individuals influence our atmosphere, President Trump made the decision, to have the United States, clear away itself, from the Paris Accords (one of the only nations, to do so). He stated, this go, by diminishing the prevailing viewpoint of the vast the greater part of authorities, and making use of, cutting down restrictions, as one of the justifications. Sad to say, even so, as President Macron, of France, not too long ago stated, the entire world, does not have, a World B, since, the future and sustainability of our entire world, is at – hazard, since of the failure to make practical, sustainable solutions/ decisions, right now!

3. Electricity (oil and gasoline, etcetera): President Trump’s decision to reverse the gasoline financial system benchmarks, for vehicles, outlining it, in terms of economic decisions, etcetera, until/ until, we concentration on cutting down our dependence of fossil fuels, our atmosphere, power – independence, etcetera, is, at – hazard! Should not The united states be the chief, instead than trailing, most of the rest, of the formulated nations, of the entire world?

4. Social Plan: Why does it appear, Donald Trump, equates, earning The united states wonderful, all over again, to cutting down, our emphasis, on social justice, freedoms and liberties, we have emphasised, and fought for, for generations? The entire world has been emphasizing raising this emphasis, but we have been heading in the reverse course! What can make The united states, wonderful, until/ until, we concentration on what has, traditionally, made us, so?

5. Top quality of lifetime (liberty and flexibility): For generations, the rest of the entire world, has appeared, at the United States, to be a chief, in the struggle for liberty and flexibility! We have to have to re – concentration on this vital vision!

What might possibly, go improper, if we continue, as we have been, in these past sixteen months, or so? Foreseeable future generations will glimpse back, and how, will we demonstrate this?

Roxana Necula | tuxilina.com | 2018-05-31 14:21:49

It is really not the butter-pecan ice product that is keeping you back from what would make a true lady, you know. How to be much more appealing is in fixing a Sure (and I am going to tell you how in a minute), that clears the way for miraculous alter and expansion.

How to look appealing and becoming the true, luminous you commences listed here (see and just take a peek!).

If you have ever necessary to get unstuck from a terrible position in your everyday living, this is the variety of compassionate, insightful, inspirational help you need for what would make a lady.

The True concerns that hold you back are NOT about too substantially food stuff (even sweets and junk food stuff!), your wrinkles, your bra size, or your economical circumstance.

You are heading to have to cease operating from people self-projected inner creatures in the dim, and start off staring them straight in the eyes and tell them WHO IS Actually IN Regulate.

Maintain in mind as you ponder my concept in this report what the Course in Miracles states about letting go of self-projected anxiety:.

” Young children understand horrifying ghosts and monsters and dragons, and they are terrified. If they question a person they trust for the which means of what they understand, and are prepared to let their own interpretations go in favor of truth, their anxiety goes with them.”.

How do you explore what would make a lady?

Clear up the Right challenge:

– Crippling anxiety desires to become vivid optimism and how to look appealing.

– Aggravation must change into knowledge and a fascinating lady.

– Sloppy behavior become legitimate inner-motivation.

– Doubts dissolve absent and you Finally see your aims commence to be reached!

If you have ever felt forgotten, unworthy, or disposable, and afraid of everyday living, you can study how to change that mistaken-minded, moi-dependent considering all over into correct-minded, spirited views and steps for what appeals to men to girls.

The Program in Miracles further states, “When a kid is assisted to translate her ‘ghost’ into a curtain, her ‘monster’ into a shadow, and her ‘dragon’ into a dream she is no for a longer period afraid, and laughs fortunately at her own anxiety.”.

You need a neighborhood of intelligent, loving girls with equivalent aims and struggles who are now fascinating girls.

There is certainly just no reason to NOT just take a look at what would make a lady!

Earlier I held a discussion on what is it about the Ladies Gentlemen Adore: and is there a mystery to trying to keep your guy from leaving?

It might be exactly the breakthrough your everyday living desires correct now!

It can be extremely tricky to come across a secure, Private position exactly where you can brazenly express your fears, self-doubt, and dreams devoid of experience judged or shamed.

You can come across other people who will enthusiastically supply the guidance you need to rework into the assured, got-it-together, radiant and stunning lady you are meant to be.

Obtain your THUMBS-UP tribe of girls and mentors friends, due to the fact you totally do should have this!

If you are significant about looking for self-expansion and personal transformation as a lady, you should not test to do it all by your self.

You need individuals who can correctly tutorial, advise and suggest and mentor you.

You will not likely think what is accessible on the internet now, but I guarantee you it is totally new, new, and innovative.

Almost everywhere you go, there always appears to be some horrible critic or toxic particular person waiting to tear you down and tell you that you might be no excellent.

Properly isn’t really it time that sufficient is sufficient?

Sure, I indicate it is up to you from inside of your self to go from “a disappointed and puzzled mess” to “incredibly gorgeous” all via you.

(Again, I must insert there many possibilities and insightful material on the net for a clearer knowledge of what’s heading on currently with interactions and men, and what men appreciate about girls.)

To the stunning you!

Roxana Necula | tuxilina.com | 2018-05-31 14:18:49

Quite a few girls surprise when it will be the best time to start a loved ones. The truth of the matter is, you seriously can not just choose an age and figure out that it is the best age. This is just merely not the circumstance. There are lots of different aspects that go into choosing when it will be the best time to get started off getting little ones. This is a little something that will change from a person woman to a different. Positive, there are excellent ages, but none of them are going to be correct for anyone out there. This is due to the fact so lots of persons have different suggestions of what will make them completely ready to be a father or mother. These are all vital and legitimate things to consider.

There are lots of different arguments that say that persons should really start getting little ones in their early adulthoodlet’s say about the twenties. Properly, the persons that say this do have legitimate details, but it is merely not going to give you a textbook answer to the question. Most persons that say that setting up a loved ones at this age is a terrific strategy will give causes this kind of as the simple fact that they will be younger and be capable to preserve up with the little ones. They also feel that they will have a lot more power and will be capable to cope with dealing with a new child infant. Then you also consider that by the time they are in their late teens and early twenties, you will nevertheless have some youth left and be capable to reside a very little. These are all things that persons consider when getting little ones in their twenties.

Then you have the persons that believe that the thirties are the best a long time to start a loved ones. For these persons, they also have a legitimate argument on their hands. They say that by the time they are in their thirties they will be more secured in their professions and be better capable to assistance the loved ones financially. They also feel that they will have more worldly expertise and be capable to better increase the little ones. Next the expertise is tolerance, which is acquired in time. These are all terrific causes that they pick out to wait around right up until they are in their thirties.

Properly, then you have to glimpse at it from an general point of view as perfectly as a scientific point of view. For adult men, it does not seriously issue scientifically. They continue to be capable to reproduce much into their more mature everyday living. This is just a simple fact of everyday living and mother nature, and how the human system functions. For girls, it is a different tale. Females do have a biological clock that is ticking. This is due to the fact they only have a specific quantity of eggs in their ovaries. When these are long gone, then her probabilities of being capable to get pregnant and have a infant will be in excess of. This is not a little something that you should really seriously fear about that considerably while. Stressing in excess of a little something that does not generally transpire right up until mid forties to early fifties is just not simple. By this time, most girls would not aspiration of setting up a loved ones. They are at this level searching to settle down and appreciate everyday living – regardless of whether they are alone or with a companion.

When you glimpse at the general details of check out, you will have to have to just consider your person scenario. Do you see on your own completely ready and capable to have a infant? Are you completely ready to be up at night time with a new child? Are you responsible? Do you have a companion that will aid you with the infant? Do you feel that you will have to have a person if you do not? All of these are answers that persons might only be capable to answer for them selves. It is for this cause that no a person can give you a definitive answer on when the best time to start a loved ones is.

As you can see – deciding when to start a loved ones is completely up to you and your wife or husband, or companion. Permitting somebody else come to a decision for you, or having an invalid textbook answer is merely not simple. Just take the time to make confident that you are completely ready just before you get started off in the infant producing method.

Roxana Necula | tuxilina.com | 2018-05-31 14:14:13

(Cross-posted from Windmill’s blog.)

At the end of April, Windmill (all five of us) trekked down to GothamGo to learn things, meet people, and pitch our product. As Silver Level sponsors, we had our very own little table on the first floor; it was the perfect chance to pitch our fledgling product, make connections, and figure out what developers might want from us. The only question was: how?

We’re a brand-new team, and GothamGo was a great excuse to do some important work. In preparation for the conference, we talked, we brainstormed, we aligned on our values and objectives and product goals; and then took the results of those conversations and ran with them, building our booth and our pitch from the bottom up.

The Booth (Objectives and Values)

The first order of business was: what was our booth going to look like? We asked this question of the team, and immediately realized that we first had to tackle our zeroth order of business: what were our objectives for the conference? In other words, what did we as a company hope to get out of GothamGo? Our answers would shape how we interacted with attendees, and how we decked out our booth to encourage those interactions.

We decided that the primary things we were looking to get out of this conference were:

  • A pulse on developer needs. (What are the pain points of people’s current dev tools? What do they want their magic dev tools solution to do for them?)
  • Product feedback. (Is our current incarnation of Windmill the right product to be building?)
  • Design partners. (These are larger organizations interested in adopting Windmill for their codebase, who will work with us to refine our product for them — and by extension, for other users.)

Additionally, though not our primary focus, nice-to-have conference benefits included:

  • Buzz around our product
  • Alpha users who would play with Windmill and give us feedback
  • Rad developers interested in joining our team

With a framework in mind, we then turned to booth design.

Last year at GothamGo, our founders went full science fair, with great success.

Nick and Dan at GothamGo ‘17

Nick and Dan at GothamGo ‘17

This year we wanted something with a similar vibe — not a big fancy banner with our company name on it, but something more personal and more interesting.

Instead of throwing ideas out into the void, though, we decided to focus our thinking. What did we like about last year’s booth that we were trying to replicate? What did we want this year’s booth to communicate? We brainstormed, and came up with some values that we wanted our booth to reflect:

  • DIY (“we got our hands dirty making this booth instead of just buying a pretty banner”)
  • Authentic (“we’re being our excitable, nerdy selves and we’re really psyched about dev tools, y’all!”)
  • Approachable
  • Sparks conversation
  • Communicates the stage of our startup (i.e. early. Very early.)
  • Empathetic

We started tossing out ideas for booth themes in keeping with these values, but the breakthrough actually came when we took a slightly different tack: rather than “what do we want our booth to be,” we considered, “how do we want our booth to hook passersby?” The very first idea that got proposed was: “let’s let people complain about their dev tools. People love complaining about their dev tools.” The team loved it, and from there, it was jut a hop, skip, and a jump to Lucy’s “Psychiatric Help 5¢” stall from Peanuts.

The final product!

The final product!

We spent some time spitballing ideas, and declared a sub-committee to come up with a more concrete proposal. (It turned out that this was a key move — brainstorming is great for generating high-level ideas, but trying to make specific decisions in a committee of 5+ is a recipe for disaster.) With the fruits of this meeting in mind, our sub-committee set out to decide exactly what the booth would look like, and what swag/shiny things/interactive bits we would have to spark conversation and move towards our objectives.

Keeping It Lean

Our sub-committee brought back a booth proposal with a bunch of neat stuff, including:

  • a “tip jar” where people could optionally put their 5¢ for donation to Women Who Go
  • a monitor with a screencast of our alpha product in use
  • a “make your own T-shirt” station
  • an iPad and keyboard for folks to fill out a contact form (okay, maybe this one is par for the course)

…and more! In the end though, we decided to strike almost all of their proposals.

The initial booth proposal. Note a handful of things already crossed out.

The initial booth proposal. Note a handful of things already crossed out.

Any of the things suggested would be great booth components and conversation starters in their own right; but all together, it was just too much! If someone came up to our booth, we didn’t want to overwhelm them with choice; instead, we wanted a booth that funneled visitors into our desired modes of interaction. In the end, we opted to keep our booth lean, with only three major components: the psychiatry booth sign itself (“Dev Tools Help 5¢”); the screencast of Windmill Alpha in action; and a handout asking people for dev tools horror stories and directing them to our contact form.

The Pitch

The product we’re trying to build is a little new and a little amorphous. Given that, and the fact that 40% of our team had joined within the previous months, we took GothamGo as an opportunity to align on our vision of Windmill and to practice pitching our product.

To kick off our practice session, our co-founders (by far our most experienced pitches) shared some of their one-sentence product hooks. (We don’t have a clean-cut “Windmill is like {Uber} for {cats}”, but there are a handful of pithy phrases that work well to explain our product and spur further conversation.) Armed with these one-liners, we all role-played pitching Windmill to a conference attendee, with the rest of the team giving feedback. Here are some useful guideposts that emerged from this exercise:

  • Your opening line can be brief. I had previously bent over backwards trying to explain Windmill in one sentence, but to my surprise, the best pitch-starters were the shortest: say, “Windmill makes development tools that give you faster answers to better questions.” The purpose of the opening line was not to explain our entire product in one go; it was to catch interest and spark discussion.

  • Let the pitch-ee steer the pitch. If you’re talking to a real containers nerd, of course you want to seize the opportunity to brag about your container magic. And conversely, if you’re talking to someone whose biggest pain point is iOS integration testing, if you spend 5 minutes talking to them about deploying to Kubernetes, you’re wasting their time. However, if you take their signals and talk about the things they seem most interested in, you hold their interest better and have a greater chance of getting their buy-in. And in order to customize your pitch, you probably want to…

  • Ask your pitch-ee questions about their situation/use case. This is by far the best way to make sure you’re pitching to someone and holding their interest, instead of rambling about generic stuff that’s not of interest to them.

  • Corollary point: probe to get at their concerns and reservations, and address them directly. If you’re feeling resistance to your pitch, figure out why — either you can address your pitch-ee’s concerns and explain how your product is in fact right for them, or you come away with a new growth area for your product.

We came away from our practice session more comfortable in our pitch, and more unified in our product vision. And because of our thorough prep work — for pitch, booth, and conference objectives alike — we were able to go into GothamGo prepared, aligned, and ready to make some new friends on behalf of Windmill.

Want to see the fruits of our pitch-practicing? Luckily, it’s easy to get a first-hand demonstration: hit us up at @windmill_eng or drop us an email!

Thanks to Sarah Withee and Rae Krantz for their feedback on this post!

Maia Remez McCormick | Maia McCormick | 2018-05-29 20:29:12

for PyCon 2018 in Cleveland, the city of my birth. It was wonderful! So many great people... and Saturday night Cleveland's Terminal Tower was lit in Python blue and gold... and Sunday my small donation to the Python Software Foundation turned into a chance to have lunch, along with several other lucky donors, with Guido van Rossum.

In case you missed it, PyCon 2018 talks are online, and so, too, now are photos from the poster session.

More later...

Barbara Miller | galgeek - galgeek | 2018-05-28 00:00:00

As the General Data Protection Regulation compliance deadline has arrived today, I have removed all tracking scripts from my website.

I did it to protect myself, as being self-employed implies I’m a legal entity. I never collected any data beyond user visits, be it personal information or passwords.

I have only used two tracking scripts, both external:

  • Google Analytics for getting info on the website traffic - removed completely

  • Recurse Center script for referrals - I removed the script and now only use a static link for referrals (even the RC logo animation is in pure CSS)

Since this website is being hosted on GitHub pages, some data is still being tracked by GitHub servers for providing the service. I don’t have control over what GitHub might be tracking, but I don’t provide any additional data to them. Any data GitHub might have on users after visiting this website is what they willfully provide by browsing the Internet.

I might add a new tracking script to this website in the future, after I make sure I understand if and how Google Analytics is compliant with GDPR.

Alicja Raszkowska | Alicja Raszkowska | 2018-05-25 15:30:00

<Pictures, Slides, URLS will be added on Monday>

I wrote a post on all my travels during May. One of my trips was to Tirana, Albania for OSCAL conference organized by Open Labs.I feel lucky to be given the opportunity to be a part of the experience – not just as a speaker but also a learner.

Open Labs is fuelling the open source movement in Albania starting from building a community from the grassroots in Tirana, Albania – and they have done an awesome job at it! The Open Labs community is warm, welcoming, inclusive and inquisitive (and women are the majority! Yaay, fem power!).

I learnt a lot of things about open source, hardware, different projects and communities and got to meet people behind them. I was representing the Fedora community and doing outreach and spreading awareness about our project, our community with a primary focus on getting more women into Fedora and open source. The audience at OSCAL is unique in the sense that a lot of them are female (about 70 percent of open lab members are female) and are university students or recent graduates.

I had three sessions at OSCAL – a community meetup for ‘ Women in Open Source’ and their supporters, a presentation on ‘How to get paid to do open source?’ and a workshop on Machine Learning. We also had a Fedora community meetup and Fedora 28 release party! It was definitely a packed conference for me. Thankfully, Renata and I were doing the meetup and presentation together!

We had a lot of participants in community meetup for ‘ Women in Open Source’ – from different walks in their open source journey. Some were newcomers and wanted to get involved while others wanted to learn how their companies or projects could shift and collaborate with other open source communities. There was a lot of buzz around different open source projects and especially Fedora! We even had a few high school students as attendees and people were promoting open positions at their companies! The time was not enough and in the end, we were both being asked questions about internships and contributing to open source! Also, it was not just all girls and I was glad to see our male allies there too! Did I mention the chairwoman of The Document Foundation, Marina Latini was there? It feels so awesome to meet one of your role models in real – and the meet up was a pathway to that for me – and I hope I could do it for others too!

During our talk on ‘How to get paid to contribute to open source’, Renata and I talked about different paid opportunities including internships, fellowships, project grants and job offers and how to search and apply for them! Personally, I always feel like I find such awesome opportunities after their deadline is over and I hoped our talk would avoid that for others. If you are interested, you can find our slides online. While prepping for the talk, I myself learnt about a lot of new opportunities. Also, we used the opportunity to highlight the importance of subscribing to different mailing lists and job boards – especially, if you are a women or from other underrepresented community! My personal advice:

Open source has a lot of paid opportunities too –  Don’t be shy! Don’t doubt yourself! There are a lot of resource and support for you out there! Take advantage of them!

On the afternoon on the same day (yes, I know!), I had my Machine Learning workshop. I talked about different machine learning applications and taught the fundamentals of some basic algorithms. The audience was very engaged and I hope they learnt or atleast became interested in Machine Learning after. I also talked about Open source in machine learning world and how different FOSS communities are using machine learning. We wanted to try and implement a small algorithm during the session but the time was less and attendees didnt know Python – so it was a dead end! However, I showed them one of my notebooks, introduced them to common ML libraries like numpy, pandas and scikit learn and how to use them and pointed them towards learning resources for both Machine Learning and Python!

When I was not presenting, I was at the booth with the Fedorator! There were a lot of people dropping by who used Windows and I spent a lot of time discussing about advantages of Linux distros like Fedora. Few people asked us for the CD and how to install – but we had the Fedorator to save the day! There were also some intense discussions on modularity in Fedora, Fedora spins and on getting involved with the community! Since the OSCAL venue was a public heritage site just open for the conference, a lot of tourists and locals who didn’t know about open source dropped by and hopefully, learnt about open source from us! This was also the first time we tried to have a hack challenge at Fedora booth during the conference. We had a poster and promoted this hack challenge at booth and meetups. People who contributed during OSCAL could get an OSCAL attendee badge. Easy contributions which were promoted for hack challenge:

* Translate strings from english to albanian in zanata

* Fedora easyfix issues

* Tagging packages

* testing bodhi kernel/ updates

A lot of people were interested in the whatcanidoforfedora.org and easyfix issues website. However, I don’t know of anyone who actually contributed during the conference and a lot of people also said that they might not be able to because of the different talks/ workshops going on simultaneously. However, most of them expressed concern about difficulty in starting to contribute as a newcomer and having this challenge helped us show the low barriers to entry to Fedora community. I am positive this helped them get a foot in the door to start contributing after the conference. The hack challenge also helped create a lot of buzz around Fedora.

The Fedora community meetup was also another event where we engaged with attendees and other community members. Justin talked about the project and how to get involved. We also had a small release party – and there was cake! Not just our FCAIC, Brian Exelbird but also delicious blue Fedora cake – It was so good, I still want some more 😦

We also managed to sneak in a few hours to work on diversity team tasks since all of us were together after so long. Hopefully, you will get to see some of our work during FLOCK soon. Till then, see our pagure repo or hang out in our IRC/Telegram channel or subscribe to our mailing list to know more about what we do and if you want to get involved. (Btw FLOCK registration is out!)

It wasn’t all just work. We also hung out together in the evenings – had icecream with Bex and got the cake badge instead :P, had awesome sea food in Tirana where we celebrated Justin’s birthday (more cake!) and went around lovely city of Tirana. I even managed to sneak in some shopping :)Albania reminded me so much of India – the culture, the weather, the traffic 😛 and I fell in love with the city. Hopefully, I will be able to come back soon.

 

 

Bhagyashree Padalkar | networks for data | 2018-05-25 14:51:23

This past month (of May) has been a whirlwind for me – I have been hopping continents a lot, meeting new people, having new experiences, exploring, learning, growing but mainly (re) evaluating what it means to be me.

I did check off quite a few items off my bucket list like

  • Doing a road trip in US (We didn’t get to go through a drive through – till next time IHOP!) and part of it while it was raining!
  • Have a lot of cakes – cake for breakfast, cake for when you are hungry, cake for getting high (on life, duh!), cakes I don’t like.
  • I went through an all American car wash
  • Had unworldly amounts of salt and sugar dumped into everything I had – it was either too sweet or too salty but completely normal if you are an American – and I survived.
  • Found my new drunk food for NYC – Pastrami and pickles from Katz Deli, it is!
  • Made someone break their <rule?>
  • Got a parking ticket in a zone where you could park (it’s NYC baby!)
  • Got pictures with fearless girl on Wall Street
  • Made punctual people late ( – I give up! -)
  • I was IN UNICEF!! Ahhh, UNICEF!! Ah, met people at UNICEF!!
  • experienced the New York subway (Chicago, I love you more!)
  • Talked with Mel, danced with Toshio and did I mention I was at UNICEF – talking to people at UNICEF – about UNICEF?
  • Saw an Amish family in person and no they didn’t ride a horse cart – also saw Niagra falls!
  • Went to Albania and Open Labs, had Raki and lazy breakfasts – loved it completely!
  • Made a shopping record – 1 skirt for 100 leks – less than a euro! It’s not even that cheap in India.
  • Fell sick – I have to fall sick atleast once on every trip

and added a few more stories to my ‘I-will-tell-this-at-parties’ list

  • I dropped my mobile phone in the toilet as soon as I landed in US! or if this were a party, I would say I did the ‘no phones for a week in a completely new land’ challenge and I came out exactly the same.
  • I got drunk on Coffee toffees (yes, it happened!)
  • Found the best possible comic store with every possible comic – and it didn’t have ‘Heart and Brain’ in stock – whatttt?!!
  • Felt the divide between NYC and NJ – I felt like a slave crossing over
  • Had COSTCO experience (COSTCO is for giants?) and then had Walmart experience (I want to buy everything!)
  • Went to supermarket  5 times in less than 48 hours
  • Was scared by a seagull at an american lake ( Americans are crazy with their dimensions – it’s definitely a sea and not a lake!)
  • Talked for 3 hours straight
  • Realized decause was going to be presenting at conference. I was finally going to meet him. Missed meeting decause him because he couldn’t attend. How does this happen to me – everytime?
  • Had donuts and beer – brewnuts!
  • Had a fear of dogs, Lived with 5  huge dogs out of which a few who constantly barked at me like I was a robber – and survived!
  • Then went on to live with 2 cats who didnt bark (or mew), had automated kitty food and`kitty litter and lived a more comfortable life than me (What have I come to – I am jealous of cats!)
  • Got back from US and on to flight to Albania within 2 days – and worked for those 2 days at Siemens – whaaat? How am I so productive?
  • Realized Albania is like India and traffic is crazier, had major missing home feelings
  • Had tzaziki lays, coconut cookies like home
  • Wore a winter coat in 30 degrees heat – and I felt cold!

and I still have the trip to Malta left!

Bhagyashree Padalkar | networks for data | 2018-05-25 14:02:40



Review Fortnite Scar Tank Top

Besides, there’s a global list right. Last time I checked, I didn’t see any of these popular streamers at the top.

Julia Lima | Thu thm t uy tn | 2018-05-23 16:12:17

Scary Terry Celtics Sweater

Cavs are going to get a lot of home-officiating today. The NBA doesn’t want the series over too soon, and they want Lebron in the Finals. There is going to be a HUGE disparity in fouls (3 to 1, maybe) that are called.

As much as I want Boston to win, I know the chances of that are SLIM.

As a bonus prediction, Lebron gets to the line 14 times. Eehhhh. Everyone said the same thing about game 2…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-20 10:11:31

During this Google Summer of Code, I’m working on FHIR Analytic capabilities using Apache Spark. I’m researching on Bunsen which built on top Apache Spark to provide FHIR Analytic capabilities via a Java and Python API.

Using Bunsen, it currently provides the functionality to load the FHIR Bundles to Spark which allows users to use Spark SQL or underline Java/Python APIs to perform queries on loaded data.

After loading data to Spark using Bunsen, it maps FHIR Resource to Java Object structure using HAPI FHIR library. For example, if Observations loaded to system, user can user Spark SQL in following manner to query data.

spark.sql("""select subject.reference,effectiveDateTime,valueQuantity.value from observations where in_valueset(code, "heart_rate") limit 5 """).show()
+---------------+-----------------+-------+
| reference|effectiveDateTime| value|
+---------------+-----------------+-------+
|Patient/9995679| 2006-12-27|54.0000|
|Patient/9995679| 2007-04-18|60.0000|
+---------------+-----------------+-------+

Bunsen also provide rich Java API to perform FHIR analytics capabilities. Bunsen make FHIR analytics easier by using FHIREncoders. With encoders, user can use JAVA API in following manner to analyze FHIR data.

FhirEncoders encoders = FhirEncoders.forStu3().getOrCreate();

List<Condition> conditionList = // A list of org.hl7.fhir.dstu3.model.Condition objects.

Dataset<Condition> conditions = spark.createDataset(conditionList,
encoders.of(Condition.class));

// Query for conditions based on arbitrary Spark SQL expressions
Dataset<Condition> activeConditions = conditions
.where("clinicalStatus == 'active' and verificationStatus == 'confirmed'");

// Count the query results
long activeConditionCount = activeConditions.count();

// Convert the results back into a list of org.hl7.fhir.dstu3.model.Condition objects.
List<Condition> retrievedConditions = activeConditions.collectAsList();

Bunsen also allow users to load data via JSON or XML using spark map functions.

// Created as a static field to avoid creation costs on each invocation.
private static final FhirContext ctx = FhirContext.forDstu3();

// <snip>

FhirEncoders encoders = FhirEncoders.forStu3().getOrCreate();

Dataset<String> conditionJsons = // A Dataset of FHIR conditions in JSON form.

Dataset<Condition> conditions = conditionJsons.map(
(MapFunction<String,Condition>) conditionString -> {
return (Condition) ctx.newJsonParser().parseResource(conditionString);
},
encoders.of(Condition.class));

// Arbitrary queries or further transformations the the conditions Dataset goes here.

Currently I’m researching on integrating Bunsen with Cassandra via loading data from Cassandra database. Datastax provide Cassandra spark connector which allow users to load data directly from Cassandra database to spark models. Following is a sample a JAVA API which provided by the spark Cassandra Datastax driver to Spark structure.

JavaRDD<SampleBean> cassandraRdd = CassandraJavaUtil.javaFunctions(sc)
.cassandraTable("simple_ks", "simple_cf", mapColumnTo(SampleBean.class)).select("value");

I’m researching more on integrating Bunsen to load data from Cassandra. Also according to my research, Bunsen accepts FHIR bundles. But I’m looking for the capability to load data to Spark via Bunsen using FHIR resources it self.

It’s very interesting to learn about these technologies.

Kavindya Prashadi Bandara | Stories by Kavindya Peramune Rallage on Medium | 2018-05-16 12:58:54

Fortnite Nike V Neck Shirt For Ladies

My schedule has been crazy, but I’ve been watching on YouTube since I haven’t been able to make the FB streams. My schedule has been crazy, but I’ve been watching on YouTube since I haven’t been able to make the FB streams. Why do I️ always gotta stand so close to open chest and ammo anyone else have that prob I️ literally have to stand on top of I️t lol I️ have tap to hold on though. I’m gonna…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-14 13:08:51

This post is long overdue, but I have been so busy lately that I didn't have the time to sit down and write it in the past few weeks. What have I been busy with? Let's start with this event, that happened back in March:

Debian Women meeting in Curitiba (March 10th, 2018)

The eight women who attended the meeting gathered together in front of a tv with the Debian Women logo

At MiniDebConf Curitiba last year, few women attended. And, as I mentioned on a previous post, there was not even a single women speaking at MiniDebConf last year.

I didn't want MiniDebConf Curitiba 2018 to be a repeat of last year. Why? In part, because I have involved in other tech communities and I know it doesn't have to be like that (unless, of course, the community insists in being mysoginistic...).

So I came up with the idea of having a meeting for women in Curitiba one month before MiniDebConf. The main goal was to create a good enviroment for women to talk about Debian, whether they had used GNU/Linux before or not, whether they were programmers or not.

Miriam and Kira, two other women from the state of Parana interested in Debian, came along and helped out with planning. We used a collaborative pad to organize the tasks and activities and to create the text for the folder about Debian we had printed (based on Debian's documentation).

For the final version of the folder, it's important to acknowledge the help Luciana gave us, all the way from Minas Gerais. She collaborated with the translations, reviewed the texts and fixed the layout.

A pile with folded Debian Women folders. The writings are in Portuguese and it's possible to see a QR code.

The final odg file, in Portuguese, can be downloaded here: folder_debian_30cm.odg

Very quickly, because we had so little time (we settled on a date and a place a little over one month before the meeting), I created a web page and put it online the only way I could at that moment, using Github Pages. https://debianwomenbr.github.io

We used Mate Hackers' instance of nos.vc to register for the meeting, simply because we had to plan accordingly. This was the address for registration: https://encontros.matehackers.org/pt/projects/60-encontro-debian-women

Through the Training Center, a Brazilian tech community, we got to Lucio, who works at Pipefy and offered us the space so we could hold the meeting. Thank you, Lucio, Training Center and Pipefy!

Pipefy logo

Because Miriam and I weren't in Curitiba, we had to focus the promotion of this meeting online. Not the ideal when someone wants to be truly inclusive, but we worked with the resources we had. We reached out to TechLadies and invited them - as we did with many other groups.

This was our schedule:

Morning

09:00 - Welcome coffee

10:00 - What is Free Software? Copyright, licenses, sharing

10:30 - What is Debian?

12:00 - Lunch Break

Afternoon

14:30 - Internships with Debian - Outreachy and Google Summer of Code

15:00 - Install fest / helping with users issues

16:00 - Editing the Debian wiki to register this meeting https://wiki.debian.org/DebianWomen/History

17:30 - Wrap up

Take outs from the meeting:

  • Because we knew more or less how many people would attend, we were able to buy the food accordingly right before the meeting - and ended up spending much less than if we had ordered some kind of catering.

  • Sadly, it would be almost as expensive to print a dozen of folders than it would be to print out hundred of them. So we ended up printing 100 folders (which was expensive enough). The good part is that we would end up handing them out during MiniDebConf Curitiba.

  • We attempted a live stream of the meeting using Jitsi, but I don't think we were very successful, because we didn't have a microphone for the speakers.

  • Most of our public ended up being women who, in fact, already knew and/or used Debian, but weren't actively involved with the community.

  • It was during this meeting that the need for a mailing list in Portuguese for women interested in Debian came up. Because, yes, in a country where English is taught so poorly in the schools, the language can still be a barrier. We also wanted to keep in touch and share information about the Brazilian community and what we are doing. We want next years' DebConf to have a lot of women, specially Brazilian women who are interested and/or who are users and/or contribute to Debian. The request for this mailing list would be put through by Helen during MiniDebConf, using the bug report system. If you can, please support us: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895575

Pictures from the meeting:

The breakfast table with food

Our breakfast table!

Miriam telling the women about Free Software, six women listening

Miriam's talk: What is Free Software? Copyright, licenses, sharing

Renata and Miriam talking about What is Debian a tv among them shows the title of the talk

Miriam and Renata's talk: What is Debian?

Renata talking about internships with Debian

Renata talking about internships with Debian

Thank you to all the women who participated!

The participants with the two men who helped with the meeting.

And to our lovely staff. Thank you, Lucio, for getting us the space and thank you, Pipefy!

This has been partly documented at Debian Wiki (DebianWomen/History) because the very next day after this meeting, Debian Wiki completely blocked ProtonVPN from even accessing the Wiki. Awesome. If anyone is able to, feel free to copy/paste any of this text there.

Renata D'Avila | Renata's blog | 2018-05-13 20:49:00

Fortnite Just Play It Long Sleeve T Shirt

Do the same and let Epic do the work. Holden Mahorney, isn’t that what happens whenever anyone dies.  I ain’t like the rest of these fan boys. I have a lot of wins in every mode. The thing that bothers me most is my bullets not going where my crosshairs are pointing due to the ugly bloom on here. I’m getting to the point where I would rather play COD or D2 or any other shooter for that matter.…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-12 14:27:43

Review Weight Lifting Gym Unicorn T Shirt

Calling out all Tar Heel fans be there be loud be proud! There is more than one great sport at UNC support them all! Go heels….just do you own damn work and take normal classes we can’t afford another scandal right now IJS. Geez I cant remember the last time we got ranked and then won the next game…somethin tells me that streak’s comin to an end Aug. 30 baby!! GO HEELS!!!!! Way to go Heels I seen…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-11 01:53:45

Some Geek Feminism folks will be at the following conferences and conventions in the United States over the next several weeks, in case contributors and readers would like to have some informal get-togethers to reminisce and chat about inheritors of the GF legacy:

If you’re interested, feel free to comment below, and to take on the step of initiating open space/programming/session organizing!

Geek Feminism | Geek Feminism Blog | 2018-05-09 18:25:32

Great Indian Developer Summit is India’s longest running, independent polyglot conference series for the software practitioner. It took place from 24-28th April this year in Banglore.

I attended the conference on 27th April. The track for the day was GIDS.DEVOPS & ARCHITECTURE, aimed at deepeing one’s knowledge on DevOps, Reactive Architecture Patterns, Getting Things Done (GTD), Evolutionary Architecture, Agile Design, Functional Design, Serverless, FaaS, Machine Learning, TensorFlow, TLS, Encryption, Docker DSL, Git, Gradle, Jenkins, Value Driven Development, Pipelines as a Code, Continuous Delivery, Containers, Microservices, and much more.

The day started at 8:20 AM with the welcome note as the main hall swell up with developers. The first session was by Mark Richards on “The Move towards Architectural Modularity”. Following it we had Siddharth Roy and Ashish Atre. I attended the session of Neal Ford on “Stories Every Developer Should Know”, “Serverless? Not so FasA!” by Matt Stine, “Supporting Constant Change” by Neal Ford, “Reactive Architecture Patters – Part 1” by March Richards, “The Architecture of Universal Design: All Devices, All Users” by Scott Davis and “Why Containers Will Take Over the World” by Elton Stoneman.

8:30 – 9:30
“The Move towards Architectural Modularity” – Mark Richards
The drivers of modularity are:
1. Agility
2. Testability
3. Deployability
4. Scalability
5. Avalaibility
Distributed modular architecture has 3 methods.
1. Microservices
2. Service-based
3. Event Driven
Modularity is a must, though not every portiion of producation has to be a microservice. Microservices need collaboration instead of communication and only when there are one or more drivers present should one make use of microservies.

10:45 – 11:45
“Stories Every Developer Should Know” – Neal Ford
One who doesn’t remember history
I am sharing some of the stories that he talked about in the session and the cause of the unfortunate event:
Debugging in production
Too little infrastructure
TOo much infrastructure
Don’t reuse when cleanup needed
Meta work > work

Most of the stories had one common mistake, reusing the code.

11:55 – 12:25
“Serverless? Not so FasA!” – Matt Stine

Lunch and Food

13:50 – 14:50
“Supporting Constant Change” – Neal Ford

15:00 – 16:30
“Reactive Architecture Patters – Part 1” – March Richards

16:10 – 17:10
“The Architecture of Universal Design: All Devices, All Users” – Scott Davis

17:30 – 18:30
“Why Containers Will Take Over the World” – Elton Stoneman

Sonali Gupta | It's About Writing | 2018-05-09 12:19:12

House Deadpool We Are Touching Our Selves Every Night Sweater

So not only do the erroneously think they can do the same at home, but they also think that’s all it takes for a restaurant to make burgers, devaluing what the professionals do for a living. Moreover he perpetuates a bad standard and terrible skills. Slamming his ingredients and his tools around like that he’s begging for that blade to go flying off and hit someone in the eye, or at the very…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-09 05:04:49

Thanos Salt Bae Tee

Our pride and culture exceeds anyone elses. Aztecs Mayans we are the busines to any Thanos Salt Bae shirt. Only a Mexican can make something out of nothing lol!!! Were built that way and if your born and raised in the states and dont have family in Mexico or visit you are not Mexican. LoL if you speak spanish in a funny way where your Mexican latives look at you like wtf you are not Mexican your…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-08 13:25:58

Anjali is a curious young girl who lives in a small village in Bihar, India. She got a scholarship from Pokhrama Foundation to attend one of the best school in that area. This NGO has their own process for selection. You can get an idea about the process on the website. Why/How/When I got into mentoring, that is another story! I want to write here about this young girl.

What motivated me to write this blog post is the curiosity, enthusiasm of this young lady. She is in 6th standard. Believe me, she motivates me! I am trying to mentor her remotely as we both live in different cities. I talk to her once/twice in a week. I try to solve her problem, She is introvert. It’s was really hard for her to get open to me and share her problem. When I look back into my life- It was really hard for me too. I was an introvert till my college. I am glad she is open to me now. This is a learning process for me also. I will list down few of the things I am learning:

  • She is a morning person, She studies in morning. I am in process of becoming one.
  • She asks questions, I mean literally lots of questions- Sometimes I don’t have an answer to her question, here I learn. I realized I don’t know lots of basic things. I admit whenever I don’t know things. I read about those things and get back to her(see I am still close to academia. This makes me feel good).

the-important-thing-is-not-to-stop-questioning

  • I use to ask a lot of question while I was a student and I tell her to do same. Now I am a working woman, but I still ask- This helps me in learning lot of things. For example- One colleague was working on some visualization- and out of curiosity, I asked her how she did that- That day I learned about a new library that we can use for visualization.
  • Keep learning- She makes me realize that I don’t know few things that probably everyone should know.
  • A rough timetable of the day is important.
  • Deciding priorities- Hard but important. An advice from Prof. Philip and Prof. Vijay.

Screenshot from 2018-05-07 22-06-29

I will add more points to this post later.  I am missing lot of points.

Rakhi Sharma | Atbrakhi | 2018-05-07 17:00:28

Porn kills Love Tee

These teams are coached to play this way, that’s how they get their stats. That’s why Harden got Dantoni as his coach and is going nuts. You know who else won MVP under Dantoni? Steve Nash. Well, is it me or does Harden actually look like he’s got a little Nash in his passing game, now? Coaching doesn’t matter. It’s players only out there when Dan’s watching. No Ben. Brad’s a good coach. But…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-07 05:11:40

Thanos Infinity Gauntlet Sweater

Titan got it’s chance. Earth should too.

YES HE IS RIGHT, GENERALLY SPEAKING HUMANS ARE AS THICK AS Thanos Infinity Gauntlet Shirt (deny it all you like, look through world headlines even in the past twenty years and you will find we are pretty dumb as a species)
Yes wipe half the planet out. Meh. His idea isn’t new. The antagonist of the book Inferno also had the same plan. In fact, his idea was…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-05 15:46:29

The beginning is always hard. I also went through the difficult procedure of getting started with my own blog. So I am taking this opportunity to try to make it a bit easy for others in the same boat.

If the title didn’t already explain, this article is a 101 for setting up your own blog, right from coding to hosting and serving with a domain name.

I’m assuming here that:

  • You know the basics of web development i.e. programming with HTML, CSS, and javascript. (Not necessarily to follow this article but for maintaining your blog, you will need to know them.)
  • You use GitHub or any other version control system, not necessarily be knowing what version control is(just in case). If you didn’t use GitHub before, then please first go through this beginner’s guide and get familiar enough to be able to set up a repository and maintain it.
  • You understand templating in web development and of course, understand OOPS.

Note: I use ubuntu 16.04.

There are two things to keep in mind,

  • The process is easy, only when you follow smartly.
  • Google Is Your Friend if you get stuck somewhere.

Note: I will only describe the bare minimum for setup stuff, for the rest, there are official docs to follow. Nothing works better than them, Believe me.

Let’s begin!


1. Setting up GitHub Pages!

Before getting into the development of the blog, we are going to set up the hosting first as it isn’t going to require much effort. We are going to leverage the free hosting provided by GitHub in the name GitHub Pages.

It is as easy as creating a repository. Follow these steps:

  • Create a new repository with the name <username>.github.io, where username is your GitHub username like mine is “curioswati”.
  • Clone the repository to your local filesystem with:

      git clone https://github.com/username/username.github.io
    

(Don’t forget to replace username with your GitHub username.)


2. Setup your custom domain!(Optional)

Buy a domain name from some Domain name provider(the how-to is out of the scope of this post). Follow this GitHub guide for setting up your custom domain with GitHub. The procedure in short is,

  • Create a CNAME(the name of the file is CNAME, no extensions) file in the root of the repository. It should contain your domain name, as mine contains: “swatij.me”. You can create CNAME from GitHub’s Web UI by following the steps:

    • Go to your repository <username.github.io>.
    • Go to Settings.

      Repository Settings page

    • Under “Custom Domain”, write your domain’s name and click “Save”.

      Custom Domain

      After this, you will see a message saying that “CNAME was created”.

  • Create 2 records in the DNS by following along with this post. The DNS changes can take a full day to reflect at max. So you would have to wait for a day at max to see your site running on your <domain.com>. Till then, you can see it at <username.github.io>. Which will also take at least 10 minutes after creating the repository to go live(before that, it will show a 404 on the page).
    Later, when DNS changes are up, your <username.github.io> will also redirect to your <domain.com>.

So, the extra setup is done, we have our blog hosted on GitHub and served at a <domain.com>. But right now it’s blank as we have nothing in our repository to be shown. We need to convert it to a blog now. So let’s move on to the next and the most important step: “Development”.


3. Introducing Jekyll

Jekyll is a static site generator. Yes, it generates “static” sites. That’s why you can’t use it for full-fledged websites with many catching features. But that’s what it is not intended for. The introduction of its site includes the word “blog aware”, which itself tells the story. I for myself never regretted using it in past 4 years. It takes some extra efforts to get something new in, but that’s worth the effort. Because the selling point is, “Your content is yours forever”. It uses Liquid(templating language) to render the content which can be written in any of HTML or Markdown.


4. Installation and Configuration for Jekyll

I. Installation

You have 2 options:

  • Either download this gist, extract and run the python script.
  • Or follow the documentation.

The gist mentioned above does the following:

  • Checks for the operating system version (the commands will work with Debian based Linux system only).
  • If the install is instructed, runs the following commands:

    Install build dependencies

      sudo apt-get install gcc g++ make software-properties-common python-software-properties
    

    Add PPA for ruby.

      sudo add-apt-repository ppa:brightbox/ruby-ng
    

    update cache.

      sudo apt-get update
    

    Install ruby 2.2

      sudo apt-get install ruby2.2 ruby2.2-dev
    

    Install latest Jekyll(3.7.3 at the time of publishing.)

      sudo gem install jekyll
    
  • If uninstall is instructed, runs the following command.

      sudo apt-get remove ruby* ruby*-dev rubygems
    

So, you can manually use these commands to install Jekyll with ruby or can use the gist or docs, whatever you prefer.
Check if Jekyll was installed by the following command:

jekyll --version

It should show you jekyll x.x.x.

here are some troubleshooting tips if you need them. If you run into some new kind of issue, do consider reporting it here.


II. Configuration

First, lets’ create our blog!!

  • Change the directory to your newly created repository and type the following command from inside.

      jekyll new .
    
  • You have two options from here on, I am not getting into details and just guiding you through the easier one. Remove the file named Gemfile and then start the development server.

      jekyll serve
    

Now let’s see it running, navigate to http://localhost:4000 from your browser. You can see an introduction page.

The other option that I didn’t mention was to use the gem based theme, which will require you to install bundler. You can find out more here and the basic usage here.


5. Let’s talk Jekyll

We’ll cover some concepts here so you can have a head start. Later on, you can always go to the docs for details.

But before that, create some directories for important files that I’m going to mention below.
Your directory structure should look like:

username.github.io/
    |- _posts/
    |- _layouts/
    |- _includes/
    |- _config.yml
    |- index.html
    |- static/


The _config.yml

This file is the communication link between you and Jekyll. You will see when you open it. It deals with everything that you will ever use with Jekyll. For the starters, fill in your relevant details. These are site variables which will be accessible elsewhere with site.<variable_name>. So you can use this file for site-wide configurations.

Mine looks like:

title: My FullName
email: my_email@domain.com
description: > # this means to ignore newlines until "baseurl:"
  Site Description.
baseurl: "" # the subpath of your site, e.g. /blog/
url: "http://username.github.io" # the base hostname & protocol for your site
twitter_username: my twitter_handle
github_username:  my github_username


The Front Matter

It is a very cool feature of Jekyll. It is the content enclosed between --- at the beginning of any file. You can specify the front matter by adding the following at the beginning of your post page.

---
layout: default
title:  Title for the page
date:   YYYY-MM-DD HH:MM:SS
tags: ['tagA', 'tagB', 'tagC']
categories:  category subcategory
permalink: /:categories/:title
---

The --- are very important!!
The content inside is self-explanatory. The “categories” is a very useful feature. Categories are used to classify and organize your posts in directories in your repository by Jekyll. From the above front matter, jekyll will create a directory hierarchy like /_site/category/subcategory/post.html. Everything is well organized already.

Then you can see “permalink” here, it will automatically take the category names, separate them with / and prepend them to the title and form a permalink for the post. So your post will have a link similar to http://username.github.io/category/subcategory/title.

Tags” are what they are elsewhere. You can organize your posts according to tags by mentioning them like this in the posts and then creating lists where you can iterate on tags with post.tags.

Layouts” deserves a section, so follow along.


The _Layouts

Layout”, is similar to templates in frameworks’ ecosystem. They are good for reusability as you don’t have to add same code blocks(take head, header and footer etc for example) in each HTML file, instead, they are plugged into all of the HTML files that inherit a layout which has them.

The default layout for our blog will look something like this:

Create a file named default.html inside the _layouts/ directory with the following content.

<!DOCTYPE html>
<html>

  { % include head.html %}

  <body>

    <div>
      { % include header.html %}
    </div>
    
    <div class="page-content" style="margin-bottom: 15%; margin-top: 7%;">
      <div class="wrapper">
        { { content }}
      </div>
    </div>

    <div>
    { % include footer.html %}
    </div>

    <script src="/static/js/jquery-1.11.2.min.js" type="text/javascript"></script>
    <script src="/static/js/bootstrap.min.js"></script>

  </body>

</html>

The extra space here "{ %" and here "{ {" is intentional to avoid having them interpreted by the engine.

You can create many other layouts while extending this default one.

for example, here is a layout for post detail page:

---
layout: default
---
<div class="post">

  <header class="post-header">
    <h1 class="post-title">{ { page.title }}</h1>
  </header>

  <article class="post-content">
    { { content }}
  </article>

</div>

Here, there is again a { { content }} block, which will be filled by a post that is using this layout.
So, now you might be getting the picture. The first layout had a { { content }} block which shall be filled in by this page template and then there will be a “post.html” which will fill in the { { content }} block.
This is how “inheritance” is leveraged here.


The _includes

In the above layouts, you saw some _includes blocks.
Those include blocks are different HTML modules kept inside _includes/ directory. So whenever you want to attach a block of code in multiple places, you put it inside an HTML file in the _includes/ directory and then can use it with { % include filename %} wherever you need it.

So, as you can see in the default layout that we wrote above, it includes footer.html, head.html, and header.html. So you need to create those files and put them inside _includes/. I have used it also for “google analytics” script, “reading time”, “comments” etc on my own blog.

The head.html should contain the head block of your HTML page i.e. it should have title block, meta tags, and css imports etc. The header.html could contain the site header with navigation that should list various other pages of your blog.

The footer.html can have links to your other profiles and the description for your site.

One more important feature that I haven’t talked about is “collections”. Just briefing it here. I’ll wrap up Jekyll with it.


The collections

Collections are useful when you have to show some data that has many items with similar properties. The best example for me to put it right now is GitHub Projects. So, for example, you want to showcase your GitHub projects on your blog/personal website. The data that you want to show might follow a pattern here, for example, the data can have some common fields among all items(projects) i.e. project name, project URL, some description, an image etc.
So one way to show them on the site is creating an HTML page and filling in all the details one by one by repeating the blocks with all the content.
The other, but better way is to use “collections”.

Let me show how to do this.

  • Create a directory named _projects/ inside the root of the blog directory. You can keep any name that you want to give to your collection. Just keep that _ at the beginning.

  • In your _config.yml file, add a block for collections like this:

title: Full Name
... # other fields
... # other fields
... # other fields
collections:
  - projects
  • create .md files for each project with the details filled in. For example, project1.md could look something like this:
---
name: "Project 1"
repo: "https://github.com/username/project1"
gh-page: "/project1"
liveurl: "https://project1.com/"
---
    

and so on for all the projects.

  • Create the page on which you want to show the projects, say projects.html. In that file, you can iterate over your collection of projects. Like this:
{ % for project in site.projects %}
    <span>{ { project.name }}</span>
    <span>{ { project.repo }}</span>
    <span>{ { project.gh-page }}</span>
    <a href="{ { project.liveurl }}">live-link</span>
{ % endfor %}
    

This way, maintaining that page becomes easier, all you have to update is those .md files, whenever the data changes. Refer collections in Jekyll’s docs for more.

I have been using liquid tags throughout the article, If you want to learn about them(which you have to), please follow Jekyll’s template guide.

Then we have variables.

I have just scratched the surface, jekyll has many cool features that will amaze you. You can refer the docs for all of them. There are some more useful things here.


6. Writing Posts

So, all the background scratched, now we move on to action. Let’s first fill in the index page to list our posts when we create them.

Put this inside the index.md or index.html whichever you have:

---
layout: default
---

<div class="home">

  <h1 class="page-heading">Posts</h1>

  <ul class="post-list">
    { % for post in site.posts %}
      <li>
        <a class="post-link" href="{ { post.url | prepend: site.baseurl }}"></a>
      </li>
    { % endfor %}
  </ul>

</div>

Inside the _posts/ directory, create a file with whatever title you want to give to your post. For example, first-post.md or first-post.html.

Put the front matter at the beginning. It could look like:

---
title:  "First Post with Jekyll"
date:   2018-03-23 12:30:00
categories: category1 subcategory1
permalink: /:categories/:title
---

Below the front matter, write your posts in Markdown or HTML whichever you prefer.
You can then see the post listed on the homepage. It will have the permalink as http://username.github.io/category1/category2/first-post

If you followed along, the final directory structure should look like:

username.github.io/
    |- _posts/
        |- first-post.md

    |- _layouts/
        |- default.html

    |- _includes/
        |- head.html
        |- header.html
        |- footer.html

    |- _projects/
        |- project1.md
        |- project2.md

    |- _config.yml
    |- index.html
    |- projects.html
    |- static/

For keeping your resources, like css and js scripts and fonts, you can put them inside the static folder and use relative links like static/css/bootstrap.css for linking them in HTML.

So this is it for jekyll. As I said, I have just mentioned the bare minimum for you to get started. You can find other features and play with them while moving on with your blog.
You can find the code for my own blog here.


7. Deployment

In case you are not using “github-pages” and want to deploy your blog elsewhere. Jekyll has it all covered too. you can visit the Deployment Page for all the details.

So, we are done with the initial blog setup, you can check out the references for more.

I’ll be writing about other features that I gradually added to my blog, in upcoming posts.
Stay tuned!


Originally published on: [https://www.zeolearn.com/magazine/github-pages-with-jekyll-scratch-up-your-own-blog]


References

Swati Jaiswal | Swati Jaiswal | 2018-05-04 17:35:00

Review I Am A Marvelaholic Sweater

Focus on the good and let them figure the rest out as a family.  Congrats Khloe it is true that blessing you recieved will truly change your life…..i have loved watching I Am A Marvelaholic Shirtas a big sister to Rob Kendall and Kylie and a handson wonderful aunt to all your nieces and nephews can’t wait to see your new role as mommy  ❤ xoxo prayers for you of peace and strength…..only take in…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-05-02 14:20:52

Nurses Are Like Pineapples Tough On The Outside Sweet And Will Stick Tank Top

If she was white, then they’d be accusing Trump and her of being “white supremacists”. It doesn’t matter who she is, if she’s picked by Trump then the “Bitching Party” will do what they do best… bitch and whine. Trump could have selected Nurses Are Like Pineapples Tough On The Outside Sweet And Will Stick Shirt and the lib Dems would whine.
That’s all they do, whine and bitch. No solutions to…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-04-29 09:23:25

Shut The Fuck Up Shirt

We true Americans need to resist this at every cost and to help elect people who put America first not illegal foreigners and criminals first .  I lived i Granite City as a child. I remember when the Steele mill was producing big time. Then they used it to store Party Like Frank Fight Like Fiona Be A Genius Like Lip Shirt. Glad to hear it’s going to be back in business. MAGA. With all the usual…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-04-28 12:46:17

Hello!

I come across the title of this blog post quite often. In my job, I deal with Django projects (the error is no way related to Django), there has been roughly a 4/10 chance of coming across this error (because we use watchdog). Every time it happened, I looked up stackoverflow and increased the watch limit by some random number as suggested by the solutions. This time, I realized it deserves more attention since it happens so frequently.

On looking up, I found out watchdog python package uses native APIs as much as possible, which is why it relies on Linux kernel’s API – inotify for doing its job on Linux distros. About inotify from man page,

The inotify API provides a mechanism for monitoring file system events. inotify can be used to monitor individual files, or to monitor directories. When a directory is monitored, inotify will return events for the directory itself, and for files inside the directory.

inotify works in the following three steps:

  • initialize
  • add watch
  • remove watch

thats-it-5ae334.jpg

Yes. Absolutely. Doesn’t the process seem legible? Let’s understand the terminology though:

watch specifies the pathname of a file or directory, along with some set of events that the kernel should monitor for the file referred to by that pathname.
A list of watches, called a watch list
you-had-guessed
is maintained and manipulated (addition or removal of watches) as per addition or removal of paths.
But, wait. Unless its an entirely new project, I do not really add or delete so many files that this error should pop up. Then what happens?
There’s a good reason to it.

Only when the underlying object and its resources are freed for reuse by the kernel; all associated watches are automatically freed.

Which is quite intelligible since while using one file, the resources which are being required and used by that file might not be released by the time you have added another watch unknowingly.

What was the need of something like this?

  • To efficiently monitor filesystem objects.
  • To auto-compile a file/project as and when a change is made.
  • To restart/reload services depending on particular files.

Maybe more. Write down in comments if you use it for something more awesome.
From the man page,

With careful programming, an application can use inotify to efficiently monitor and cache the state of a set of filesystem objects.

When you see an error like:

File "/home/unixia/projects//venv/lib/python3.5/site-packages/watchdog/observers/inotify_c.py", line 402, in _raise_error raise OSError("inotify watch limit reached") OSError: inotify watch limit reached

It is because inotify has consumed all the kernel memory it was by default allowed to.

In order to limit the amount of kernel memory consumed by inotify, we could use any of the following /proc interfaces:

  • /proc/sys/fs/inotify/max_queued_events
  • /proc/sys/fs/inotify/max_user_instances
  • /proc/sys/fs/inotify/max_user_watches

A way to deal with this error by making use of the /proc interfaces above:

Temporarily,
sudo sysctl fs.inotify.max_user_watches=<preferred value>

Permanently,
As per your distro, into your sysctl settings, fs.inotify.max_user_watches=<preferred value>
and then, reload ​​sysctl.

Now, how do you decide on ​​preferred value​?

Check the maximum number of watches,
cat /proc/sys/fs/inotify/max_user_watches

Keep your preferred value anything above this number.

Wait, but what if I accidentally write a very big number?

No problem. Remember the kernel memory is used only when the watch is being used. But of course if you end up eating all the memory because of exorbitantly large number of watches then you might be in trouble although the chances of that happening are quite low.

Thanks for reading.

Shivani Bhardwaj | Imbibe Linux | 2018-04-28 10:03:11

27th April, 2018 and here I am at GIDS, fortunate enough to attend such a marvelous conference before the beginning of my career as a software developer. I am thankful to my Outreachy mentor Marielle Volz, Wikimedia nad Software Freedom Conservancyfor providing me the chance to visit Bangalore and attend the 11th edition of this conference.

WhatsApp Image 2018-04-27 at 2.42.42 PM

Salthmarch along with other sponsers has organized this 5 day extragavanza. I will be blogging in detail about all the talks that I will attend today and my learning, but what could be better to blog live.
In the beautiful location of J. N. Tata Auditorium, we have the speakers who are best in their domains and the delegates who are of all ages. Data scientists, architects, backend developers, designers, etc.

The opening talk was by Mark Richards, about architectual modularity, its benefits and the trade offs. Given that it was a keynote, he took the opportunity to give an overview about the need for modularity and microservices. He would be conducting a hands on session tomorrow for putting everything he delieverd in a pratical way. Next, there were 3 15 minutes keynote sessions and my favourite out of them (or the one I understood the most) was Congnitive Serverless Architecture.

Mark Richrds after the session 1

WhatsApp Image 2018-04-27 at 10.51.07 AM.jpeg
After some hot tea, I was lucky enough to attend the session of Neal Ford. He covered stories of projects that failed, what and why happened. I couldn’t get enough of him and I am glad there is a keynote session of him after lunch. He kept holding the audience for the entire session and there was good learning.

Neal Ford’s talk

WhatsApp Image 2018-04-27 at 10.52.40 AM
Next, I am attending “Serverless? Not so Faas!” by Matt Stine. I wanted to know what serverless architecture is and how it is better than cloud native architecture. The talk has demos and interesting content, but for me, given I have no experience with Azure, I am not finding it asy to understand. There is maven, containers, Spring, Azure and many more tools in action. But the idea of Faas, Function-as-a-service is new to me and hence I am glad I attended this session.

**************Lunch Break**************
For lunch and other meals, I must comment that the quality was pleasant and everything here is well management. The tactic for handling such a crowd it to have multiple table toh handle same food. I also visited the __ of Sapient and IBM. Parual Bansal, an employee of Sapient showed us her work on virtual reality. She painted objects on a page and made them move through a camera and language processing. She even gave me a card and hand wrote all the tools she used, and also her email id. At the IBM__, I got to know about IBM cloud, providing around 140 services for free and the attendant also told me about the developer platform by IBm where they take up challenges, project, tech talks and webinars.
**************During talk**************
Currently I am attending the session of Neal Ford on embracing change because technology will always be changing. For this there is evolutionary architecture and Fitness function. Next will be Mark Richards’ talk on reactive architectural pattern.

Do find time to read the detailed blog that I’ll writing later. Well, this has been a happening conference, with great management, wonderful speakers and diverse crowd. Hats off to the volunteers. I am  looking forward to attend this conference in future, more than once, and I am glad such conference takes place in India. Thank you Saltmarch

Sonali Gupta | It's About Writing | 2018-04-27 09:24:20



Smashing Note SINCURR Shirt

Cats aren’t by nature, it’s not something you can blame them for. At the same time though, thinking they’re anywhere near better than dogs is a flat out fallacy.  

Julia Lima | Thu thm t uy tn | 2018-04-27 04:08:11

Easily distracted by horses shirt

I’m sure you ladies aren’t perfect don’t go “marriage before children” crap marriage is not a few sure thing kail was married and javi treated her like crap he blamed her for the Easily distracted by horses shirt so she said she didn’t want anymore kids with him (I don’t blame her) their marriage was over long before their divorce. You only see what MTV wants you to see those girls are fantastic…

View On WordPress

Julia Lima | Thu thm t uy tn | 2018-04-26 06:33:44

We recently organized Conf & Coffee 2018 in Vancouver, BC, and one of the bigger tasks we had to take care of was designing and printing our conference badges. A conference is all about people - people who come there to learn, meet new people and have a good time. We wanted to make it easier for them and create useable badges.

Name badges are often bulky and awkward, but they serve a purpose. A well-designed badge can help start a conversation - and get back to it, even if you suddenly forget someone’s name. We also wanted the attendees to be able to easily find speakers and organizers in the crowd. It also helped with initial registration, giving people a reason to come to the registration desk and chat with us.

We had a few requirements in mind before printing the badges:

  • making sure the name is clearly visible and readable at a distance

  • making the prints sturdy enough to be usable for a 2-day conference

  • color-coding them for easy recognition of attendees, speakers and organizers

  • having an adjustable lanyard, so that people of all heights can feel comfortable wearing them

  • encouraging everyone to use their badges as they please - add interests, stickers, preferred pronouns etc.

Design and prints

We had a wonderful initial design for the badge created by Alanna Munro and worked from there by creating two more color options - we ended up using the original purple color scheme for speakers, adding a peach color for attendees and a green one for organizers.

We then took the SVG files and prepared them for printing, working closely with a wonderful local print shop. They helped us with:

  • creating an image in Adobe Illustrator - the original design by Alanna was created in Illustrator, but since the person mostly working with the designs had more experince with Sketch, we decided to use it for brainstorming

  • adding bleed - we had a sense that we’re going to need bleed, but initially added it in the SVG projects rather than using the Illustrator tooling for adding it, it turns out it takes about 20 seconds to add if you know how

  • making sure everything aligns just right, especially the names and the speaker talk information - a few people had longer names and non-English characters in them, some of our speakers had two talks during the conference

  • adjusting the colors for printing - we had a color palette defined in HEX that looked great on a screen, but needed a splash of cyan to make it more vivid in print

  • choosing the right paper - uncoated heavy white cardstock (130lb), as we wanted people to write on them

  • cutting the prints and drilling holes - it might seem obvious, but we were initially a bit worried we might need to cut and drill the holes on our own, turns out it’s something a print shop will gladly do

We got the initial prints and stress-tested them throroughly - writing on them, putting them under pouring water, pulling at the lanyard etc. - and they were perfect for our needs. We were very lucky with the print shop service, as they were responsive and quick to adjust the order to our needs.

Lanyards

We decided to use twine for our adjustable lanyards. Initially, we wanted to use regular packaging twine, but it was too brittle, so we used white cotton twine instead - one spool was enough for all our badges.

To attach the lanyards we needed:

  • big enough holes in badges on each side (0.125in) - this also allowed the badges to not turn too much, if properly adjusted

  • two pieces of twine (one for each side)

  • a sliding knot to connect the two pieces - we used a fisherman’s knot

It sounds simple, but keep in mind we had about 130 badges with pre-printed names and a bunch of blanks in case of last-minute cancellations/swaps. It took two people and two episodes of Westworld - I don’t think you could do it with one person and four episodes, because without my partner helping me I’d probably call all the other organizers for an emergency twine party.

Lessons learned

  1. Design - it’s not easy

    If you are not a designer, don’t assume you can make the badges look good on your own. Our badges looked great, but most of it was thanks to a simple and adjustable design that we could then reuse. The back side of the badges had a simple table for names and Twitter handles, because we didn’t have a clue as to what else we could put there that would look good and be usable (or, at least, not look terribly out of place). Make sure to work with a designer.

  2. Timing the prints - you need last-minute adjustments

    We decided to print the badges after finalizing the ticket sales, but we didn’t expect too many swaps. That turned out to be an overly optimistic assumption, as many people suddenly remembered about the conference a few days before it and were asking about last minute changes. We ended up ordering additional blank badges, so that people could write their own names on them.

  3. Informing attendees at registration - especially on adjustable lanyards

    Yes, we had the adjustable lanyards - but we didn’t do a great job explaining it at the registration desk and some of our attendees were initially very uncomfortable. We could also encourage people more to draw on them and use them, as, even though we had a prop just for that, not many people felt encouraged to do so. The back of the badge with a table to put names and Twitter handles in was not used by most of the attendees, so maybe we could figure out a way to better use it in the future.

  4. Adjustable lanyards are appreciated - but we could improve the process of attaching them

    We heard positive feedback about the lanyards, especially from attendees that usually have some issues with awkward placement of conference badges, which was great and we’ll definitely make them again. One thing we could improve is making sure more people could attach them and the process is less time-consuming.

  5. Conference logo - you ain’t gonna need it

    We didn’t use the conference logo on the badges, as our design looked great without it. Our attendees knew what conference they are attending and we couldn’t think of a way of putting our logo on the badge without overshadowing the more important bids.

All about the people

A conference takes a lot of work and, although most of the tasks are simple and repeatable, it gets surprisingly hard and tiresome. It was a great experience, especially since I got to work with a wonderful group of people.

Thank you Brooke, Rose, Manil, Darryl, Nichole and Steve for welcoming me as a co-organizer!

Thank you Gavin, Paulina, Robert, Wendy, Andrea, Bernadette, Stephen and Daruvin for volunteering and making this conference happen!

Alicja Raszkowska | Alicja Raszkowska | 2018-04-22 16:13:00

This week I started out as an Open Source Advocate at Zalando in the shiny new Open Source team with Paul & Per. Together, we are the 3 P’s!

The team is meant to develop Zalando’s Open Source strategy and consult the wider organisation on how to implement it safely, measurably and with impact in mind.

 

Screen Shot 2018-04-20 at 11.24.18
Twitter post [https://twitter.com/therealpadams/status/985917890732920833]
The week has been exciting and fun; we have been setting up our initial backlog of upcoming tasks, drawing up our team / open source strategy and off-course, getting to know each other!

Learnings 

  • I learned about KDE! The first day, I disappointed my Manager by asking him what that acronym meant 😉
  • I am curious to dive deeper into ‘community metrics in open source‘. There are lot of tools, articles out there and there is certainly a lot to learn on this space.

Announcements

My last blog post was about wrangling in the OPEN space for MozFest. Considering I will be doing lot of things related to OPEN (source) world, here is my new column on this space:

OPENWORLD

Screen Shot 2018-04-21 at 14.21.22.png
Link to OPENWORLD

Looking forward to lots of learning in this OPEN world 🙂

Princiya Marina Sequeira | P's Blog | 2018-04-21 12:22:46