Home Blog Page 1354

Can Commercial Linux Gaming Succeed?

Linux games have always been one of the goals of free software. If game developers could only be persuaded to develop for Linux, the daydream goes, the operating system would start to gain serious market share. The last few years have lent hope to the dream, but the progress remains slow — so slow, in fact, that its realization is starting to look questionable.

The first large scale effort to sell Linux games commercially was Loki Software, which ported games like Civilization and Railway Tycoon around the turn of the millennium. It quickly failed financially, leaving Linux gaming largely to minor free-license games like Pysol and Tux Racer, and to efforts to run Windows games using WINE.

Read more at Datamation.

Understanding and Using Systemd

Systemd components graphic

Like it or not, systemd is here to stay, so we might as well know what to do with it.

systemd is controversial for several reasons: It’s a replacement for something that a lot of Linux users don’t think needs to be replaced, and the antics of the systemd developers have not won hearts and minds. But rather the opposite, as evidenced in this famous LKML thread where Linus Torvalds banned systemd dev Kay Sievers from the Linux kernel.

It’s tempting to let personalities get in the way. As fun as it is to rant and rail and emit colorful epithets, it’s beside the point. For lo so many years Linux was content with SysVInit and BSD init. Then came add-on service managers like the service and chkconfig commands. Which were supposed to make service management easier, but for me were just more things to learn that didn’t make the tasks any easier, but rather more cluttery.

Then came Upstart and systemd, with all kinds of convoluted addons to maintain SysVInit compatibility. Which is a nice thing to do, but good luck understanding it. Now Upstart is being retired in favor of systemd, probably in Ubuntu 14.10, and you’ll find a ton of systemd libs and tools in 14.04. Just for giggles, look at the list of files in the systemd-services package in Ubuntu 14.04:

$ dpkg -L systemd-services

Check out the man pages to see what all of this stuff does.

It’s always scary when developers start monkeying around with key Linux subsystems, because we’re pretty much stuck with whatever they foist on us. If we don’t like a particular software application, or desktop environment, or command there are multiple alternatives and it is easy to use something else. But essential subsystems have deep hooks in the kernel, all manner of management scripts, and software package dependencies, so replacing one is not a trivial task.

So the moral is things change, computers are inevitably getting more complex, and it all works out in the end. Or not, but absent the ability to shape events to our own liking we have to deal with it.

First systemd Steps

Red Hat is the inventor and primary booster of systemd, so the best distros for playing with it are Red Hat Enterprise Linux, RHEL clones like CentOS and Scientific Linux, and of course good ole Fedora Linux, which always ships with the latest, greatest, and bleeding-edgiest. My examples are from CentOS 7.

Experienced RH users can still use service and chkconfig in RH 7, but it’s long past time to dump them in favor of native systemd utilities. systemd has outpaced them, and service and chkconfig do not support native systemd services.

Our beloved /etc/inittab is no more. Instead, we have a /etc/systemd/system/ directory chock-full of symlinks to files in /usr/lib/systemd/system/. /usr/lib/systemd/system/ contains init scripts; to start a service at boot it must be linked to /etc/systemd/system/. The systemctl command does this for you when you enable a new service, like this example for ClamAV:

# systemctl enable clamd@scan.service
ln -s '/usr/lib/systemd/system/clamd@scan.service''/etc/systemd/system/multi-user.target.wants/clamd@scan.service'

How do you know the name of the init script, and where does it come from? On Centos7 they’re broken out into separate packages. Many servers (for example Apache) have not caught up tosystemd and do not have systemd init scripts. ClamAV offers both systemd and SysVInit init scripts, so you can install the one you prefer:

$ yum search clamav
clamav-server-sysvinit.noarch
clamav-server-systemd.noarch

So what’s inside these init scripts? We can see for ourselves:

$ less /usr/lib/systemd/system/clamd@scan.service
.include /lib/systemd/system/clamd@.service
[Unit]
Description = Generic clamav scanner daemon
[Install]
WantedBy = multi-user.target

Now you can see how systemctl knows where to install the symlink, and this init script also includes a dependency on another service, clamd@.service.

systemctl displays the status of all installed services that have init scripts:

$ systemctl list-unit-files --type=service
UNIT FILE              STATE
[...]
chronyd.service        enabled
clamd@.service         static
clamd@scan.service     disabled

There are three possible states for a service: enabled or disabled, and static. Enabled means it has a symlink in a .wants directory. Disabled means it does not. Static means the service is missing the [Install] section in its init script, so you cannot enable or disable it. Static services are usually dependencies of other services, and are controlled automatically. You can see this in the ClamAV example, as clamd@.service is a dependency of clamd@scan.service, and it runs only when clamd@scan.service runs.

None of these states tell you if a service is running. The ps command will tell you, or use systemctl to get more detailed information:

$ systemctl status bluetooth.service
bluetooth.service - Bluetooth service
   Loaded: loaded (/usr/lib.systemd/system/bluetooth.service; enabled)
   Active: active (running) since Thu 2014-09-14 6:40:11 PDT
  Main PID: 4964 (bluetoothd)
   CGroup: /system.slice/bluetooth.service
           |_4964 /usr/bin/bluetoothd -n 

systemctl tells you everything you want to know, if you know how to ask.

Cheatsheet

These are the commands you’re probably going to use the most:

# systemctl start [name.service]
# systemctl stop [name.service]
# systemctl restart [name.service]
# systemctl reload [name.service]
$ systemctl status [name.service]
# systemctl is-active [name.service]
$ systemctl list-units --type service --all

systemd has 12 unit types. .service is system services, and when you’re running any of the above commands you can leave off the .service extension, because systemd assumes a service unit if you don’t specify something else. The other unit types are:

 

  • Target: group of units
  • Automount: filesystem auto-mountpoint
  • Device: kernel device names, which you can see in sysfs and udev
  • Mount: filesystem mountpoint
  • Path: file or directory
  • Scope: external processes not started by systemd
  • Slice: a management unit of processes
  • Snapshot: systemd saved state
  • Socket: IPC (inter-process communication) socket
  • Swap: swap file
  • Timer: systemd timer.

 

It is unlikely that you’ll ever need to do anything to these other units, but it’s good to know they exist and what they’re for. You can look at them:

$ systemctl list-units --type [unit name]

Blame Game

For whatever reason, it seems that the proponents of SysVInit replacements are obsessed with boot times. My systemd systems, like CentOS 7, don’t boot up all that much faster than the others. It’s not something I particularly care about in any case, since most boot speed measurements only measure reaching the login prompt, and not how long it takes for the system to completely start and be usable. Microsoft Windows has long been the champion offender in this regards, reaching a login prompt fairly quickly, and then taking several more minutes to load and run nagware, commercialware, spyware, and pretty much everything except what you want. (I swear if I see one more stupid Oracle Java updater nag screen I am going to turn violent.)

Even so, for anyone who does care about boot times you can run a command to see how long every program and service takes to start up:

$ systemd-analyze blame
  5.728s firewalld.service
  5.111s plymouth-quit-wait.service
  4.046s tuned.service
  3.550s accounts.daemon.service
  [...]

And several dozens more. Well that’s all for today, folks. systemd is already a hugely complex beast; consult the References section to learn more.

References

Freedesktop.org systemd System and Service Manager
Here We Go Again, Another Linux Init: Intro to systemd

Ellison Steps Down as Oracle CEO, but Management Team Stays

All-purpose IT vendor reported that its fiscal 2015 Q1 total revenues were up 3 percent; net income was unchanged at $2.2 billion over Q1 2013.

Read more at eWeek

How to Overcome the Cloud-Savvy IT Talent Shortage

Senior executives at large multinational enterprises are already demanding that their CIO has a plan in place to ensure that they can effectively procure public and private cloud services for their organization. In smaller companies, some IT managers are now expected to acquire the knowledge and skills to perform a similar role.

Are they prepared? To find out, let’s review a current IT resource assessment.

According to the findings from a recent market study by International Data Corporation (IDC), European IT departments still need to make significant improvements before they have fully embraced cloud architectures and transformed themselves into hybrid cloud service providers.

Read more at Cloud Tech.

Woz: Hello iPhone 6, Goodbye Android

Apple co-founder Steve Wozniak is one of the most likable guys in tech — but that doesn’t mean he always likes everything. That Ashton Kutcher Steve Jobs biopic? Woz said it got a lot wrong. Wearables? Woz says they’re a hard sell. But Woz sure likes Apple’s new iPhone 6, so much so that he’s ditching Android, Google’s mobile operating system he’s grown fond of.

In the below video from entertainment news and gossip site TMZ, Woz allows himself to be stopped in an airport, at least temporarily, to share his excitement for Apple’s new iPhone 6 and iPhone 6 Plus and Apple Pay, the company’s new mobile-payments service.

Read more at CNET.

5 More Killer Features Windows 9 Should Steal from Linux

If the latest Windows 9 leaks are any indication, some of the operating system’s coolest new features will look a lot like what Linux users already enjoy: Like the virtual desktops Linux users have had since the 90’s, and a centralized notification center like the one available in GNOME Shell.

Windows 9 also looks like it’ll co-opt Ubuntu’s vision of a single operating system interface that can run on all form factors, complete with apps that run in windowed mode when it makes more sense to do so. Who would have imagined? Windowed applications are a big new feature in Windows.

But there are other great Linux features Microsoft should copy, too. And hey, I’m not just complaining here—Windows would legitimately be better if they stole these features. As Apple once said: “Redmond, start your photocopiers.â€

Read more at PCWorld.

Google’s Chrome Strategy Heads in New Directions, Draws Linux Comparisons

Google’s Chrome browser and Chrome OS operating system are grabbing headlines this week for several reasons. As Susan reported here, Matt Hartley said recently, ‘Anyone who believes Google isn’t making a play for desktop users isn’t paying attention.’ Hartley favors putting Linux in front of a lot of potential Chrome OS users, and says “I consider ChromeOS to be a forked operating system that uses the Linux kernel under the hood.”

Meanwhile, there is a very interesting new feature found in the Chrome for Android app that instantly displays suggestions to queries while you’re typing them into the address bar. For example, if you type in “How old is George Clooney?,” you’ll get the answer before being taken to any dedicated site where the answer is found.

Read more at Ostatic

Lessons from the Women’s Resume Writing Workshop at LinuxCon

Meg FordLinuxCon North America was a chance to attend talks by leaders in the community, and to learn about current development efforts in the space. It was also a chance to network, and to discuss technology, open source culture, and jobs.

One of the events which I attended focused on overcoming common pitfalls that women may encounter when preparing a resume which meets the expectations of corporate recruiters and hiring managers in the Linux community. As a recent MS in Computer Science graduate, I attended in order to receive feedback and improve my resume to emphasize the skills I have gained both as a student and as an open source developer. That workshop, which was lead by Leslie Hawthorn on the first day of the conference, provided me with insight and tools to present myself to employers and to actively shape my career trajectory.

The session was informal and highly engaging. Leslie began by handing out ‘before’ and ‘after’ example resumes.  She highlighted the reasons for the changes she had made to the examples, and how we could use similar tactics to playing up our skill sets and catch the attention of hiring managers. In the course of her presentation she made several points which I found to be valuable. She explained that it is more important to the resume reviewer to understand what an applicant accomplished in a position than it is to list the specific title the HR department used, and that therefore it makes sense to choose job titles that describe the role. Since recruiters are familiar with the types of technologies used in different areas, it makes sense to provide generalized information about expertise rather than a long, specific list of skills. She also presented strategies for choosing to either focus on career progression within a company, or to combine and summarize various roles.

During the second half of the workshop we presented our resumes to the group and received personal feedback. Leslie gave detailed reviews and pointed out flaws. I presented the resume that I have been sending out to prospective employers. I wanted to make my resume shorter and more pointed, but I wasn’t sure which aspects of the resume I should pare down in order to accentuate my skills and increase readability.

As is the case with most students, there are certain languages and technologies that I have only used for academic projects. However, since I am an open source contributor and application maintainer for the GNOME project, and have been working as a web developer, I have significant experience with writing code for production. Leslie suggested that I move the jobs section of the resume to the beginning of the first page and cut the skills section which included experience gained as a university student. This strategy links my experience to released open source projects which prospective employers can review.

I also chose to include two sections which list talks I have given on open source technology, as well as my experience teaching and organizing workshops and user groups. This serves to augment my technical experience and demonstrate my level of commitment to the field and to acting as an ambassador for open source culture in the Chicago tech community.

The changes that she suggested present a picture of me as a flexible and experienced developer who adapts quickly to the specifications of projects and can move easily throughout the various levels of the stack to implement and enhance necessary functionality.

Overall, I found that the workshop provided me with valuable feedback not only about the way that I present myself on paper, but also about my level of experience and strategies to use when discussing it. Learning to present knowledge in a format which is easily recognizable to others is not only a valuable skill, it also allows me to mentally frame my experience in ways that help to create an comprehensive picture of the developer I am, and the places I plan to go in my career.

Meg Ford is a open source developer. She recently completed her MS in Computer Science and is currently seeking a permanent software development position. You can view her updated CV here or her Linkedin profile.

For more information on the resume writing workshop, see our recent Q&A with Leslie Hawthorn on why women can, and should, write a better resume.

Register now for the Womens Resume Writing Workshop at LinuxCon Europe in Dusseldorf, on Wednesday, Oct. 15, 2014.

Ericsson Quits Modem Business, Cuts 1,000 Jobs

The world’s biggest mobile network equipment maker will shutter its loss-making unit, in the process handing pink slips to about 1,000 employees.

FOSS Around the World: Latin America

Too often coverage of free/open source software news and commentary tends to focus on either developments and activities in North America or in Europe. While much of the news is made on these two continents, there’s a wider world out there where folks are doing some substantial things, and promoting FOSS in their own way in their own areas.

Periodically, we at FOSS Force will be looking at areas of the world which have been either overlooked or neglected in digital news coverage. Today we’ll start south of the U.S. border with Latin America — Mexico, along with Central and South America, for those of you keeping track on maps at home.

Read more at FOSS Force.