Older blog entries for shlomif (starting at number 712)

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

Tech Tip: Combining/Merging Bookmarks From a Different Firefox Profile

Happy New Civil Year! Let’s suppose you collected some bookmarks in a different Firefox profile (possibly on a different computer or system, or in a different profile), and wish to place them somewhere under your current or main profile’s bookmark tree - how can it be done? I had a need for that and in this entry, I describe a solution that worked for me.

  1. First of all export your bookmarks from the source profile to a JSON file (“Bookmarks → Show All Bookmarks → Import and Backup → Backup…”)

  2. Create a new Firefox profile in the machine of the target profile. (see this page for more information about Firefox profiles.).

  3. Import the bookmarks from the JSON file to it (while overriding the default bookmarks).

  4. Copy all the folders you want to merge to the system clipboard (Ctrl+C or equivalent).

  5. Paste them into the default profile’s bookmark manager.

Then all you need to do is sort them. Cheers!

Syndicated 2013-12-31 18:14:49 from shlomif

The GNU Project Will Integrate GNU Guile into GNU coreutils

Tel Aviv, Israel: the GNU (= “Guile N' UNIX”) project announced today that following the popular decision to integrate GNU Guile (= an implementation of the Scheme programming language) into GNU Make, it is going to integrate GNU Guile into the various tools inside GNU coreutils. So for example, GNU cat will have a "-g" flag that will allow embedding Scheme expressions, GNU echo will gain a similar flag, and GNU true and GNU false will allow evaluating Scheme expressions for truth or falsehood. It is not yet clear what functionality GNU head and GNU tail will gain by the integration.

O’Reilly Media announced that it will publish a new edition of its series of books, which includes Mastering cat and Mastering echo to cover the additional functionality provided by GNU Guile, and we will give an overview of the additional functionality in the usergroups of the cat mongers, the echo-chamberists, and the (GNU) true believers.

“If it’s not bloat, it’s not us.”, said Richard Stallman, the colourful head of the GNU project, and started to sing the Free Software song. Linus Torvalds was not available for comments about the proposal to integrate GNU Guile into the Linux kernel.

Syndicated 2013-11-13 12:41:50 from shlomif

E-mail Netiquette Resources, New Software, and BertycoX’s Music

Here are the recent updates for Shlomi Fish’s Homepage.

  1. There are some new factoids in the factoids pages, and many of them now have a Hebrew translation:

    • Chuck Norris does not keep any numbers on his mobile phone’s address book. Instead, he memorised the entire phone directory.

    • For all you know, you may not exist, and Chuck Norris convinced you that you do.

  2. There’s a new section with some articles about E-mail netiquette.

  3. The Hebrew version of “The Case for Drug Legalisation” is now at its third version, and was converted to DocBook 5/XML.

  4. There are new software pages for sky - a convient uploading interface, and Maniac Downloader, which is a download accelerator.

  5. There are new pages with Links against Adobe Flash and Links against TIOBE - The Test Index of Programming Languages’ Popularity.

  6. I have placed the music of BertycoX (originally from Jamendo) online.

  7. There’s a new page about “In the Event of My Death”.

  8. I’ve placed a very old snapshot of my home site (from 1998) online in a kind of Nostalgia.

Syndicated 2013-11-11 09:59:20 from shlomif

Tech Tip: How to Copy a Remote File on rsync.net

rsync.net is a good service (and a not too pricey one) for remote storage of data (for backups/etc.) based on open protocols and open source applications. One thing that bugged me there however, was that I couldn't find a way to copy a remote file to a different name, because the SFTP client does not support a copy operation, and because I could not get to a login shell by sshing my rsync.net account. Apparently, it's doable and not very hard.

What you need to do is type ssh my_account@somewhere.rsync.net cp [source filename] [destination filename] and it will run the remote UNIX "cp" command to copy the file. You can access some other remote UNIX commands like that such as "ls".

Hope it helps.

Syndicated 2013-10-26 12:14:54 from shlomif

Freecell Solver 3.22.0 was Released: Bug Fixes

Freecell Solver version 3.22.0, has been released. Freecell Solver 3.22.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.

The highlights of this version are some bug fixes: the Win32 NSIS (= Nullsoft Installer) package should now build, run and process the presets (e.g: -l as properly). Furthermore, there's a bug fix to the command line flags processing, where flags whose prefixes are known flags were erroneously recognised as such (e.g: --resetjunk vs. --reset).

On the new features side, the JavaScript-based solver now accepts arbitrary fc-solve command line options, so it can be used to solve any of the supported variants of Solitaire, as well as support most other fc-solve features.


Syndicated 2013-10-07 17:29:00 from shlomif

Yom Kippur 2013 Summary

This Yom Kippur, I again went over my blogs from the last year, and tried to draw some conclusions. (It's already Sukkoth and Talk Like a Pirate Day, so I decided to blog about this already.). I again noticed that I didn't blog a lot most of the time, but I guess no real disaster occured due to that.

This year I had a lengthy hypomania, which was followed by a period of working a lot on code, and then a period of tiredness and feeling of lethargy (though I was almost always constantly doing something), and now I've started working as a software developer, which keeps me busy. The Hypomania made me realise several things that I have done or thought wrong, so it was not too bad.

This year I finished some books, watched some films, added a lot of content to my home site, and made some new friends online and offline, so I can be proud of myself.

There were a few times, when I got into some trouble or made people angry, especially during the hypomania, but I hope I have drawn the right conclusions.

Shanah Tovah, Gmar Hatimah Tovah, Happy Sukkoth, and Happy Talk Like a Pirate Day to everybody.

Syndicated 2013-09-19 11:45:42 from shlomif

Tech Tip: Tmux: Disabling the Time Display in the Status

tmux is a usable and open source terminal multiplexer (that allows one to run several programs in the same terminal, detach them, split them into windows and viewports, etc.) which I've been happily using after switching to it from GNU screen. Some weeks ago, I noticed that if I keep tmux open in a konsole tab, then eventually that tab got highlighted as modified, even if there was no activity in the tab. I realised the problem had to do with the fact that tmux displays the current time by default.

In order to fix it, you can use a line like the following in your ~/.tmux.conf file:

set -g status-right '#H'

-g applies the assignment globally, and '#H' displays the hostname (and not the time or whatever else is there by default).

While searching for an answer, I ran into the powerline project which provides much more functionality, seems like an overkill for me, but may work for you.

Shanah Tovah to everyone!

Syndicated 2013-09-04 11:06:54 from shlomif

Tech Tip: Disabling Audio or Video in mplayer and VLC

In order to completely disable video in VLC, from the command line, use the --novideo command line flag - this way only the Audio will be heard. To do the same in mplayer, use the -novideo flag. You can do the same for audio using --noaudio and -noaudio respectively.

A different propsoed solution is using -vo none in mplayer or --vo none in VLC, but this causes the video to still be decoded (just not presented) - at least in VLC.

Cheers! You can reuse this entry under the Creative Commons Attribution 3.0 Unported licence (see how to comply with it).

Syndicated 2013-07-30 09:00:57 from shlomif

703 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!