FOSSASIA Summit 2022 Day 3

The final day of the FOSSASIA Summit 2022 starts today at 9:20 AM SGT / 6:50 AM IST!

Join the virtual Main Hall to participate in sessions

… or watch the stream live

with today’s sessions covering topics such as Open Source hardware for health, Guitars and Synths using Bespoke, TinyML, Underwater robots, Multi Fleet Task Allocation System, Open Vision, Robotic Manipulation, Foxglove Studio, Open Ethics, Image Neural Search, Open Source in China, User Testing, Open Stack, Diversity, UpStage, Low code/no code, OSS in business, Chatmosphere, Beyond Code, OpenTAP, Renode, OPEN!Next, Pocket Science Lab, Raspberry Pi, Embedded Computing with VexRiscv and FreeRTOS, Uno Platform, Alternator and DynamoDB, Crew Resource Management, Enarx, Public Code, Invincible Applications, Data Center Infrastructure Management for telcos, Zero-code IoT streaming data pipelines, and Pipy.

The complete event schedule is available here: web version, Gcal, ical.

Sessions go until late. The event ends daily at midnight Singapore time (9:30 PM IST).

  • Post a question to speakers of any session in the Main Hall Shared Notes to get a chance to win a FOSSASIA T-shirt.
  • Enter the Vonage raffle to win Sony Wireless Noise Cancelling Headphones.
  • Talk directly with participants in the virtual “Hallway” video chat town where you can move around and interact with others based on your location in the room.
  • Visit the virtual exhibition and learn about sponsors and job opportunities at Microsoft, MySQL Oracle, CNCF, Amazon, Indeed, Keysight / OpenTap, Linux Professional Institute, Comcast, Vonage, ONLYOFFICE, PCBWay and OPNTEC.
  • And, connect with FOSS communities like CivicTech Lab, Kaiyuanshe, Ubuntu Korea, Women Who Code Seoul, OpenStack Korea, UKylin, KDE, FOSS Myanmar and LionsForge.

Please also join our Telegram chat to start connecting with other participants and speakers.

Continue ReadingFOSSASIA Summit 2022 Day 3

FOSSASIA Summit 2022 Day 2

The second day of the FOSSASIA Summit 2022 starts today at 10:00 AM SGT / 7:30 AM IST!

Join the virtual Main Hall to participate in sessions

… or watch the stream live

with today’s sessions covering topics such as the Linux CPU Scheduler, Linux I/O Models, Installing apps on the cloud, Open Source and Open Science, LibreOffice, MySQL, InnoDB, PostgreSQL, Civic Tech, Cloud and Open Source, Log4j, Privacy, Security, Bluetooth/assisted contact tracing, OSS licensing, WireGuard, Digital Sovereignty, Collaboration Tools, OpenPGP, Python, Kotlin, Open Source 5G/LTE, WordPress, and Network Automation.

The complete event schedule is available here: web version, Gcal, ical.

Sessions go until late. The event ends daily at midnight Singapore time (9:30 PM IST).

  • Win one of 150 cloud vouchers at the AWS keynote today at 4:15 PM SGT (13:45 PM IST) about Open Source at Amazon.
  • Post a question to speakers of any session in the Main Hall Shared Notes to get a chance to win a FOSSASIA T-shirt.
  • Enter the Vonage raffle to win Sony Wireless Noise Cancelling Headphones.
  • Talk directly with participants in the virtual “Hallway” video chat town where you can move around and interact with others based on your location in the room.
  • Visit the virtual exhibition and learn about sponsors and job opportunities at Microsoft, MySQL Oracle, CNCF, Amazon, Indeed, Keysight / OpenTap, Linux Professional Institute, Comcast, Vonage, ONLYOFFICE, PCBWay and OPNTEC.
  • And, connect with FOSS communities like CivicTech Lab, Kaiyuanshe, Ubuntu Korea, Women Who Code Seoul, OpenStack Korea, UKylin, KDE, FOSS Myanmar and LionsForge.

Please also join our Telegram chat to start connecting with other participants and speakers.

Continue ReadingFOSSASIA Summit 2022 Day 2

FOSSASIA Summit 2022 Day 1

We are excited to run the virtual event schedule of the FOSSASIA Summit 2022. The event takes place from Thursday April 7 to Saturday April 9 and will run on our open source virtual event platform eventyay.

Get your ticket to participate in the event actively

… or watch the stream live

on the first day with sessions addressing the gender gap, tech for peace and global issues, Apache Airflow, getting support of companies for projects, Open Source careers, sigstore, Sovereign Cloud Stack, open interfaces, CCLAW, artificial intelligence, computer vision and more.

Over 100 speakers from 41 countries and 5 continents will share their knowledge. The complete event schedule is available here: web versionGcalical.

Sessions go until late. The event ends daily at midnight Singapore time (9:30 PM IST).

  • Join the Main Hall, post a question to speakers of any session in the Shared Notes to get a chance to win a FOSSASIA T-shirt.
  • Talk directly with participants in the virtual “Hallway” video chat town where you can move around and interact with others based on your location in the room.
  • Visit the virtual exhibition and learn about sponsors and job opportunities at Microsoft, Oracle, CNCF, Amazon, Indeed, Keysight / OpenTap, Linux Professional Institute, Comcast, Vonage, ONLYOFFICE, PCBWay and OPNTEC.
  • And, connect with FOSS communities like CivicTech Lab, Kaiyuanshe, Ubuntu Korea, Women Who Code Seoul, OpenStack Korea, UKylin, KDE, FOSS Myanmar and LionsForge.

Please also join our Telegram chat to start connecting with other participants and speakers.

 

Continue ReadingFOSSASIA Summit 2022 Day 1

FOSSASIA Summit 2022 Call for Speakers and Sign-Up

The FOSSASIA Summit 2022 will take place online from April 7-9.

While all of us are still learning to cope with the pandemic, it is very important that we get together, exchange ideas, collaborate on projects and together develop solutions that tackle our global issues.

2021 was a very challenging year for us as we lost our friend and core maintainer Areeb Jamal. Many of FOSSASIA members in the region were struggling to fight against Covid. Despite all the difficulties, we managed to continue our work in the area of open hardware with Pocket Science Lab, improving our collaborative event platform Eventyay and once again supporting more students to become open source contributors and developers via our CodeHeat program.

We would like to thank our contributors and 2022 sponsors Indeed and Linux Professional Institute for their support. If you would like to support FOSSASIA projects and our work, please consider making a donation here.

FOSSASIA Summit 2022 Call for Speakers

The current situation around the world shows us that open global collaboration is the way to solve the problems of our time. Now we would like you to share your hands-on examples at the FOSSASIA Summit Online of topics such as:

  • Open source tools advancing the software delivery process
  • Implement continuous delivery and observability in DevOps
  • Open source hardware and local production addressing global supply chain issues
  • Customize Linux and firmware software for lightweight hardware, robots and special use cases
  • Solve everyday problems with AI
  • Ensure digital sovereignty and independent data governance
  • Get security and privacy right
  • Open source solutions tackling global health issues and climate change
  • Open source and beyond: Citizen science and biohacking
  • Establishing a friendly, welcoming and collaborative project culture

Please find the complete list of tracks on the event site and submit your proposal. We are looking forward to your inspiring sessions.

Important Dates

Notification of acceptance: On an ongoing basis
Early submissions receive priority
Submission deadline: 22 January 2022
Event dates: 7 – 9 April 2022

Continue ReadingFOSSASIA Summit 2022 Call for Speakers and Sign-Up

FOSSASIA Virtual Summit 2021 Schedule and Highlights

We are very happy to share with you the schedule of the FOSSASIA Virtual Summit 2021!

  • 190+ speakers from 42 countries and 6 continents are joining us.
  • We are covering a diverse range of topics at the event such as Quantum computing, machine learning, open robotics, CAD and hardware development, search, databases, Covid-19 and open health, Blockchain, digital privacy, microservices, cloud, Kubernetes, kernel development, licensing and many more.
  • More than 180 sessions, talks, panels and workshops are taking place online. 
  • Plus, trainers conduct 28 hours of hands-on onsite sessions at the Lifelong Learning Institute in Singapore.

Get your free ticket here!

The summit will spread out over the week of March 13-21 and will run on our open source virtual event platform eventyay.

In the virtual exhibition you can meet our sponsors and partners like Microsoft, Oracle, MySQL, OpenTAP Keysight, Linux Professional Institute, Elasticsearch, OpnTec, Cloud Native Computing Foundation, FreeBSD, UI-licious, Lifelong Learning Institute Singapore and the UNESCO.

And you can get together with developers and contributors from Free and Open Source projects, makerspaces, developer clubs and university IT groups. At summit hubs across Asia we are connecting to participants online and locally.

FOSSASIA Summit Highlights

  • 5 keynotes from Hong Phuc Dang (Founder, FOSSASIA) and Mario Behling (Co-Founder FOSSASIA, CEO OpnTec), Frank Karlitschek (CEO, Nextcloud), Greg Kroah-Hartman (Linux Kernel Maintainer), Brian Behlendorf (Executive Director, Hyperledger) and Bunnie Huang (CEO, Precursor)
  • 150+ sessions covering tech areas of Quantum computing, PyTorch, Scikit-learn, pocket science, open robotics, FreeCAD, hardware development, search, databases, Debian packaging, Covid-19, Hyperledger, Open Source event solutions, digital privacy, microservices, cloud, Kubernetes, and Linux Kernel development.
  • 30+ hands-on workshops focusing on getting started with Python, creating MySQL shell utilities and custom plugins, setting up PostgreSQL databases, creating test automation, machine learning, and science measurements.
  • Panel discussions about Open Source licensing vs. available source licenses, firmware development, digital sovereignty, Blockchain and diversity in tech.
  • Virtual exhibition with video rooms and exhibitor tours where participants can connect with companies and active tech communities from across Asia.

FOSSASIA Summit Exhibition and Hubs

Apart from company partners you can meet communities, students and developers from Asia and around the world in our virtual exhibition. Groups include OpenFIESTA Tsinghua University, Shenzhen DIY Community, Open Source Hong Kong, OpenStack Indonesia, Mozilla Philippines, Ubuntu Korea, FOSS Myanmar, KDE, BuildingBloCS Singapore, SUTD, Python Software Foundation, LibreOffice, KiwiTCMS, Nextcloud Sourcefabric, LambdaChip, and more.

Hubs bring attendees together locally or online. Participating hubs include the International Organisation of Software Developers, Open Source Club at Saintgits Engineering College Kerala, Biohacking Space Peshawar Pakistan, Society for Data Science at BIT Mesra India, Mar Athanasius College of Engineering India, Developer Student Community in BHILAI Institute of Technology Durg and Team Aveon Racing of BIT Mesra India.

FOSSASIA Summit Daily Focus Topics

Each day has different focus topics and tracks.

Sat, 13 Mar: Robotics, Open Hardware, Pocket Science Lab, Python/Web development, Digital Sovereignty

Sun, 14 Mar: Open Hardware, open science, lightning talks, Python/Web development

Mon, 15 Mar: Blockchain, hardware, design, learn how to solder

Tue, 16 Mar: DevOps, cloud, containers, Kernel & Platform, Quantum computers, Kubernetes

Wed, 17 Mar: Databases, MySQL, PostgreSQL, Monitoring

Thu, 18 Mar: Security, Privacy,  Digital Sovereignty, IoT, cloud, Blockchain, Open Source voice assistants

Fri, 19 Mar: Artificial Intelligence, PyTorch, Visdom, search, scikit, NLP

Sat, 20 Mar: DevOps, Python bot programming, Container Regisitries, OSS Licenses vs. available source, FOSS Community in Asia, OpenStreetMap, Python/Web development

Sun, 21 Mar: Lightning talks, Open Health, Covid-19 apps around the world, Fdroid, platform, smart devices

Continue ReadingFOSSASIA Virtual Summit 2021 Schedule and Highlights

FOSSASIA Summit 2020 Takes Places as Online and Offline Event

Due to the Corona crisis it is clear that events like the FOSSASIA Summit cannot be run in the usual way with large crowds. Therefore this year the FOSSASIA Summit will only be possible as a smaller gathering with social distancing in Singapore and online interactions from Thursday, March 19 – Saturday, March 21. 

Even with travel restrictions in place a number of speakers are in Singapore and expressed their wish sharing their knowledge and the FOSSASIA team is working hard to facilitate this in a safe space offline and online. Due to ongoing changes we will conduct the event with both unscheduled and scheduled sessions. The program will be updated continuously here.

The Lifelong Learning Institute, our host and co-organizer, adjusted the venue to ensure the safety and health of all. To participate on-premise you need to pass a screening test and follow directions for hygiene measures. The sign up is here

Singapore has an outstanding record seen internationally as a gold standard when it comes to cleanliness, hygiene and health. Additional measures in the LLI include providing entrance screening tests, social distancing, using open spaces, reducing the use of mics and mic disinfection, avoiding close group photos. Please find a list of measures here.

The events of our time show more than ever that we need to collaborate to solve the world’s problems such as climate change, global health issues, poverty and economic challenges. The FOSS/Open Source community has proven that we are able to overcome differences and work together across countries and cultures. It is important that we stay connected and continue our work be it offline or online. To connect virtually during the FOSSASIA Summit you can join us on these channels:

We will share more details about sessions in the upcoming days. Furthermore, we are planning additional online events at a later time this year. Let’s continue and build a better world through learning and sharing where-ever and however we can!

We would like to thank everyone who supported us throughout these challenges around the event – our speakers, friends, supporters, and partners like Google, Facebook, Arm, and Elastic.

We hope to stay connected. All the best and stay healthy!

FOSSASIA Presentations
FOSSASIA Videographers
Continue ReadingFOSSASIA Summit 2020 Takes Places as Online and Offline Event

FOSSASIA Confirms Annual Summit Takes Place from March 19-21 + DevSprints on March 22 at Lifelong Learning Institute in Singapore

We are glad to announce that the annual FOSSASIA Summit will take place from 19-21 March and the DevSprints on March 22, 2020 at the Lifelong Learning Institute (LLI) in Singapore after official meetings confirming that relevant measures are put in place to ensure the health and safety after the Covid-19 crisis.

Singapore has been widely praised in the International community for preventing the spread of the virus, a Harvard study hails the country as a gold standard for case detection. 

The FOSSASIA organization and LLI are following all recommendations of the Ministry of Health and taking necessary measures throughout the event. These include among others: Carrying out temperature screening for all attendees, providing health information on each day, adding prominent notices at entrances about hygiene measures, that are put in place throughout the venue, offering excellent bathroom and hand washing facilities, providing free disinfectants, increasing the frequency of cleaning of commonly used areas and more. 

Everyone can help to prevent the spread by following hygiene measures and regularly washing hands. The FAQ of the ministry of health is a good starting point to learn more about the virus and how Singapore is stopping its spreading.

The FOSSASIA Summit program will be online next week. We are happy that we are able to run the event with the help of the Lifelong Learning Institute and we cannot wait to see you in Singapore! 

Global issues, pollution, the threat of climate change, new illnesses, lack of education and poverty show more than ever that it is vital that we all work together to save the planet. Only through open collaboration and sharing can we solve the problems of the world. We need to meet and share our experiences. Events like the FOSSASIA Summit are an important platform. Rest assured we are taking all necessary steps to ensure the continued health and safety of all participants at the event.

More information on the FOSSASIA Summit 2020 is here.

Please check out a list of confirmed speakers and sessions.

Communities interested in running a DevSprint on Sunday, March 22 can still register here.

See you in Singapore!

Continue ReadingFOSSASIA Confirms Annual Summit Takes Place from March 19-21 + DevSprints on March 22 at Lifelong Learning Institute in Singapore
Read more about the article Introducing MVVM (Model-View-ViewModel) Architecture in Phimpme Android App
Introducing MVVM in Phimpme

Introducing MVVM (Model-View-ViewModel) Architecture in Phimpme Android App

Phimpme Android App an image editor app that aims to replace proprietary photographing and image apps on smartphones. It offers features such as taking photos, adding filters, editing images and uploading them to social networks. The app was using MVP(Model-View-Presenter) architecture and is now being ported to MVVM(Model-View-ViewModel) architecture.

Advantages of MVVM over MVP?

  1. The view model is lifecycle aware and only updates the UI based on the lifecycle of the activity/fragment.
  2. Separation of concerns – Not all the code under one single activity
  3. Loose coupling – Activity depends on ViewModel and ViewModel depends on the Repository and not the other way around.

MVVM?

  1. Model – Model represents the data and business logic of the app. The repository can be seen as a model in an MVVM architecture which contains login to fetch the data from an API or a remote API
  2. ViewModel – The view model creates a reference with Model/Repository and gets the data for the UI. It delivers the data to UI via observers of LiveData and also the ViewModel is lifecycle aware and respects the lifecycle of the activity such as screen rotations that don’t cause the ViewModel to be created again.
  3. View – The Activity/Fragment is the view where the data is shown to the user, the View creates a reference to the ViewModel via ViewModel provider class. Hence it listens to the ViewModel callbacks via LiveData.

Process for inclusion

  1. Add ViewModel and LiveData

    implementation "androidx.lifecycle:lifecycle-extensions:$rootProject.lifecycleVersion"

  2. Now create a class AccountViewModel – it will perform all the functioning that will drive the UI of the Account Activity. We will use LiveData for observing the data in the activity

    public class AccountViewModel extends ViewModel {
    private AccountRepository accountRepository

    = new AccountRepository();
    MutableLiveData<RealmQuery<AccountDatabase>>accountDetails = new MutableLiveData<>();//live data 

    }

  3. Create a class AccountRepository – Used to perform the DB related operations and the ViewModel will hold the instance of this repository.

    class AccountRepository {
    private Realm realm = Realm.getDefaultInstance();
    private DatabaseHelper databaseHelper = new DatabaseHelper(realm);// Fetches the details of all accounts present in database
    RealmQuery<AccountDatabase> fetchAllAccounts() {
    return databaseHelper.fetchAccountDetails();
     }
    }


  4. Now we will add the functionality in AccountViewModel to fetch accounts for the UI

    public class AccountViewModel extends ViewModel {
     final int RESULT_OK = 1;
    private AccountRepository accountRepository = new AccountRepository();
    MutableLiveData<Boolean> error = new MutableLiveData<>();
    MutableLiveData<RealmQuery<AccountDatabase>> accountDetails = new MutableLiveData<>();
    public AccountViewModel() {}
    // Used to fetch all the current logged in accounts
    void fetchAccountDetails() {
       RealmQuery<AccountDatabase> accountDetails = accountRepository.fetchAllAccounts();
    if (accountDetails.findAll().size() > 0) {
         this.accountDetails.postValue(accountDetails);
    } else {
     error.postValue(true);
    }
    }


  5. Now in the AccountActivity, we will have the reference of ViewModel and then observe the liveData error and accountDetails

    public class AccountActivity extends ThemedActivityimplements RecyclerItemClickListner.OnItemClickListener {

    private AccountViewModel accountViewModel;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ButterKnife.bind(this);
    ActivitySwitchHelper.setContext(this);
    setSupportActionBar(toolbar);
    //fetching the viewmodel from ViewModelProviders
    accountViewModel = ViewModelProviders.of(this).get(AccountViewModel.class);
    initObserver();
    }

    private void initObserver() {
    accountViewModel.error.observe(this, value -> {
    if (value) {
     SnackBarHandler.create(coordinatorLayout, getString(no_account_signed_in)).show();
    showComplete();
    }
     });
    accountViewModel.accountDetails.observe(this, this::setUpAdapter);
    }


Hence, this completes the implementation of MVVM Architecture in the Phimpme app.

Resources 

  1. Guide to App Architecture – Android Developers Blog
  2. ViewModel Overview – Android Developers Blog
  3. LiveData Overview – Android Developers Blog

Link to the Issue: https://github.com/fossasia/phimpme-android/issues/2889
Link to the PR: https://github.com/fossasia/phimpme-android/pull/2890

Continue ReadingIntroducing MVVM (Model-View-ViewModel) Architecture in Phimpme Android App

Fixing Notification Services Across EventYay

In this Blog-Post, I will show you, the fixing of multiple notification messages getting sent on multiple clicks or display of multiple messages for a single response.

What Caused the Problem?

In our Open Event Frontend, We are using Ember Notify Services to inject notification across the web app to show the notifications. Due to improper error handling on the client side sometimes we get multiple notification messages for a single click or for a single action. As shown in this picture.

How Did we Tackle It ?

Since the following issue was long pertaining, I solved the issue by adding a unique ID to each notification injected through the webapp. Since a unique ID was associated with each notification message, A single notification was getting displayed on each and every action irrespective of number of clicks or number of actions called. If an actions caused two notification to be simultaneously triggered, One of them on the basis of ID is suppressed so that a unique and understandable notification get shown.

Code Snippet:

Before the changes:

.then(() => {
          if (state === 'draft') {
            this.notify.success(this.l10n.t('Your event has been published successfully.'));
          } else {
            this.notify.success(this.l10n.t('Your event has been unpublished.'));
          }

After the changes:

this.notify.success(this.isNewInvite ? this.l10n.t('Role Invite sent successfully') : this.l10n.t('Role Invite updated successfully'), {
            id: 'man_role'
          });
        })
        .catch(() => {
          this.notify.error(this.l10n.t('Oops something went wrong. Please try again'), {
            id: 'man_role_error'
          });
        })

Pull Request : Open-Event-Frontend-3438

Issue : Open-Event-Frontend-3437

Tags :

OpenEvent, EventYay, Fossasia, Intern-2k19

Continue ReadingFixing Notification Services Across EventYay

Allow Same Discount/Access Code for Multiple Events in the Open Event Server

In this Blog-Post, I will show how to allow the system to create the same Discount/Access Code for multiple events in the Open Event Server.

What was the issue:

The main problem was that the server used to identify the discount code and access code based on the discount code/access code itself, which did not allow multiple events to have the same discount/access codes.

Can you think of a better solution to this?
Yes, we should have been searching for it based on the discount/access code as well as the event they are associated with.

Changing the endpoint:

Now to do so, we want to pass the id of the event as well as discount/access code itself with the endpoint so that we can search the database based on the event_id and the code itself.  

Changes in Discount/Access Code Endpoint:

'/event/<int:discount_event_id>/discount-code/<code>'
'/event/<int:access_event_id>/access-code/<code>'

Change logic for database search:

Now when searching for discount/access code in the database, we need to pass the event_id along with the discount/access code, so that we can get the column of discount/access code associated with that event, even if we have multiple discount/access code with the same name for a different event. 

Changes in Database search logic:

access = db.session.query(AccessCode).filter_by(code=kwargs.get('code')
event_id = kwargs.get('access_event_id')).first()

discount = db.session.query(DiscountCode).filter_by(code=kwargs.get('code'),
event_id = kwargs.get('discount_event_id')).first()

Change endpoint in API docs and update Dredd hooks:

Now that we have changed the endpoint to get a discount/access code, we need to change API docs as well as Dredd hooks to accommodate the change in API docs.

Changes in API docs:

## Get Discount Code Detail using the code [/v1/event/{event_id}/discount-code/{code}]
## Get Access Code Detail using the code [/v1/event/{event_id}/access-code/{code}]

Changes in Dredd Hooks:

In discount code hook:

discount_code.event_id = 1

In access code hook:

event = EventFactoryBasic()
db.session.add(event)
db.session.commit()

Resources:

Link to Issue: fossasia/open-event-server#6027
Link to PR: fossasia/open-event-server#6208

Continue ReadingAllow Same Discount/Access Code for Multiple Events in the Open Event Server