Older blog entries for shlomif (starting at number 720)

Freecell Solver 3.26.0 was Released

Freecell Solver version 3.26.0, has been released. It is available in the form of a source archive, from the download page. Freecell Solver is an open source library and some command line applications, for automatically solving several variants of card Solitaire / Patience games, including Freecell.

This release features some fixes for crashes on malformed input, as reported by the Mayhem team to the Debian bug tracker (thanks!), fixes for newer versions of the GCC compiler, CMake and Games::Solitaire::Verify, and some other changes that are mentioned in the NEWS file.

Enjoy!

Syndicated 2014-05-19 08:17:00 from shlomif

Game Recommendation: “Untrusted: a User JavaScript Adventure Game”

If you’re a software developer, you should check out the game “Untrusted: a user JavaScript adventure game” which someone on ##programming referred me to and which I became fond of. It is a game that involves writing some JavaScript code in certain designated places in order to make progress.

On a different note, I found the Jamendo album Nanofly by StrangeZero to be very nice and you should also check it out.

Syndicated 2014-04-21 09:47:40 from shlomif

Google Announced It Will Discontinue Its Web Search, Gmail And Google Docs Services

1 April, 2014, Tel Aviv, Israel: Google announced today that following its popular decision to discontinue not-so-popular services such as Google Reader, it is going to discontinue other services such as Google Web Search, Gmail, and Google Docs.

“These services have been suffering from declining use and popularity”, a Google spokesman said, “as a result, Google decided to discontinue them in order to remain profitable.”

Google Web Search is disabled: “Not your lucky day”
The New Google Web Search front page.

After discontinuing these services, Google will focus on more profitable ventures such as version 9 of V8, its open-source JavaScript engine (= "v8 v9"), and its mobile operating system, Mandi the Womanoid. It is also going to provide its world-famous customer service as a service to other companies (“Google Customer Service as a Service” or “GCSaaS” for short).

The same Google spokesman also noted that Google is considering to discontinue Google AdSense and AdWords, because they too are proving to undermine its profitability.

Copyright and Licence

This document is Copyright by Shlomi Fish, 2014, and is available under the terms of the Creative Commons Attribution-ShareAlike License 3.0 Unported (or at your option any later version).

For securing additional rights, please contact Shlomi Fish and see the explicit requirements that are being spelt from abiding by that licence.

The homepage screenshot was adapted from the Google homepage, with the sources available.



comment count unavailable comments

Syndicated 2014-04-01 07:50:07 from shlomif

The Free Software Foundation (FSF) Announces New Versions of the GPL

1 April, 2014, Tel Aviv, Israel: “FOSS developers don’t have enough choice when it comes to licensing.” says the Free Software Foundation (FSF). Thus, in order to contribute to the noble cause of licence proliferation, it announced new versions of the GNU General Public License (GPL).

The FSF announced the GPL version 4 (GPLv4), GPL version 5 (GPLv5), GPL version 6 (GPLv6), as well as the GPLv7, the GPLv8, the GPLv9 and the GPLv10 — all with their LGPL (Lesser GPL), AGPL (Affero GPL), and LAGPL (Lesser Affero GPL) variants, and all mutually incompatible with one another and with the GPLv2 and the GPLv3 (which are in turn now deprecated).

GPL v3 is out! Now it's GPLv4, GPLv5, etc.
The New GPL logo now that GPLv3 was deprecated.

In addition, by popular demand, the FSF introduced some often requested variants of the GPL: Strangely-enticing GPL (SEGPL), Diamond Encrusted GPL (DEGPL), Zebra Flavoured GPL (ZFGPL), Objective GPL, GPL++, GPL Enterprise Edition (GPLEE), Industrial Strength GPL (ISGPL), GPL for Dummies (GPL4D), Unusable GPL (UGPL), GNU Passive Aggressive Public Licence (GPAPL), Proprietary GPL (PGPL), Non-Free GPL (NFGPL), and I Can't Believe It's Not The GPL (ICBINTGPL).

The Free Software Foundation is also going to introduce one GPL licence each day in an effort known “Daily GPL”, where each daily GPL breaks compatibility with all the previous daily GPLs. As an FSF spokesman said “We hope that soon there will be more versions of the GPL (“GPLs”? Hmmm…) than GPL-licenced software”.

The GPLs’ proliferation has met with some positive responses from organisations who need to deal with them. The administrators of Freecode, a releases announcements and cataloguing site for UNIX software, noted: “This initiative is threatening to make the database table holding the possible options for software licences larger than all other tables. We’re contemplating to just consolidate all these licences under one option of ‘Under one or more of the FSF so-called-‘GPL’ licences’.”.

In the meanwhile Linus Torvalds had this to comment: “I always was a big fan of version 2 of the GPL, but the new FSF licence The Positively-Awesome Make-Yourself-At-Home Fine-Grained-Control World-Domination-At-A-Snail’s-Pace GNU General Public Licence (GPL) from 2014-04-01-10:35:49 up-to-and-excluding 0123-04-01-01:55:09 seems like such a sexy licence, and I’m considering adopting it (after I implement some custom changes to make it more to my liking.). Good thing it didn’t take the FSF too long to come with a half-decent alternative to the GPLv2.”.

Copyright and Licence

This document is Copyright by Shlomi Fish, 2014, and is available under the terms of the Creative Commons Attribution-ShareAlike License 3.0 Unported (or at your option any later version).

For securing additional rights, please contact Shlomi Fish and see the explicit requirements that are being spelt from abiding by that licence.

The Logo was created using Inkscape based on the SVG in the GPLv3_Logo in the English wikipedia (which is in the public domain but may contain trademarks), and modified using Inkscape by making use of “Mail Ray Stuff” font by Ray Larabie (found on dafont.com), which isn't a libre font, but its licensing terms seemed usable and acceptable for this purposes (and it is available for some kinds of commercial use). Here are the sources.



comment count unavailable comments

Syndicated 2014-04-01 07:45:04 from shlomif

Tech Tip: add a notification (or any other command) after a command-line task has ended


I discovered that one can add a notification after a command you've already
started running has ended on a UNIX system by suspending the command
using “Ctrl + Z” and then typing something like
“fg ; n --msg 'Command finished'” (where “n” is the command I use for
notifications). “fg” brings a job to the foreground, and for more information
about it see
its wikipedia
entry
and the Unix Background Jobs entry on thegeekstuff.com.



Licence




You can reuse this entry under
the Creative Commons
Attribution 3.0 Unported
licence, or at your option any later version.
See the
instructions
of how to comply with it.

Syndicated 2014-03-30 15:33:49 from shlomif

Tech Tip: Resetting the GLib/Gtk+ Default Apps on Linux (e.g: the Default Browser)

In this tip, I would like to describe how to reset the default apps, and especially the default browser, for GLib and GTK+. These are used by desktops like GNOME and XFCE, and by GTK+ applications such as HexChat or claws-mail. My problem originally was that I accidentally pressed the "Yes" button when Firefox Nightly (installed under a prefix under /opt) asked me whether I should set it as the default browser, which caused HexChat and Claws-Mail to open links using it by default.

Anyway, to resolve this problem do this:

  1. Go to ~/.local/share/applications.

  2. Backup this directory somewhere safe.

  3. The mimeapps.list file contains the reference to use the offending apps under the *.desktop files there which you can search for the reference to the apps.

  4. Remove these line or their portions from mimeapps.list.

Now you may need to restart the desktop apps or the desktop environment (not sure).

Hope it helps.

Here’s how I found it: after some false leads of either trying to recursively search my home directory for occurrences of /opt/firefox and reading the source code of HexChat, GLib and gtk+ to see where this happens (there were too many levels of indirection there), I ended up doing “strace -f -o hexchat.strace hexchat” and inspecting the strace file for hints.

Licence

You can reuse this entry under the Creative Commons Attribution 3.0 Unported licence, or at your option any later version. See the instructions of how to comply with it.

Syndicated 2014-03-08 11:31:14 from shlomif

The Lost Souls of Freenode

I originally wanted to written a more prose-like blog post about the topic of “The Lost Souls of Freenode”, echoing some of my frustrations from trying to help people on Freenode channels, especially #perl and ##programming and I started from keeping a list of bullets and sub-bullets and decided to keep it this way out of being lazy. Maybe it can also be considered the blog equivalent of some wikiHow pages.

After I gave a link to the bullets to someone I met on Freenode, he told me he hasn't found any of what he read here surprising from his experience on IRC and as a tutor and T.A. (= Teacher Assistant) in an American college.

  • “Many Lost Souls” on Freenode's #perl - IM conversation.

  • Quote the conversation about “First rule of #perl channels” (meaning that Freenode’s #perl is our first line of defence).

  • People having problems getting indentation right.

  • People who /msg me after asking.

    • Either they think that's the way to answer.
    • Or they think that I cannot help them because there's another conversation.
    • They're usually not willing or cannot afford to pay.
    • Someone who thought that paying me 50 USD / hour for private help was too high.
  • * People who want us to write their code for them.

  • “Help me with a script I found.”

    • Often badly written.

  • “Help me with using a program / my operating system / etc.”

    • Not even related to coding.

    • “Are you using version control?” “No, what's that?”
    • Automated tests?
    • A debugger?
  • Old versions of perls.
    • Homework/scholastic constraints.

    • “We didn't study it yet”

    • “No external modules / CPAN”

    • “Not allowed to any built-in language data structures, including not arrays.”

      • Mandatory course.

      • Graded 0 once because was programmed on Python-2.7.x and tested on Python-3.3.x (on Windows).

  • One who didn't know what files are nor did file I/O.

    - Ruby

    - private conversation with someone else who didn't know what files are.

Syndicated 2014-02-25 14:02:09 from shlomif

Freecell Solver 3.24.0 Release: Mourning Adrian Ettlinger

Freecell Solver version 3.24.0, has been released. Freecell Solver 3.24.0 is available in the form of a source archive, from the download page. Freecell Solver is an open source framework (library and some command line applications), for automatically solving several variants of card Solitaire / Patience games, including Freecell.

This release is dedicated to the memory of Adrian Ettlinger who passed away on 23 October 2013, who was a good Internet friend of the primary maintainer of Freecell Solver (= Shlomi Fish), and who contributed a great deal to Freecell Solver and to Freecell research and programming in general (among other major life achievements, and contributions to man kind). You can read an obituary of Mr. Ettlinger by Shlomi Fish as it was posted to the Freecell Solver Discussions mailing list, and also read an an interview that Fish conducted with him back in 2003.

The new video-editing preset was named in honor of Ettlinger’s previous work in pioneering non-linear video editing back when he worked as an Electrical Engineer (and later as a software developer) for CBS corporation.


In any case, the main highlights of this release are:

  1. New Feature: the -l video-editing (or -l ve for short) flare-based preset that tends to yield shorter solutions on average. See a post with some performance analysis.

  2. A bug was fixed when providing input without a trailing newline character (“\n”). This was reported against the online JavaScript version was Olaf and was fixed globally. Thanks, Olaf!

  3. The distribution now contains the sources for the Split FCC (= Fully Connected Component) Solver which was an unssuccessful attempt to solve Windows Freecell deal No. 384,243 with two freecells. It may prove of general utility in the future, though.

Hope you enjoy this release and we extend our sadness to the other family members and friends of the late Mr. Ettlinger.

Syndicated 2014-02-21 17:12:00 from shlomif

Tech Tip: Empty tag in XHTML served as text/html

If you serve XHTML (= HTML written using XML grammar and conventions) as Content-Type: text/html, you may be tempted to write an empty <div> tag as a standalone XML tag with a trailing slash using <div id="my_anchor" />. Don’t do that, and instead write a pair of opening and closing tags, e.g: <div id="my_anchor"></div>.

Using the first form confused both Firefox (24.2.x in my case) and Google Chromium (whatever shipped with Mageia at the time), and made them misrender my page, despite the fact that it validated as valid XHTML. Perhaps I should have considered putting the id=".." inside a meaningful sub-section of the document, but I implemented something for skipping a section navigation menu.

Syndicated 2014-01-14 14:25:58 from shlomif

Tech Tip: Mitigating “git clone”’s inability to be resumed using rsync

Happy new civil year, everyone. As you may know Git is a distributed version control system, but its often time-consuming (if the repository’s history is large) “git clone” operation cannot be resumed, which is a problem with bad Internet connections. There was a service that did “git clone” and then allowed people to download using HTTPS Called “Git bundler” but it has been down for sometime now. However, I found a different solution to the problem.

What can be done is use ssh to log in to a remote host, where the “git clone” is performed (preferably, but not absolutely necessarily, when running on top of a session of tmux, GNU Screen or similar). After that, you can use rsync over ssh to download the .git directory to the local workstation (I like to use the invocation rsync -a --progress -v --inplace for that).

Following that all you have to do is run git clone to a different directory to the one where you put the .git and set “git remote” appropriately.

Hope that helps, and the same can be done with other distributed version control systems such as Mercurial, or Bzr.

Syndicated 2014-01-02 12:43:58 from shlomif

711 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!