16.9.12

JavaScript rules!

There's a question I often ask myself: What's missing in Linux? In F/OSS world?
I have a list of answers for this question but there's one answer that might surprise you: We miss a general-purpose-easy-to-learn-easy-to-use programming language.
I think this answer might come as surprise to most people while considering the abundance of programming languages around us like Perl, Python, Ruby, PHP and others but I always felt there was something else missing. Looking back at history I would like to take a controversial example for this topic from the commercial world: The VB6 example. Sure it was a horrible horrible language but people actually used it for their every-day use. I used to see it all around - Windows people wrote utilities with it, wrote prototypes and in some cases even entire projects with it (god forbid!). People were happy with it and that's what really matters.

In the distant past I loved PHP so much that I used to have this "silly" idea that PHP should be used everywhere - on server side , on client side (because I used to think JS sucks), for shell scripts and even for GUI applications but my colleagues and friends used to dismiss this idea by saying PHP is good for server side scripting because it was designed for it and that's where it should stay. I guess they were right but the idea that one scripting language can and should be able to do everything was stuck in my mind. I was a good PHP developer but I never really got to know JS as well (and that's too bad) but since than a lot has happened.

JavaScript has got a new life and that's already old news by now! It got to be 1st place on some Language Popularity Ranking Lists and everybody noticed it - MS with their HTML5+JS applications in Windows 8 , Gnome (v3) having their new and shiny Gnome Shell written entirely in JS, QT with their QT Quick, Mozilla used it to extend Firefox in the past and now I have a feeling they will build a new OS around it.

A few months ago I decided that I had my fair share of living under a rock and that I should check out JS seriously. After looking for recommendations I bought "Javascript the good parts" and started using JS for a little web project I'm working on in the background. I decided to use the "full javascript stack". Here are some projects I found very useful and interesting in the past few months:

  • node.js (js in server side, check out npm - the nice package manager)
  • express (js framework to write server side applications)
  • mongodb (schema-less database, JS-like syntax for queries and JSON for results, very cool)
  • backbone.js (popular framework for client side)
  • JQuery (who doesn't know this one?)
  • Twitter Bootstrap (related to CSS but awesome for lazy developers who still like their poorly designed web pages to look good)
I don't know if it's the one language to rule them all (mostly because I was wrong so many times before :-P) but I can tell you one thing: The developers community is big enough, The projects are alive. Lots of ready-to-use components with permissive licenses, lots of support (in stack overflow). bottom line: lots of fun.

24.12.11

Changing text direction and GNOME

 So you are writing RTL text (Hebrew, Arabic, Farsi ..) and sometimes you tend to mix some English words in it. In Windows and QT (after enabling in qtconfig) you have to press both Ctrl and Shift keys (both left or right) if you want to change direction for a single line/paragraph/selected text.

In GNOME you have the fabulous Auto Detection - the direction of your paragraph is set by the first character having strong direction. That's cool and works most of the time but what are you supposed to do when it doesn't work. Have no fear - the amazing RLM and LRM characters come to the rescue. RLM and LRM possess superpowers such as strong direction, invisibility and the ability to claim you're following the standards. All you have to do to use these is simply hit the Home key then Right-click to get the context menu then select "Insert unicode control character" (or simply change your national keyboard layout standard to include RLM/LRM) then you have to pray to Alohim/Allah that you will not change your mind later on and be forced to look for it and try to delete it.

I say we can make editing bidi-text easier in GNOME by creating several text actions bound to keyboard shortcuts to handle it. Here are the few actions I had in mind:

  1. A shortcut to change current line/selected text direction, just like windows Ctrl+shift does but insert RLM/LRM when needed.
  2. A shortcut to delete all control characters in the selected text - To be used when you made a big mess in your text and you want to fix it manually all over again.
  3. A shortcut to encapsulate selected text within RLE/LRE and PDF (Pop Directional formatting).
  4. A shortcut to encapsulate selected text whithin RLO/LRO and PDF.
This will probably have to be implemented by a patch to GNOME (GtkEntry and GtkTextView) adding some signals to preform the actions and binding them to some keyboard shortcuts. I don't think there's a special low-level API that will allow implementation of such actions. But I did look for such.

I found a very limited way in which GNOME's Input Method API can provide basic line direction switcher (No. 1 in the above list) and decided, for the sake of pure experiment to try implementing it. I think it's a ugly hack but it works well and better than nothing for now... I guess. It's not perfect at all: it works only for single lines, It might delete selected text (works great when no text is selected) and it will insert two edit actions into the undo buffer so to undo a switch you will have to hit Ctrl+z twice.

The keyboard shortcut I chose for it is Ctrl+Shift+0 or Ctrl+Shift+9 which resembles the location of RLM/LRM in the new Israeli keyboard standard. Using Ctrl+Shift alone (like in QT and Windows did) is no good because I fear it might be used for layout group selection in some layouts.

The Debian packaging and some of the code is base on the awesome Debian package for gtk-im-libthai so I was able to code and package it in a very short time, relativly... for a project with no real future.


So far I tried it only on Ubuntu 11.10+GNOME3+i368/amd64. Seems to work:

If you would like to try it, it's available in my Ubuntu PPA, package name: gtk3-im-rtl (not 'gtk-im-rtl' which is for GNOME2 and seems to be broken). currently compiled only for Ubuntu Oneiric 11.10 . You may also try to download the source and compile for other distros.
But don't you come crying to me if it broke your desktop.
The Input Method is supposed to become default after installation. If not, you'll have to set it by yourself (right click->select input method).

Happy Hackinukkah!!!
.. and merry christmas!


23.8.10

Quitting Ubuntu Hebrew Translators team

Seems that Ubuntu Hebrew Translation Administrators feel harshly about my membership in Ubuntu translators regarding my expressed opinion in a debate regarding gender in translation. In a private mail they "agreed" to renew my membership in Ubuntu Translators team "although I am a trouble maker" as they put it. Well, I didn't mean to become a trouble maker - I just wanted to talk about a technological solution to a certain problem.

I think this is no way to treat volunteers so I told YaronSh "Lech techapes et hachaverim shelcha" and quit the team. I will continue my activity in solving RTL bugs in Ubuntu.

Hebrew translation work is not fun for me anyway now that it sounds so bad.

3.5.10

It's feels good

It feels good to see a bug you fixed get mentioned in a review (original in Hebrew) on a big news site.

.... OTOH it doesn't feel so good when you see the one bug that slipped away get mentioned as well as the only thing stopping the Hebrew installation from being perfect.

Please vote for this bug by clicking "This bug affects me".
(I think it required a Launchpad account)

Maybe we'll manage to get it right for the 10.04.1 release.

29.4.10

Why desktop Linux still sucks - important to watch

I first encountered this video on Linmagazine(Hebrew):



Sometimes, we Linux enthusiasts lack the ability of self-observation. We live in our utopia thinking everything is OK and that soon everybody will use Linux on their desktops. Well, it's freakin 2010 and we're still waiting...

If we want the change to come we must keep these flaws in mind and try to resolve them one by one.

If you fix it they will come...

26.11.09

The kind of stuff that make a geek ROFLOL

What is it? Oh, it's the simple things in life like ... writing a multi-threaded quick-sort implementation in Google's new GO! programming language ....
Amazingly, it even works. Ahhh .. Oh well , had too much fun , time to sleep now.

good night.

1.7.09

Please! No politics on planet FOSS-IL!!!

If, like myself, you are tired of political posts on the FOSS-IL planet, copy the following banner and post it in your blog:

Graphics by Gimp, Tuxpaint, Culmus-fancy fonts, AP online lectures and .. Bibi :)

21.5.09

Ubuntu stability and UHR

I have been planning to port the Ubuntu Hebrew Remix remastering scripts to 9.04 for a long while now and I even started some related tasks but it seems to me more and more like this is not the right time. Ubuntu 9.04 is a shameful mess - with intel/nvidia, sound and other hardware devices having severe issues which, no doubt, will scare off new users and already made some Ubuntu users switch distributions.

Someone in Linux-IL mailing list said that Ubuntu just had bad timing(luck?) in releasing just before a few major software releases (XOrg1.6, OOo3.1, Pulsaudio(?) and new intel driver infrastructure).

I'll continue the porting effort (just to have easier job in October) and release the scripts with no ISO images. UHR will have to wait for 9.10 (hopefully 9.10 will be better). Users who need UHR for their grandmother/kids will have to manage with 8.04LTS for now.

A thought that comes to my mind: Maybe UHR should be based only on LTS releases. UHR doesn't seem to be a "big hit", but I received several thank-you notes which means it was useful to people other than me.

6.5.09

Why you probably won't see me on WINE

In Mark Shuttleworth's own words:
We need to make a success of our own platform on our own terms. If Linux is just another way to run Windows apps, we can't win.

link
/. link

I was trying to say similar(Hebrew-2004) things(Hebrew-2008) in the past but Shuttleworth did it better. Translation of my words to a user trying to run ICQ, Winamp and MSN Messenger on WINE:
.. You may not like the alternatives(The native Linux apps) but when you use Windows programs on Linux you use an alternative windows API to execute them and it's not only buggy and heavy on resources but eventually it will provide a really crappy user experience and you are expected to be "disappointed of Linux" real soon. I think you should consider trying the existing (Native) alternative applications in Linux. IMO you'll find them more usable than using WINE and sometimes even better than the Windows apps you were used to.


You can say the same thing about Mono but it might be an exception because currently both MS and Novel are behind it (until some s!@# will hit the fan.. I guess).

Anyway, here are two nice sites to add to your bookmark:
http://www.linuxalt.com/
http://www.osalt.com/

26.2.09

Sometimes the dog will bite: MS sued TomTom for using Linux

It seems that the war has begun - the same war that everybody said is happening only in my imagination. Microsoft sued TomTom over using the Linux kernel which implements, as MS claimed before(2007), some of MS's patents.

I really hate to be right this time.
Quoting Shahar's comment in my anti-mono post:
The "patent war" is fought by MS by making threats. MS is not, and will not be any time soon, be suing anyone. When MS start suing end users, you will know it is time to dump their stocks. Suing your potential customers is a sure sign of a dying company (see SCO, and that's not the only example).

Not being able to sue, all MS can do right now is threaten. Taking these threats seriously means giving in to MS's strategy. Rejecting free software for no reason other than some obscure future threat means doing what you claim they want you to do!
Shahar can be very coviencing and I respect his opinion. I even wrote another post saying that I might be wrong and maybe MS really did changed it's ways (but I was still very skeptical).

It seems that the patents in MS lawsuit might be over the FAT32 implementation in Linux.
FAT has existed for almost two decades, and the FS driver in Linux for quite some time as well. So it seems like MS waited for their FS to become a standard so they could sue. FAT is used everywhere today - digital cameras, flash memory. No company is safe.

Where are all those people now?
Those who told me that MS will never use the patent weapon?
... that registering software patents is just a strategic weapon?
... that Mono/.net is safe for use and implementation?

Well, guess what - you better reimplement your Mono apps.
Happy porting!

12.11.08

Installed Ubuntu 8.10, got sick of brown

I installed 8.10 last week and lost my theme settings (some packages mostly).
The installation went pretty well and so far I'm happy with it. Don't know why so many people are whining about it. Sure, Debian-stable is fine but Ubuntu gave my wife and my brother a great entrance into the Linux world.
I did get sick of the brown/Orange human theme thought, so I decided to modify it and this is how:
sudo apt-get install blubuntu-theme
sudo sh -c "for i in \`find /usr/share/icons/Human -type f -name '*.png'\`; do convert \$i -recolor '0 0 1 0 1 0 1 0 0' \$i ; done;"

To revert the icons back to brown/orange:
sudo apt-get install --reinstall human-icon-theme

I don't care that it's a butt-ugly hack. It works :)

Screenshot attached:

24.10.08

Moonlight debate gets hot on Debian mailing lists

I already wrote too much on this but if your following the issue it's worth to read the Debian-related follow-ups. As published this week on DPN, the debate on whether to accept Moonlight into the Linux world has reached the Debian mailing lists.
Seeing DDs thoughts and fears regarding this issue validates some my own thoughts.

have fun.

6.10.08

More thoughts about Mono

With the release of the version 2.0 of Mono I want to share with you my recent thoughts.
Right after my previous post here I had some chats with friends who claimed the following points (hope I didn't miss/forget anything):
  • We already have Microsoft propriety technologies integrated deeply in the Linux distributions - like SAMBA for example. It seems that in the past MS people helped SAMBA and they even made some attempts to pull the patents trick again and they lost because you just can't give me something and the sue me for using it. (I didn't check the facts on that).
  • My rants on the subject is exactly what fuels the MS FUD. They don't really want to sue. They just want people to be too scared of not using MS products.
  • In Israel, where I live, there is no law restricting reverse engineering (actually, there's a law permitting it). So, re-implementing .Net in Linux is legal... In Israel.
  • Microsoft spreads FUD even when you don't use their technology directly (for example, last year's claim of having 235 violations of their patents in the Linux kernel). So why bother with the potential FUD that could be spread after .Net is integrated in Linux distros, they'll do it anyway.
Well, in this post I just wanted to present the other side. The arguments are "kind of" logical but I still can't help smelling something fishy in the whole thing.

Mono 2.0 implements C# v3.0 which has some neat features like the LINQ, for example.
Well, I don't have any issues with C#. The language is standardized and legal for reimplementation. There's an interesting interview with it's creator in here.

Mono 2.0 also includes a debugger for the first time.
It's getting more and more usable and I have a feeling that it might take over the whole RAD development in Linux (if you can call it by this name) currently dominated (IMO) by the dynamic languages like Python, Ruby, PHP ... FPC/Lazarus? (*ducks*).

The thing is that I think Linux could use more good RAD tools and it seems to me like Mono is going to do it where the others have failed. I'm just saying that it will be a darn shame if we realize later that it's legally unusable in half of the world (US and others?).

I think that other people in the FOSS community started to feel the need for RAD tools and today you can see cool projects like Vala and Lazarus come to life/resurrected.

13.9.08

Why you probably don't want to get Mono/Moonlight

Previously on "FOSS Holly Wars":

Last month a big Linux/FOSS conference was held in Israel. You know, the usual stuff - some interesting sessions and geeky activities but this year was a little different. This year Microsoft was one of the sponsors (this is somewhat not surprising if you monitor recent MS activities).

Some Israeli community people made a big fuss about it and did their best to prevent this from taking place but eventually Microsoft not only had their logo printed on the official conference T-Shirts alongside the cute penguins, they also got session time to propagate their shiny new friendly face to the FOSS world. In this debate I took the side that agreed to allow MS have a word. I think it's important to at least listen before you judge something. But that's not want I wanted to talk about.

Amir Shevat of Microsoft spoke and demonstrated Microsoft's superior Silverlight technology and tried to convince the audience that the war between MS and FOSS is over and we should learn to work together. He claimed that Silverlight is cross platform and can be easily used on Linux (which turned out to be false). He tried to convince the audience that it's Free for use. I tried to get to the bottom of the use of the "Free" word again by asking Amir a simple question :
"Do you grantee that if I use Mono and the .Net implementation, I won't eventually be sued by Microsoft?". In a personal talk I asked him another question: "Is it redistributable?".

Attack of the Lawyers

The answer was "Let me check with the company lawyers". Later on, when Amir was confronted with the same question again, this time by the press(Hebrew), he replied "I'm a programmer, not a lawyer ...". Two weeks ago Amir had sent me the "lawyer's reply" presenting this link (AKA "The CNS" - Covenants Not to Sue Downstream Recipients). I promised him that I'll keep my blog readers up to date with whatever the answer is.

I think that in the F/OSS business each of us must be just a little "lawyerish" and be able at least to understand what the GPL3/GPL2/LGPL/BSD/CC means when we use and share code and content in our projects. That's why I think that reading this document can be done by someone like me (who is not a lawyer) and as you will see, reading it and noticing the important stuff is not a brain surgery.

So, Let's see what we have here ...

The user of Mono/Moonlight is allowed to be a "Downstream Recipient" who may use it, but ..
"An entity or individual is not a Downstream Recipient when such entity or individual resells, licenses, supplies, distributes or otherwise makes available to third parties the Moonlight Implementation."
Which means it's NOT RE-DISTRIBUTABLE!

Moreover, the CNS talks about "Downstream Recipients of Novell and its Subsidiaries".
And what if I'm not a Novel client?
What if I use Ubuntu, Redhat or Debian?

And what about this part in the CNS:
"Microsoft reserves the right to update (including discontinue) ... "
Microsoft can discontinue the CNS whenever they like to. So I'm asking - what does this CNS really worth? I guess not much because right now it's a good time for MS to collaborate with Linux and FOSS because they need every developer they can get to beat Adobe's Flash in their own game. But this might (and probably will) not be the case in the future.

Can this all be true? Is this the document that "allows" me to use Mono/Moonlight on Linux? because it sure doesn't sound like it. Did Amir mistakenly send me the wrong link?
(I'll go on with this post assuming it's not the wrong link, but you may correct me in the comments if you find other legal references and I'll do my best to update this post accordingly)

I wondered what Miguel de Icaza had to say about this and stumbled upon this link in which he says that he knows about these legal issues but at least implementing the VM is no danger and Sun is in the same threatening position as Microsoft. To this claim I can only say:
1. Sun never sponsored(2007!) a raging patent vendetta(2007!) against Linux in the past. (notice the links, this happened only a year ago).
2. Sun started releasing code licensed under the GPL3 (GPL3 carries with it an explicit patent grant). If they keep moving in this direction, the above MS-Sun comparison is truly void.

To conclude the way that I see all this: Microsoft picked a clever strategy in which they can make the omelet without breaking eggs. They get more developers on one hand (who are not lawyers and some don't understand the implications) and They still maintain full control and they WILL sue when their technology will beat the competing technologies (Flash) in popularity.

Practice what I preach


This information is very alarming considering the fact that Mono is already integrated and installed by default in Ubuntu, one of the major Linux distributions out there. But at least for now it should be easy to remove - only two application rely on it: Tomboy and F-Spot. Finding alternatives should be easy enough but we should act NOW to remove it from Ubuntu.

On the Personal level, as a Local(ized) Linux Distributor ([1], [2], [3]), I will remove Mono from the next version of Ubuntu Hebrew Remix and find alternatives for these applications.

17.8.08

What happens when you write in forums with no backup?

That's what happens when you do just that.
My advise to you: stick with Tapuz and whatsup.

BTW: I may not be able to reply in the following days - I'm in milueem.

16.8.08

Ubuntu Hebrew Remix 8.04.1-1 is available

As promised in the previous post, Ubuntu Hebrew Remix 8.04.1-1 (base on Ubuntu 8.04.1) is available for download from the usual place.

Changes that were made to the Origial Ubuntu 8.04.1:
  • LiveCD ISOLinux boot screen translated to Hebrew.
  • Created a "translated" usplash package.
    EDIT:
    Since Ubuntu-il forums got wiped out, I'll publish the links directly:
    Source Package
    x86 package
    x86-64 package
  • ISOLinux boot menu gives only two languages to choose from (F2 key): Hebrew and English. The English mode is still "Hebrew Enabled".
  • Gnome keyboard indicator appears by default.
  • Modified locales setup script to create he locales on liveCD boot
  • timezones package defaults to Jerusalem.
  • Installed the following packages:
    language-support-he
    openoffice.org-l10n-he
    openoffice.org-ctl-he
    language-pack-gnome-he-base language-pack-gnome-he
    language-pack-he-base language-pack-he
    hspell
    aspell-he
    bidiv
    culmus culmus-fancy
    hdate-applet libhdate1
    hspell-gui
    myspell-he
    hocr-gtk libhocr0
  • Removed the following packages:
    ttf-arabeyes ttf-arphic-uming ttf-indic-fonts-core ttf-kochi-gothic
    ttf-kochi-mincho ttf-lao ttf-malayalam-fonts ttf-thai-tlwg ttf-unfonts-core
    language-pack-de-base language-pack-de
    language-pack-es-base language-pack-es
    language-pack-fr-base language-pack-fr
    language-pack-gnome-de-base language-pack-gnome-de
    language-pack-gnome-es-base language-pack-gnome-es
    language-pack-gnome-fr-base language-pack-gnome-fr
    language-pack-gnome-pt-base language-pack-gnome-pt
    language-pack-pt-base language-pack-pt
Credits goes to:
  1. All Gnome/Debian/Ubuntu package maintainers and translators who made this possible.
  2. Israeli Open Source contributors who fix Hebrew Bugs, made Hebrew Fonts, Hebrew Spelling and even Hebrew OCRing a reality.
  3. All israeli Linux forum members who provide technical/mental support for new users.
  4. everybody else who is feeling left out after reading this list :)
Have fun.

15.8.08

URemix scripts for Ubuntu Hebrew Remix 8.04.1

For now you can find the remastering scripts here.

The remastering process is fully automatic.
It should be very easy to use. Read the README.

it looks like this:



The Ubuntu Hebrew Remix 8.04.1 ISO image will be available during the weekend.

1.8.08

AP2008 Live Blogging #2 - Microsoft session

In his lecture Amir Shevet (MS representative in AP2008) talked about interoperability (with other OSes) and it's importance to Microsoft.
I asked two questions:
1. If it's so important for them then why don't they actively and officially support Mono.
2. Do they grantee that if I use Mono and .Net implementation for Mono, I won't get sued by MS later.

Some guy from the crowd (probably MS person) shouted at me that Microsoft is very active and working together with Miguel De Icaza very closely on Mono.
The second question remained unanswered. The main message I got from the MS lecture was "Lets see where we can work together and do it".

Later I saw Amir again in the hall and asked him to address the patents issues. He asked me for my business card and said that he'll get back to my after he'll ask the company lawyers. Stay tuned ...

I'll just point to this link regarding Mono, Miguel and SW patents.

In my eyes: Microsoft say they are open and they want to play nice for now (with Open Source community). But they'll probably never promise not to sue and play nice in the future.

To conclude what I learned: Nothing new under the sun.

Other amusing events during the MS lecture:

- Shachar Shemesh said the he read the rulls for participating in OpenUp (MS OSS competition) and that's it's not the right way to do it and pointed directly the problematic rulls. The MS crowd Guy shouted "Why can't you put a good word for a change" repeatedly, and claim that Shachar's is not providing any constructive criticizm although Shachar pointed the probelms specifically.

- Doron started talking about Microsoft conduct (I Think) and refused to be shushed.

- One Error popped during the lecture. Amir said it happed in his Ubuntu at home too and I said "sure it did , PowerPoint is a closed format".

- At some point during the lecture Amir got a package (the mandatory AP package game), and I remarked "be carefull, it's ticking!!". Later on Amir passed that package to me because it instructed him to give the package to the yougest Linux user (see previous post).

AP2008 Live Blogging #1 - The youngest participant ever

The youngest participant in August Penguin .. My son :)

12.6.08

Debian Weather

Is today a good day to for an 'apt-get upgrade'?
This site will tell you if you should expect a rain of broken packages or enjoy the warmth of the Apt.

Cool idea :)