Two days ago the ACM published a press release on algorithmic bias. Included in there is a PDF listing 7 principles for developers and organizations to consider when developing their algorithms. Computing automates many things and discrimination is unfortunately one of them.
Facebook has had a question come up with their ethnic affinity feature for ads. NOTE: I am not saying Facebook is engaging in discrimination with their ads. I haven't done any further research into this particular story to determine how the ethnic affinity actually works. I am merely posting it as an example of a question that has come up about an algorithm that a prominent company uses. If interested, please do additional research before making any judgments.
I don't know how much impact the ACM's statement will have on the developer community. But I do salute them for at least publishing this out there for awareness.
Saturday, January 14, 2017
Friday, January 13, 2017
Sorting Algorithms
I just want to call out a nice site that has a visual representation of various sorting algorithms.
http://www.sorting-algorithms.com
They have eight different sorts offered, with different data sizes, and with data in various starting configurations (random, neatly sorted, reversed, few unique). Having the different input configurations is really nice as it will visually show you the strengths and weaknesses of the various sorts. It also includes a short discussion of the algorithms and lists their properies.
http://www.sorting-algorithms.com
They have eight different sorts offered, with different data sizes, and with data in various starting configurations (random, neatly sorted, reversed, few unique). Having the different input configurations is really nice as it will visually show you the strengths and weaknesses of the various sorts. It also includes a short discussion of the algorithms and lists their properies.
Wednesday, January 11, 2017
Laptop Hibernation
I enabled hibernation on my laptop where I am using LUKS + LVM on Fedora 25.
And the nice thing, my swap is on the encrypted volume so my save image is therefore encrypted as well.
- Edit /etc/default/grub to add resume=swapdevice to GRUB_CMDLINE_LINUX (my device was /dev/fedora/swap since "fedora" is my volume group and "swap" is my logical volume for swap).
- sudo dracut -f
And the nice thing, my swap is on the encrypted volume so my save image is therefore encrypted as well.
Tuesday, January 10, 2017
LUKS & SSD
I tried out Fedora on my laptop. The installation went rather smooth. My laptop has a SSD that I used as my primary drive and I installed using it alone, using LUKS and LVM.
Since it is an SSD, I needed to configure things to allow discards so I could run a trim command against it. While I have done this before, I had not on Fedora. So I did some searching and came across a Q&A about the proper way of setting up fstrim on Fedora 23. I did not run into the same problems that person ran into that required extra steps so I wanted to share what worked for me.
I had to do the following:
I did then run the commands (as root) they had to enable the timer and service:
systemctl enable fstrim.timer
systemctl start fstrim.service
With that I had things working just fine. The timer worked as expected.
Since it is an SSD, I needed to configure things to allow discards so I could run a trim command against it. While I have done this before, I had not on Fedora. So I did some searching and came across a Q&A about the proper way of setting up fstrim on Fedora 23. I did not run into the same problems that person ran into that required extra steps so I wanted to share what worked for me.
I had to do the following:
- Change /etc/lvm/lvm.conf to set issue_discards=1
- Add 'discard' to the line in /etc/crypttab for my volume as the 4th field
- Run 'dracut -f' to create a new initrd
I did then run the commands (as root) they had to enable the timer and service:
systemctl enable fstrim.timer
systemctl start fstrim.service
With that I had things working just fine. The timer worked as expected.
Sunday, February 1, 2015
Super Bowl, Copyright, and Trademark
Ars Technica has a wonderful article about Super Bowl legal trademark and copyright myths. I would encourage reading it as it is an example of how large companies (NFL in this case) try to use their size to prevent legal use of their products.
Saturday, December 6, 2014
GNOME Orca on Slackware 14.1
On Slackware 14.1 I wanted to get Orca up and running without a full GNOME install just like I had in the past with 13.37. With the GNOME Slackbuilds project no longer active I took a different route.
From Slackbuilds.org I installed the following packages because I am going to be using espeak as my speech synthesizer:
I got everything else from the dropline GNOME project. I am only installing selected packages from their 3.10 packages just to get Orca running, but you could simply use their installer to install the full GNOME desktop for an overall better accessibility experience on the desktop.
Download and install/upgrade the following packages from their 3.10 site:
How you rebuild speech-dispatcher is up to you. I was playing around with some alternate instructions I found before I just used the dropline packages. Since I still had Aiyumi's slackbuilds on my system I modified the speech-dispatcher slackbuild to install 0.8.1 and build it that way. Orca 3.10 requires speech-dispatcher 0.8 or greater which is why I had to change the version.
On a final note, Firefox on Slackware is built without accessibility support enabled. You either need to rebuild after modifying Patrick's slackbuild to enable it, or you just need to download it directly. I do the latter, but I us Ruario's latest-firefox script in order to repackage it as a Slackware package.
From Slackbuilds.org I installed the following packages because I am going to be using espeak as my speech synthesizer:
I got everything else from the dropline GNOME project. I am only installing selected packages from their 3.10 packages just to get Orca running, but you could simply use their installer to install the full GNOME desktop for an overall better accessibility experience on the desktop.
Download and install/upgrade the following packages from their 3.10 site:
- at-spi2-atk-2.10.2-x86_64-1dl (use upgradepkg)
- at-spi2-core-2.10.2-x86_64-1dl (use upgradepkg)
- atk-2.10.0-x86_64-1dl (use upgradepkg)
- dotconf-1.3-x86_64-1dl
- glib2-2.38.2-x86_64-1dl (use upgradepkg)
- gobject-introspection-1.38.0-x86_64-1dl (use upgradepkg)
- orca-3.10.2-x86_64-1dl
- py3gobject-3.10.2-x86_64-1dl
- pyatspi-2.10.0-x86_64-1dl
- pygobject3-3.10.2-x86_64-1dl (use upgradepkg)
- python3-3.3.2-x86_64-1dl
How you rebuild speech-dispatcher is up to you. I was playing around with some alternate instructions I found before I just used the dropline packages. Since I still had Aiyumi's slackbuilds on my system I modified the speech-dispatcher slackbuild to install 0.8.1 and build it that way. Orca 3.10 requires speech-dispatcher 0.8 or greater which is why I had to change the version.
On a final note, Firefox on Slackware is built without accessibility support enabled. You either need to rebuild after modifying Patrick's slackbuild to enable it, or you just need to download it directly. I do the latter, but I us Ruario's latest-firefox script in order to repackage it as a Slackware package.
Thursday, September 5, 2013
Slackware 14 & Epson XP-410
We replaced our old Multifunction Printer (MFP). I looked for an affordable replacement compatible with Linux (specifically Slackware), OS X, and Windows. I chose the Epson XP-410 printer. Epson provides Linux drivers on their website, research indicated it works perfectly with Linux, and I found it on sale locally.
The OS X and Windows installs were done via the Epson provided software. So what about Slackware?
Slackware 14 does not ship with a PPD file for the XP-410. I went to SlackBuilds.org and found the epson-inkjet-printer-escpr package, which corresponds to the driver I saw on the Epson site. However, the source URL provided does not exist. So I downloaded the epson-inkjet-printer-escpr-1.2.3-1lsb3.2.tar.gz source from Epson.
I used the CUPS localhost:631 web interface for setup. I set it up as a AppSocket/JetDirect network printer as it is not directly connected to my machine. The XP-410 PPD from the installed package showed up as expected. I added the printer and the test page was successful.
I use SimpleScan for scanning and the XP-410 did not show up as an available scanner unless I disable my firewall. I did some poking around, expecting to have to add a firewall rule, but found that adding 'net <printer ip address>' to /etc/sane.d/epson2.conf was the only thing necessary to get it to work.
Overall, setup was pretty simple within the context of Slackware. Other distributions may ship the PPD's by default. I tried the openSUSE 12.3 Live CD. The package is available in their repository, but does not come with the XP-410 driver. Epson indicates the XP-410 is "new" so I assume openSUSE 12.3 shipped before the driver was released (I failed to note the installed version).
I am pleased with the purchase as far as OS compatibility and setup goes. I have not used it enough to comment on it as a MFP in general, but initial use has been satisfactory.
On a tangent, for those reading this newer to Slackware and/or Slackbuilds.org, I use Sbopkg to manage my SlackBuilds.org packages. As mentioned, I downloaded the source from Epson and placed it in /var/cache/sbopkg. In Sbopkg, I edited the Slackbuild and Info files for the package to use the downloaded source. In the Slackbulid script, I changed the version from 1.2.2 to 1.2.3. In the Info file, I made the same version change everywhere I saw it, and I changed the MD5SUM to match the downloaded source MD5SUM. The MD5SUM is not required, but it eliminates a warning during the build and install process. After that, the build and install worked fine.
The OS X and Windows installs were done via the Epson provided software. So what about Slackware?
Slackware 14 does not ship with a PPD file for the XP-410. I went to SlackBuilds.org and found the epson-inkjet-printer-escpr package, which corresponds to the driver I saw on the Epson site. However, the source URL provided does not exist. So I downloaded the epson-inkjet-printer-escpr-1.2.3-1lsb3.2.tar.gz source from Epson.
I used the CUPS localhost:631 web interface for setup. I set it up as a AppSocket/JetDirect network printer as it is not directly connected to my machine. The XP-410 PPD from the installed package showed up as expected. I added the printer and the test page was successful.
I use SimpleScan for scanning and the XP-410 did not show up as an available scanner unless I disable my firewall. I did some poking around, expecting to have to add a firewall rule, but found that adding 'net <printer ip address>' to /etc/sane.d/epson2.conf was the only thing necessary to get it to work.
Overall, setup was pretty simple within the context of Slackware. Other distributions may ship the PPD's by default. I tried the openSUSE 12.3 Live CD. The package is available in their repository, but does not come with the XP-410 driver. Epson indicates the XP-410 is "new" so I assume openSUSE 12.3 shipped before the driver was released (I failed to note the installed version).
I am pleased with the purchase as far as OS compatibility and setup goes. I have not used it enough to comment on it as a MFP in general, but initial use has been satisfactory.
On a tangent, for those reading this newer to Slackware and/or Slackbuilds.org, I use Sbopkg to manage my SlackBuilds.org packages. As mentioned, I downloaded the source from Epson and placed it in /var/cache/sbopkg. In Sbopkg, I edited the Slackbuild and Info files for the package to use the downloaded source. In the Slackbulid script, I changed the version from 1.2.2 to 1.2.3. In the Info file, I made the same version change everywhere I saw it, and I changed the MD5SUM to match the downloaded source MD5SUM. The MD5SUM is not required, but it eliminates a warning during the build and install process. After that, the build and install worked fine.
Subscribe to:
Posts (Atom)