Categories
Tips

Headless Raspberry Pi Setup – WiFi and SSH

Setting up a new Raspberry Pi Board can be daunting without a monitor and keyboard, Once you flash a new image of the Operating System – Raspberry Pi OS or similar, the next obvious step is to boot the Pi, log in to it and access the terminal over SSH. But for a headless setup, i.e. without a Monitor and Keyboard, it’s not that straightforward. The same goes if you’re using a lite image of the OS (without a Desktop Environment). For SSH to work, you first need to get your board on your home network, even if you manage to create an ad-hoc network between your Pi and workstation, the SSH is disabled for security reasons. 

Are you ready to influence the tech landscape too? Take part in the Developer Nation survey and be a catalyst for change. Your thoughts matter, and you could be the lucky recipient of our weekly swag and prizes! Start Here

There are two simple ways to sort this out, and we’ll look into it one-by-one 

#1 The Simple Way: Using the official Raspberry Pi Imager, 

Raspberry Pi’s official flashing utility can be downloaded from here . This tool allows you to pick the OS image you want to flash. It also has a setting page where you can enable SSH and add credentials of your home router WiFi SSID and password. All this information is baked into the OS image during the SD card flashing process.

#2 The Ninja Way: Underneath the hood 

While the Raspberry Pi Imager way works pretty straightforward, for the ninja user, it’s important to understand how this all works underneath the hood. So the job of the flasher programmer is to partition your SD card into two segments – BOOT and the Root File System (rootfs) of the raspberry pi. This is how typical how Linux distributions are stored. 

The boot partition holds all the essential files used during the booting process, including the bootloader, and the rootfs partition holds the primary filesystem of the Linux operating system. Now let’s add settings for our WiFi connection and enable SSH on the raspberry pi board the ninja way. 

Once you flashed a new operating system, the SD card shall be auto-ejected, so re-insert the SD card, and you shall see a partition named BOOT mounted on your system. Create a new file in the root folder of the boot partition with the exact name – wpa_supplicant.conf. In this file add following using your favourite text editor or terminal: 

“` code-block

This information shall be used by “wpa_supplicant”, a utility used by Linux distributions like Debian to connect to wifi networks. After the boot is complete, it’ll scan for WiFi networks nearby and connect to your SSID and password you supplied. 

Don’t worry about supplying your password in plain text, after the boot, this file will be removed automatically.

Now to enable SSH, which is disabled by default for security, just create a new empty file with the name ssh in the root directory of the boot partition. Use the terminal command to create this file 

And that’s it, your raspberry pi will be connected to your WiFi network and ready to accept incoming SSH connection requests, and all this is done without ever connecting your board to a monitor and keyboard – Headless. 

Test your SSH connection from your workstation open the terminal, and type:

and you shall be logged in.

Found this tutorial interesting? Read more about the latest trends in Embedded System development in our previous blog here and take your embedded projects to IoT using MQTT via this blog here .

Categories
News and Resources

On the role of female coders in software development

Since the beginning of computing, women have consistently played a pivotal role in software development that has frequently been overlooked; from Ada Lovelace developing the first algorithms for modern computers to Margaret Hamilton’s crucial role in the development of on-board guidance software for NASA’s Apollo program.

However, despite women’s exceptional contributions to the field, they have often received less credit than their male counterparts, and their place in the field is questioned.

Today, efforts are being made across the software development ecosystem to address these historical biases. While efforts have been made to promote women to get involved in the historically male-dominated field, there is still considerable work to be done. 

Data and technology are not free from bias. Past applications and software development projects have demonstrated the need for input from diverse groups2.

In this chapter, we specifically explore the involvement of women in software development. According to our latest global developer survey (Q1 2023), nearly a quarter of all developers (22%) self-identify as females, the highest proportion since we began asking respondents about their gender.

This is a small increase from two years ago, since Q1 2021, when female coders accounted for 19% of all developers. 

This slight increase in the proportion of developers self-identifying as females can be partially attributed to the rise in the representation of women among early-to-mid-career developers. Women currently make up a quarter (25%) of developers between the ages of 25 and 34, the highest proportion of all age groups, up from less than 20% in Q1 2021.

This is followed closely by 23% of developers between the ages of 18 and 24. The highest proportion of women falling within the 25-34 age bracket indicates the possible beginning of a positive trend for the future of women in the tech industry. This is the age when people begin to settle into their careers and is a point where people are likely to develop additional skills that allow them to cross-train and enter industries of their choosing.

Further to this, we are also seeing an increasing presence of women in certain regions that are leading to an increase in the proportion of women in technology overall.

Specific highlights include the Middle East and Africa, where the proportion of women in technology in this region has gone from 10% in Q1 2021 to over 20% currently. Similarly, women made up 15% of developers in East Asia in Q1 2021 and now makeup almost 30% of developers. 

Overall, a higher representation of women in the software development ecosystem is a great development. Not only do they bring critical perspectives and approaches to the work being undertaken, but diversity in the workforce offers fresh experiences that can help businesses address underserved needs.

It also enhances efforts to make spaces that are less hostile to women in both overt and subtle ways, allowing even more women to follow their interests in the technology space.

The proportion of women among developers varies substantially depending on the types of projects they are involved in. Virtual reality (VR) and augmented reality (AR) projects have the highest proportion of women, at 33% and 28% respectively, followed by games (28%). 

On the contrary, backend services and web application projects have the lowest concentration of female coders, at just 13% and 16%, respectively.

With these sectors selecting those with formal degrees at higher rates than other areas, and a 10 percentage point difference between men and women having such a degree, this may be one factor in the lower presence of women.

Undergraduate degrees in computer science or equivalent are held by 45% of backend developers and 43% of web developers, compared to 37% of all developers.

Further, the lower proportion of women working in backend services and web application development may, in part, be attributed to the historically male-dominated culture within these sectors. Addressing cultural differences3 and fostering a more inclusive atmosphere can contribute to balancing representation and mentorship opportunities within these sectors.

Further, there may be potential unconscious biases in hiring practices derived from existing workplace culture, which may prevent certain development areas from harnessing the full spectrum of talent, and benefit from the input of individuals with diverse backgrounds.

Examining the sizes of organisations that female developers work for throughout various stages of their life and career could indicate that company characteristics have an influence on women’s decisions in the technology sector.

Like young men, young women are more likely to work as freelancers relative to other age groups and only return to similar proportions among developers aged 55 and above. Additionally, younger female developers (18-24) tend to work for smaller companies, whereas older female developers (45+) are more inclined to work for larger organisations with over 10,000 employees.

Examining a particular age group, women between the age of 35 and 44, may offer an insight into issues women have with progressing through their careers. Previous research into women’s careers in the software development sector has highlighted that women are promoted at a lower rate than men4.

However, when looking at the roles women self-identify with, we find that at mid-market companies (251-1,000 employees) and enterprises (1,001-10,000 employees) the percentage of women in management positions (20% and 29%) is significantly higher than at other organisation sizes (13% on average).

These organisations could offer better opportunities for career growth, decision-making, and leadership. In larger companies, management roles might be more hierarchical and bureaucratic, leading to less autonomy and slower career progression.

In smaller companies, limited opportunities due to their size might result in fewer leadership positions being available overall, and with women being a minority in software development, there are fewer women in leadership positions.

Further, there is an underrepresentation of women in certain leadership roles. 11% of men list their role as CIO, CTO, or IT manager, and 14% identify as technical team leads, compared to just 9% and 8% of women. This could create a cycle whereby there may be fewer mentorship opportunities for other women.

When there are fewer female leaders, it has been found in a range of fields5 that it can be harder for women to progress in their careers, and it can be more challenging for aspiring women to find mentors who can guide them, provide valuable insights, and help them navigate their career paths. 

However, while still a minority of those in such roles, 25% of those in CEO or management positions are women, compared to their position as 22% of the developer population.

While only a small percentage difference, given their underrepresentation in other leadership roles, this represents an area where women are getting leadership positions. Among the previously discussed issues women may face, women are also less likely to apply for leadership positions where they do not fulfil all of the requirements than men6.

This may be leading women to also self-select towards management positions that are not solely dependent on technical skills. 

The observation that women hold a higher proportion of CEO/management roles compared to men (7% against 5%, respectively), particularly in companies with more than 250 employees (8% of women to 4% of men), could indicate a positive shift in gender representation and diversity in leadership positions.

This trend might be driven by a changing corporate culture that is increasingly recognising the importance of gender diversity in leadership, leading companies to seek out and promote women into these roles6 proactively.

Embracing diverse perspectives at the decision-making level can result in better organisational performance and decision-making.

Another factor that may contribute to this observation is the growing appreciation for women’s leadership styles, which tend to be more collaborative, participative, and relationship-oriented. These qualities are often valued in today’s business environment and might make women particularly well-suited for CEO/management roles.

Moreover, women, through their skills and abilities, are likely actively contributing to this positive trend, demonstrating that they are well-equipped for leadership roles. Despite women remaining a minority in leadership this growing representation in CEO/management roles is a step in the right direction, highlighting the benefits of diverse and inclusive leadership.

Categories
Community

Introducing Developer Nation forums

It’s been a while (read 3 months) since we launched the Official Developer Nation forum along with our revamped website. But we have yet to make a formal announcement about it. This blog will serve as an official bulletin illustrating our rationale behind launching a self-hosted forum for Developer Nation.

Being a global community, we are aware that developers worldwide depend on us and each other for support, sharing ideas, collaboration, and diverse perspectives to make informed decisions in their programming journey. However, we didn’t want to hastily create yet another Discord server or Slack workspace without careful consideration, which could result in unanswered queries and inactivity.

How we support our global developer community 

We have been providing extensive assistance to our community members via email for a considerable period. Our support ranges from answering their questions, and connecting them with relevant individuals in the community, to sharing developer market research reports upon request from our vast data repository. We also extend it to help them with job hunting, among other things. However, we noticed all this happening behind closed doors, isolated from the rest of the community, for no reason but a lack of an open platform. Even if another developer had a similar query or request, they could not benefit from previous conversation flows with other members. Therefore, we decided to take this to the next level by providing the community with a platform to collaborate openly and benefit from the conversations other members are having.

Announcing Developer Nation Forums

Developer Nation forums are our discourse server which can be accessed at: https://forum.developernation.net/, now without actually telling you what you can do here, I would highly encourage you to check it out yourself and consider this our community playground where nothing is wrong, and everything posted is regarded as a healthy flow of conversations within the community. We’ve created the categories we see fit (for now), but this is ever-evolving as we receive community feedback. 

One of the key goals of creating our own forums is to help our community self-serve themselves; that means once the forums have significant conversations, the chances of you finding an answer to your query increase by many folds. Thus, new members can better navigate our community and surveys and get support without needing to reach out to us personally.

Apart from creating your own threads and participating in conversations started by other community members, you can customise the look and feel from dark to light mode. Feel free to explore more and share your feedback with me on how we can make it better and more inclusive for everyone. I believe our community members will generously help each other on the forums and make it a sustainable healthy hangout place for all the members.

P.S: Since every member of the Developer Nation community team, including me, spends time on forums every day, the chances of your query being addressed are relatively high there.

I’ve created this short video as a quick crash course on using the forums for the first time; check it out, and I look forward to welcoming you there. Cheers!

– Ayan