How To Install Firefox OS On Linux & A Quick Demo

How to Install and Run Firefox Mobile B2G

  1. 1 Download b2g and extract the package
  2. 2 Download and install Gaia
    1. Open terminal from the dash home:
      git clone git://github.com/mozilla-b2g/gaia
    2. make -C gaia profile
  3. 3 Run Firefox Mobile B2G
    1. In terminal run:
      PATH/TO/B2G-foder/b2g -profile gaia/profile
    2. Example:
      /home/jeremy/b2g/b2g -profile gaia/profile

Tip: Make sure you have the necessary permissions to execute the b2g binary. You might need to run chmod +x /path/to/b2g if you encounter permission issues.

How to Fix Spotify Crashing on Startup for Ubuntu

Fixing Spotify Issues on Ubuntu

Spotify Logo

I love Spotify. If you haven’t tried it, you should definitely check it out. I had been having some problems with the newer preview releases of the application on my Ubuntu machine at home. If you run into issues yourself, you can try the following in terminal:

Clear cache:

rm -Rf ~/.cache/spotify

If Spotify continues to crash, run a strace -e open spotify in terminal and post it to the forums for more advanced assistance.

Good luck! This fixed all of my issues, so I wanted to make sure and share it in case it also helped others running Spotify on Ubuntu.

The Story of Linux: Commemorating 20 Years

From a Finnish student’s hobby project to the backbone of the digital world—how Linux transformed computing and sparked a movement

Twenty years ago, a Finnish computer science student named Linus Torvalds made a seemingly modest announcement on an internet newsgroup: he was working on a free operating system as a hobby project. Little did he know that his creation would grow to power everything from smartphones to supercomputers, igniting a revolution that would fundamentally change the technology landscape forever.

What began as a personal project to explore the capabilities of his new Intel 386 computer has evolved into the most influential piece of open source software in history. Linux now runs the vast majority of the internet’s servers, forms the foundation of Android phones used by billions, powers 100% of the world’s top supercomputers, and serves as the preferred development environment for programmers worldwide.

As Linux celebrates its 20th anniversary, it’s worth reflecting on the extraordinary journey of this operating system and the profound impact it has had on technology, business, and culture. From its humble beginnings to global dominance, Linux’s story is a testament to the power of open collaboration and the enduring appeal of freedom in software.

The Humble Beginnings

On August 25, 1991, Linus Torvalds posted a message to the comp.os.minix newsgroup that would make history:

  • “Hello everybody out there using minix – I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones…”

Torvalds was a 21-year-old student at the University of Helsinki when he began working on what would become Linux. Frustrated with the limitations of MINIX, another Unix-like operating system used in academic settings, he decided to create his own operating system kernel that would take full advantage of his new Intel 386 computer.

Initially, Torvalds had wanted to call his invention “Freax” (a combination of “free,” “freak,” and “x” for Unix). However, Ari Lemmke, who administered the FTP server where Torvalds uploaded his project, named the directory “Linux” without consulting him. Despite Torvalds’ initial hesitation about the name being too egotistical, it stuck—and the rest is history.

What’s remarkable about Linux’s origin story is how it exemplifies the power of scratching one’s own itch—Torvalds didn’t set out to change the world; he simply wanted to create something that would work better for his own needs.

Key Milestones in Linux History

The first two decades of Linux were marked by rapid development, growing adoption, and several pivotal moments that shaped its trajectory:

  • 1991: Linus Torvalds releases Linux 0.01, the first version of the kernel
  • 1992: The first Linux distributions appear, including SLS (Softlanding Linux System)
  • 1993: Slackware becomes the first commercial Linux distribution
  • 1994: Linux 1.0 is released with 176,250 lines of code
  • 1995: The first Linux Expo conference is held
  • 1996: Tux the penguin becomes the official Linux mascot
  • 1998: Major companies including IBM begin supporting Linux
  • 2000: IBM announces it will invest $1 billion in Linux development
  • 2003: SCO Group files a lawsuit against IBM over Linux code, beginning a lengthy legal battle
  • 2005: Linus Torvalds creates Git, a version control system now essential to software development
  • 2007: The Linux Foundation is formed
  • 2008: Android, based on the Linux kernel, is released
  • 2011: Linux celebrates its 20th anniversary
The Story of Linux

The Linux Foundation’s video commemorating 20 years of Linux

What began as 10,000 lines of code in 1991 had grown to over 15 million lines by the 20th anniversary, with thousands of developers from hundreds of companies contributing to its evolution.

Linux’s Impact on Computing

The influence of Linux extends far beyond just being another operating system option. It has fundamentally transformed multiple aspects of computing:

  • Server Dominance: Linux powers approximately 70% of web servers worldwide, forming the backbone of the internet
  • Supercomputing Supremacy: 100% of the world’s top 500 supercomputers run on Linux
  • Mobile Revolution: Android, built on the Linux kernel, runs on over 70% of smartphones globally
  • Cloud Infrastructure: Linux dominates cloud computing platforms, with over 90% of cloud infrastructure running on Linux
  • Embedded Systems: From smart TVs to automotive systems and IoT devices, Linux has become the preferred OS for embedded applications
  • Development Environment: The majority of software developers prefer Linux for development work

Perhaps most significantly, Linux demonstrated that open source development could produce software that matches or exceeds the quality of proprietary alternatives. This revelation challenged conventional wisdom about software development and laid the groundwork for the explosion of open source projects that followed.

Catalyst for the Open Source Movement

While Linux wasn’t the first open source software project, it became the most visible and successful example of collaborative development. Its success helped legitimize open source as a development model and inspired countless other projects.

Linux benefited from perfect timing, emerging just as the internet was beginning to connect developers worldwide, enabling collaboration on an unprecedented scale. The decision to license Linux under the GNU General Public License (GPL) ensured that the code would remain free and open, creating a virtuous cycle of improvement and adoption.

The principles that drove Linux’s development have spread to influence other domains:

  • Collaborative Innovation: The model of distributed contribution has been adopted by projects ranging from Wikipedia to scientific research
  • Meritocratic Governance: Linux’s development is guided by technical merit rather than corporate hierarchy
  • Transparent Development: Open discussion and code reviews lead to higher quality and security
  • Commercial Open Source: Companies found ways to build sustainable business models around open source software

Linux proved that volunteer collaboration could create enterprise-grade software, challenging fundamental assumptions about how innovation happens and who controls it.

Disrupting Business Models

Linux’s rise represented a significant challenge to established players in the technology industry, particularly Microsoft, which dominated the operating system market in the 1990s. Initially dismissive of Linux, Microsoft eventually came to recognize the threat it posed to their business model.

The success of Linux inspired new business approaches for software companies:

  • Red Hat Model: Companies providing support, services, and enterprise-ready distributions around free software
  • Dual Licensing: Offering both free open source versions and premium proprietary versions
  • Open Core: Providing a free core product with paid proprietary extensions
  • Cloud Services: Building managed services on top of open source foundations

Over time, even traditional software giants adapted. Microsoft’s stance evolved from CEO Steve Ballmer calling Linux “a cancer” in 2001 to the company embracing open source, contributing to Linux, and even including a Linux subsystem in Windows. By 2011, when Linux celebrated its 20th anniversary, the business landscape had been thoroughly transformed by open source principles.

The Linux Community

At the heart of Linux’s success lies its community—a global network of developers, users, advocates, and organizations who continuously improve and promote the operating system. From kernel developers to distribution maintainers, documentation writers to user support volunteers, the Linux ecosystem thrives on diverse contributions.

By 2011, the Linux kernel was being developed by approximately 1,000 developers representing more than 100 different companies. This level of collaboration was unprecedented in software development, demonstrating how competing companies could cooperate on fundamental technology while competing in other areas.

The Linux Foundation, formed in 2007, has played a crucial role in supporting this community, providing neutral governance, legal protection, and resources to advance Linux and other open source technologies. Under its umbrella, Linux has continued to evolve at a remarkable pace, with new kernel releases every 8-12 weeks.

The diversity of the Linux community is one of its greatest strengths—combining the resources of large corporations with the innovation and passion of individual contributors from around the world.

The Legacy Continues

As Linux celebrated its 20th anniversary in 2011, it had already exceeded all expectations and predictions made at its birth. What began as a hobby project had become essential infrastructure for the digital age, powering the vast majority of the internet, financial markets, scientific research, and mobile devices.

The principles that made Linux successful—openness, collaboration, meritocracy, and freedom—proved to be enduring values that resonated with developers and users alike. By democratizing access to high-quality software, Linux helped bridge the digital divide and empowered innovation across the globe.

Looking beyond its 20th anniversary, Linux’s influence continues to expand into new domains such as artificial intelligence, autonomous vehicles, and edge computing. The operating system that Torvalds once predicted wouldn’t be “big and professional” now stands as one of the most significant technological achievements of our time—a testament to what can be accomplished when people around the world collaborate freely toward a common goal.

Join the Conversation

How has Linux influenced your computing experience or professional life? Are you a Linux user or developer with a story to share? Let us know in the comments below!

The Complete Guide to Video and Audio Conversion with FFmpeg in Ubuntu

A powerful command-line tool for all your multimedia conversion needs

Recently, I needed to create a .FLV file in Ubuntu from a .MOV for the Jungle Jim’s video. During this process, I discovered FFmpeg—an incredibly versatile command-line tool that makes converting between media formats remarkably simple.

FFmpeg is a powerful, open-source multimedia framework that can decode, encode, transcode, mux, demux, stream, filter, and play nearly any type of media. It’s the Swiss Army knife of multimedia processing, relied upon by countless applications, websites, and services worldwide.

In this guide, I’ll walk you through installing FFmpeg on Ubuntu, explain the most useful conversion commands, and break down the parameters so you understand exactly what’s happening when you run these commands.

Installing FFmpeg on Ubuntu

Before diving into conversion commands, let’s make sure FFmpeg is properly installed on your system. Ubuntu users have several options for installation:

Method 1: Install from Ubuntu Repositories (Simplest)

Open a terminal and enter the following commands:

sudo apt update
sudo apt install ffmpeg

Verify the installation by checking the version:

ffmpeg -version

Note: The version in the standard repositories may not be the most recent. As of early 2025, Ubuntu repositories typically provide FFmpeg version 6.1, while the latest stable release is 7.1.

Method 2: Install Latest Version via PPA (Recommended)

For the latest features and improvements, you can install FFmpeg from a PPA:

sudo add-apt-repository ppa:ubuntuhandbook1/ffmpeg7
sudo apt update
sudo apt install ffmpeg

This will install the latest FFmpeg 7.x version with additional features and improvements.

Understanding FFmpeg Command Structure

Before diving into specific commands, it’s helpful to understand the basic structure of FFmpeg commands:

ffmpeg [global_options] -i input_file [output_options] output_file
  • global_options: Apply to the entire process
  • -i input_file: Specifies the input file to process
  • output_options: Apply to the output file (codecs, bitrates, etc.)
  • output_file: The destination file name/path

Pro Tip: FFmpeg will automatically determine which encoders and formats to use based on file extensions, but you can specify them explicitly for more control.

Common FFmpeg Conversion Commands

Here are some of the most useful FFmpeg commands for various conversion tasks. Simply open your terminal, navigate to the directory containing your media files, and run these commands (replacing the filenames with your own).

Converting Video Formats

Convert a FLV file to MPG:

ffmpeg -i original_file.flv new_file.mpg

Convert a MPG file to FLV:

ffmpeg -i original_file.mpg new_file.flv

Convert a MOV file to MP4:

ffmpeg -i original_file.mov -c:v libx264 -c:a aac new_file.mp4

What this does: Converts a MOV file to MP4 using the H.264 video codec and AAC audio codec, which offer excellent quality and compatibility.

Working with Audio

Extract audio from a video file as MP3:

ffmpeg -i input_video.mp4 -vn -ar 44100 -ac 2 -ab 192k -f mp3 output_audio.mp3

What this does:

  • -vn: Disables video recording (extracts audio only)
  • -ar 44100: Sets audio sampling rate to 44.1 kHz (CD quality)
  • -ac 2: Sets 2 audio channels (stereo)
  • -ab 192k: Sets audio bitrate to 192 kbps
  • -f mp3: Forces the output format to MP3

Convert WAV to MP3:

ffmpeg -i input.wav -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3

Extract audio from a video file (simplified command):

ffmpeg -i video.mp4 -vn audio_only.mp3

This simpler command works in many cases, as FFmpeg will automatically select reasonable defaults based on the output file extension.

Pro Tip: If you’re unsure about which audio formats your FFmpeg supports, run ffmpeg -encoders | grep audio to see a list of available audio encoders.

Advanced FFmpeg Commands

Once you’re comfortable with basic conversions, you can explore more advanced FFmpeg capabilities:

Video Resizing and Quality Control

Convert and resize a video:

ffmpeg -i input.mp4 -vf "scale=1280:720" -c:a copy output_720p.mp4

What this does: Resizes the video to 1280×720 pixels (720p) while keeping the original audio.

Create a high-quality MP4 with specific encoding settings:

ffmpeg -i input.mov -c:v libx264 -preset slow -crf 18 -c:a aac -b:a 192k output.mp4

What this does:

  • -c:v libx264: Uses H.264 video codec
  • -preset slow: Uses slower encoding for better compression
  • -crf 18: Sets Constant Rate Factor to 18 (high quality, lower = better)
  • -c:a aac: Uses AAC audio codec
  • -b:a 192k: Sets audio bitrate to 192 kbps

Trimming and Combining

Trim a video to a specific duration:

ffmpeg -i input.mp4 -ss 00:00:30 -to 00:02:00 -c copy trimmed_output.mp4

What this does: Extracts a clip starting at 30 seconds and ending at 2 minutes from the original video.

Concatenate multiple videos:

First, create a file list (videos.txt):

file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'

Then concatenate them:

ffmpeg -f concat -safe 0 -i videos.txt -c copy combined_video.mp4

Important: For concatenation to work properly, all videos should have the same codec, resolution, and frame rate. If they differ, you might need to re-encode them first.

Troubleshooting Common Issues

Missing Codecs

If you encounter errors about missing encoders, you may need to install additional codec packages:

sudo apt install ubuntu-restricted-extras

Permission Denied

If you see “permission denied” errors:

  • Check that you have read permissions for input files
  • Ensure you have write permissions for the output directory
  • Use sudo if necessary (though this is rarely needed for FFmpeg)

Unknown Encoder

If FFmpeg reports an “Unknown encoder” error, it means your installation was not compiled with support for that codec. You can check available encoders with:

ffmpeg -encoders

Consider installing FFmpeg from a PPA (as described in the installation section) for a version with more codecs.

Conclusion

FFmpeg is an incredibly powerful tool that can handle virtually any multimedia conversion task you throw at it. While it may seem intimidating at first with its command-line interface, the basic commands are straightforward, and the flexibility it offers is unmatched by graphical alternatives.

As you become more comfortable with FFmpeg, you’ll discover even more advanced features like filters, multi-stream processing, and complex encoding parameters. The official FFmpeg documentation is an excellent resource for exploring these capabilities further.

Whether you’re a content creator, developer, or just someone who occasionally needs to convert media files, FFmpeg is an essential tool to have in your Linux toolkit.

Share Your Experience

Do you have a favorite FFmpeg command or trick? Share it in the comments below to help fellow Ubuntu users!