Bits & Pieces of Knowledge in Random Order http://blog.gabrielmalca.com A Programmer, Engineer, Marketer and Entrepreneur's Take on Life and Technology posterous.com Fri, 16 Dec 2011 08:34:00 -0800 Why we have Children http://blog.gabrielmalca.com/why-we-have-children http://blog.gabrielmalca.com/why-we-have-children

For those of you who know me well, my wife and I are expecting our first child in January, with G-d's help. I've been delving deeper into my Jewish roots over the last year and have been becoming more and more fascinated by the freely available explanations of life's concepts, questions and answers. Through what I've learned so far, I’d like to share what I currently believe to be the reason why so much emphasis is put on having children in Judaism. There is the clear responsibility of Jews being a light unto the world and being role models that are honest in all their dealings, relationships and overall good human beings, which would clearly conclude that it’s important to “be fruitful and multiply” so as to reach and cause positive effects on as much of humanity as possible.

 

However, there is a deeper meaning that goes closer to the relationship between children and their parents. One of the Ten Commandments is to respect your parents, which most of us know is a very hard commandment to keep at times. Of all the 248 positive commandments and 365 negative commandments that Jews are required to keep, why is this one given such importance? Here’s a better question: we know that the first five commandments are for the relationship of man to G-d, and the next five are for the relationship between man and man. Why is respecting your parents a commandment between man and G-d?

 

In a lot of cases, in both the Torah and therefore in Prayer, you’ll see G-d’s name being written in different ways. Sometimes you will see Elo-kim, which represents G-d’s attribute of “din” (justice) and sometimes you will see Yu-K-Vav-K representing His attribute of “rahamim” (mercy). If G-d were to exercise his attribute of justice at all times with no mercy, the world would be destroyed almost immediately given the atrocities that go on in the world. If He were to solely exercise his attribute of mercy, there would be no reward and punishment, causing total chaos in the world. What good are laws without judgment when they are broken?

 

Let’s parallel these two attributes to your parents. Parents will, in most cases, have to exercise both of these attributes. Usually it’s split between the father and mother. The father will take on the “educator” role and the one to serve out punishment when his children are misbehaving. The mother will be the one you run to when you need something and always be the one you are closest to because you can relate more closely to someone who shows constant love, or at least the way you perceive love at a young age. But the Torah tells you to respect them both, and actually puts the father before the mother in the wording. When we’re young and we don’t understand why we “can’t have” this, “can’t do” this, “can’t go” there, the answer is in most cases “you’ll understand when you’re older”. The truth is, when you finally reach the age where you understand why you were told “no” and denied things you wanted at a young age, you realize that even though it seemed to be a form of punishment or lack of love back then, today with your better developed intellect you understand that it was all done out of love. Your parents tried to direct you based on their own past experiences, and sometimes it takes the attribute of justice to help push you back in the proper direction.

 

This allows us to understand that everything G-d does is for the good. Whether you are suffering in your material existence by lack of funds, trouble at work, trouble with your health or your family’s health, these are all forms of communication between G-d and you to help drive you in a certain direction. And who better to do that than the One with the most experience of anyone you can possibly fathom. If you concentrate on this you will realize that there is no reason to be angry, upset, sad or depressed. You will realize that your life is constantly being helped and directed from above. It is true that we believe in free will and making our own choices, but we are also receiving constant divine assistance and are only given tests and trials in life that we have the potential to overcome.

 

So now that we understand the above, we realize that honoring your parents for both their attributes of justice and mercy is a direct way of honoring G-d by acknowledging that everything He does is for the good and we respect and love Him for it. Unfortunately, it sometimes takes the realization that you will be a father soon to understand and appreciate your parents and give G-d his proper tribute. We should all merit to extend this circle of learning to love and appreciate our parents and G-d by extension and hopefully sooner rather than later.


 

Baby

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Thu, 22 Sep 2011 13:35:00 -0700 How to create your Facebook Timeline before everyone else http://blog.gabrielmalca.com/how-to-create-your-facebook-timeline-before-e http://blog.gabrielmalca.com/how-to-create-your-facebook-timeline-before-e

If you heard about Facebook's new Timeline feature, you're probably one of the millions of people who won't have access to it until September 29th. But there is a trick to getting quick access, here's how to do it:

You will need a Facebook Application under your account first, so head over to:

https://developers.facebook.com/apps

Once you're there, click on the Create New App button:

Step1

Then fill out the form with bogus information:

Step2

Then you'll be able to edit your application. Click on Open Graph on the left side menu. And fill out the two field form to add a random action that a user can do (this doesn't matter, put anything).

Step3

Now when you hit Get Started, it will send you to the next page. You're done, don't even look at this page. Just head back to Facebook and you should see a special invite at the top from Facebook to access your page. Once you accept you'll be able to start using Timeline:

Timeline

 

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Fri, 12 Aug 2011 06:35:00 -0700 Staying Secure while tricking Facebook Applications http://blog.gabrielmalca.com/staying-secure-while-tricking-facebook-applic http://blog.gabrielmalca.com/staying-secure-while-tricking-facebook-applic

So let's be honest. Some Facebook applications are really awesome, but there have been so many spammy applications that most people are afraid to test out new apps for fear that the applications will start posting crap on your wall and spamming your friends. Luckily, the way Facebook's authentication for applications is setup, you can test out applications without giving them all the information they require. Here's how:

Let's say you want to check out Slide's FunApp

Post1

The problem is, you don't want to share your email address. You don't want it to be able to post on your wall while you're in the bathroom or on vacation, or any time for that matter. You also don't want it to be able to access your sensitive information at any time. You just want them to have access to your basic information.

But for some reason, Facebook is not allowing you to select NOT to share the rest. You feel like you're being forced to do it just to get past the first page and see what the app is about.

Here's the solution:

Go to the URL bar

Post2

Scroll to the end of it and delete the part after &perms=

Post3

It should now end like this:

Post4

Hit Enter and look at the new screen:

Post5

Now you can click Allow with no fears.

Post6

Hope you enjoyed this trick.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Fri, 24 Jun 2011 12:42:00 -0700 Starting an Online Store (Step 1) http://blog.gabrielmalca.com/starting-an-online-store-step-1 http://blog.gabrielmalca.com/starting-an-online-store-step-1

Onlinestore

Most new or potential business owners have no idea where to start. It begins with the inception of a new idea, either something that hasn't been done or sold before, or something that has been done, either way though, you need an online store.

You may have gone to friends to ask them if they know anyone who builds websites, at which point you were referred to someone who has built a few decent looking online stores. After you explain your project to to this person, he quotes you his standard $15,000 to $20,000 to get started. But did you know that most e-commerce websites nowadays use already developed systems that are completely customizable? If you find the right developer, who asks you the right questions to understand your project completely, you would be amazed at the talent that's out there and how quickly you can get running while still in budget.

Most people try to to become an "Amazon" from the start, they want to have everything figured out completely. They want the person they choose to develop their website to be someone full time who does Search Engine Optimization (so you show up in a good place on Google, Yahoo etc), PPC Management (to run ads), Affiliate network management (so you can pay marketers commission on the sales they bring you), Website development, Website maintenance, Website graphics design, Logo design, Importing products, the list goes on. What most people don't typically understand is that these are all individual jobs. The person that has all or the majority of those listed talents is already running their own company, they don't need your money.

Here's a tip, start small. Get your website developed by someone who's local. For the Montreal area, I recommend getting in touch with David Azoulay at Daversion.com. You'd be surprised at how much more affordable and organized your business model will have just gotten.

Once you have the website done the way you want it (website design, development, hosting), you're ready to proceed to the next steps.

More to come.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Sat, 18 Sep 2010 18:33:00 -0700 Almost perfect desktop setup http://blog.gabrielmalca.com/almost-perfect-desktop-setup http://blog.gabrielmalca.com/almost-perfect-desktop-setup

People keep asking me how I get so productive when working. The trick is to properly setup your work environment so that everything is accessible extremely quickly. The last thing you want to do is maximize and minimize windows continually to go between data. One MAJOR enhancement, which I've only appreciated a lot recently, is to have more than one screen. However, you need to optimize the way you use the screens because otherwise you'll run out of space pretty quickly. I, personally, am not yet completely content with two screens, because I need to have chats, browser, programming, shells and documents open at the same time to work on projects. But this is how I optimized my setup with two screens for now (until my next screen comes in by mail).

Desktop-resized
Programming in a rotated screen on the left, with console/terminal windows connected to my servers. Browser and chats on the right. I'm also using Spaces so that I can switch between terminal windows, since Spaces allows you to specify programs to ALWAYS be present across spaces, you can designate a small part of your screen to always change while the rest always remains the same, depending on what you really need across different spaces.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Thu, 16 Sep 2010 12:47:00 -0700 Setting up Geolocation with Maxmind's Apache Module http://blog.gabrielmalca.com/setting-up-geolocation-with-maxminds-apache-m http://blog.gabrielmalca.com/setting-up-geolocation-with-maxminds-apache-m

Geolocation
You have several options if you're trying to setup geolocation on your website. Geolocation allows you to determine where the user is most likely connecting from (Country, City etc) based on their IP address. Maxmind provides a decently accurate (99.5%) database and modules for free that you can setup pretty quickly on your server.

I am assuming you have PHP and Apache 2.x+ installed

To begin, log into your server and run the following commands:

cd /tmp
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar -xzvf GeoIP.tar.gz
cd GeoIP-*
./configure
make
sudo make install
cd ..
cp GeoIP.dat /usr/local/share/GeoIP/GeoIP.dat
wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
tar -xzvf mod_geoip2_1.2.5.tar.gz
cd mod_geoip2_1.2.5
apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c

 

Next you'll need to open your apache config file (either apache.conf or httpd.conf). Try

/etc/httpd/conf/httpd.conf

or

/etc/apache2/apache2.conf

 

You'll need to add this somewhere at the end:

GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat MemoryCache
GeoIPOutput Env

Now just restart apache using one of these commands (whichever one applies to you):

sudo apachectl restart
sudo /etc/init.d/httpd restart
sudo /etc/init.d/apache2 restart

And do a quick test by creating a new php script with the following code:

<?php
print_r($_SERVER);
?>

You should see new GEOIP variables that will tell you what country the user is in:

Array
(
   [GEOIP_ADDR] => 74.59.82.169
   [GEOIP_CONTINENT_CODE] => NA
   [GEOIP_COUNTRY_CODE] => CA
   [GEOIP_COUNTRY_NAME] => Canada
...

There you go, you can now use

$_SERVER['GEOIP_COUNTRY_CODE']

in PHP to redirect the user based on the country they're connecting from.

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Thu, 16 Sep 2010 12:42:00 -0700 Server-side browser detection http://blog.gabrielmalca.com/server-side-browser-detection http://blog.gabrielmalca.com/server-side-browser-detection

Sometimes you can't rely on JavaScript to detect the browser the user is on. Luckily, PHP has built in browser detection. You might say "sure, i'll just look at the user agent and take out find 'Chrome' or 'Safari' in there to know what browser the client is using", but actually the user agents might include BOTH of those if you're running Chrome under Mac. The solution is a user supported library that you specify in your php configuration file (php.ini)

Open up your php.ini file, usually located at /etc/php.ini

If you can't find it, just create a a simple php script with the following code, and run it:

<?php
phpinfo();
?>

You should see the location outputted:

Open up that file and search for the line that says:

[browscap]
;browscap = extra/browscap.ini

You'll now need to download the latest version of the browscap.ini (and update it as often as you like to keep current).

I decided to store mine in /etc/php_browscap.ini , so I ran this:

wget http://browsers.garykeith.com/stream.asp?PHP_BrowsCapINI > /etc/php_browscap.ini

Now that it was there, I went into my php.ini configuration and changed the above code to:

[browscap]
browscap = /etc/php_browscap.ini

(Notice I removed the semicolon (;) at the beginning of the line to uncomment it)

Then simply restart your webserver. One of these might work for you:

sudo apachectl restart
sudo /etc/init.d/httpd restart
sudo /etc/init.d/apache2 restart

And open a new php script, to try this code:

<?php
$tmp = get_browser(null, true);
print_r($tmp);
?>

When I access that script from Google Chrome I see:

Array
(
    [browser_name_regex] => §^mozilla/5\.0 \(macintosh; .*; .*mac os x.*; .*; rv:1\.9\.2.*\) gecko/.* firefox/3\.6.*$§
    [browser_name_pattern] => Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.2*) Gecko/* Firefox/3.6*
    [parent] => Firefox 3.6
    [platform] => MacOSX
    [browser] => Firefox
    [version] => 3.6
    [majorver] => 3
    [minorver] => 6
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [javaapplets] => 1
    [javascript] => 1
    [cssversion] => 3
    [supportscss] => 1
    [alpha] => 
    [beta] => 
    [win16] => 
    [win32] => 
    [win64] => 
    [backgroundsounds] => 
    [cdf] => 
    [vbscript] => 
    [activexcontrols] => 
    [isbanned] => 
    [ismobiledevice] => 
    [issyndicationreader] => 
    [crawler] => 
    [aol] => 
    [aolversion] => 0
)

So I know that the client is connecting using Firefox running on a Mac, and some of the capabilities of the browser (it won't detect if those are disabled though by the user).

Voila, you're done!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Wed, 01 Sep 2010 04:03:00 -0700 Shyness and Ego http://blog.gabrielmalca.com/shyness-and-ego http://blog.gabrielmalca.com/shyness-and-ego

I had an interesting debate this morning in class. My Rabbi was debating whether or not shyness is a form of ego.

I immediately rejected that possibility, whenever you invite another person over for a meal, or are in a group of people with someone who is shy, it is easy to immediately place them as someone who feels inferior and does not express themselves as others because they don't feel they are at the same level.

However, I was told quickly not to immediately reject something because of my beliefs, and to think hard about it to see if there was a possibility that I was incorrect. So I did just that.

I read an excerpt of Eckhart Tolle on Shyness, Self-esteem and Ego, taken from an interview with Oprah Winfrey (not the best source, but interesting nonetheless).

 

OPRAH WINFREY (HOST): But what surprised me is that you say that often people who are also shy are also acting out of their egos. And you say whenever you feel superior or inferior to anyone, that's the ego in you. Why is that?
 
ECKHART TOLLE (AUTHOR, “A NEW EARTH”): Well, if you're shy, then what you fear is to be found wanting. But so you're not, you dare not...
 
OPRAH WINFREY: So the fear is that the attention may take the form of disapproval or criticism.
 
ECKHART TOLLE: Yes. So because you're afraid of that, whatever the disapproval or the criticism would represent an injury of your mentally made sense of self which is the ego. 

So it would, the image that I have of myself as the very capable person or whatever it is that I'm trying to uphold, if I encounter criticism, the ego immediately will be hurt.
And so a shy person would not dare to say anything because they're afraid of ego loss.  And.. sometimes that's mistaken for an egoless person.  

It's not.  And deep down inside the shy person or this person who is suffering from this sense of inferiority, there's the desire, the unexpressed desire to be superior.
And inside the person who acts superior who seems to have a big confident ego, is always the hidden fear that he might be inferior. And his whole acting out is to compensate for that hidden fear of being inferior.
 
OPRAH WINFREY: Okay. Behind every positive self consent is the hidden fear of not being good enough?
 
ECKHART TOLLE: Yes.
 
OPRAH WINFREY: Behind every negative self consent is the hidden desire of being the greatest or better than others.
 
ECKHART TOLLE: Yes.

 

 

It actually hit home quite a bit. I've been in a lot of situations where I've refrained from speaking, and looking back, it might have been for fear of saying the wrong thing and sounding inferior. It's a very big eye opener that things aren't always what they seem, and it helps to know that I now have a lot of work to do on myself.

 

In a recent quote from the movie American Gangster (2007):

The loudest one in the room is the weakest.

I can't help but think that it's still not enough to judge people by their actions, because you never know what struggles they are going through deep down inside.

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Mon, 30 Aug 2010 10:47:00 -0700 Communicating data between domains client-side http://blog.gabrielmalca.com/communicating-data-between-domains-server-sid http://blog.gabrielmalca.com/communicating-data-between-domains-server-sid

Jsonp
As a continuation of one of my recent articles on Guide for Newbies -- How Web Forms & The Internet Work, I briefly mentioned how cookies are set by domains to store information on your computer that are sent with every request to a server. Cookies are limited to being set by the specific domain you're on, otherwise you would be able to tamper with other people's cookies and either pretend to be them, or set sensitive information that you should not be able to access. The HTTP protocol protects itself relatively well against this. However, there are many cases where a website on a specific domain would like to pass information to another domain via the client connection, and allow data manipulation/processing by the secondary domain before sending the data back. Obviously we'd love for that transmission of data to be done by the client (me and you) visiting the first domain, to minimize scaling efforts by the first domain in managing all those connections.

JSON-p allows for just that. Webpages can inject javascript on their website from another domain, and pass data to that secondary domain through GET parameters, and have that secondary domain call a function that is already defined on the primary domain to post-process the information.

For example, if my website knew your Twittter nickname (mine's gmalca), and I wanted to access that user's posts to display them on my website (assuming this person's posts were public), I could simply add this piece of javascript to my webpage:

<script type="text/javascript" src="http://api.twitter.com/1/statuses/user_timeline.json?screen_name=gmalca&callback=processTweets"></script>

Then, on my first domain, I could create a function called processTweets, which will receive this information back from Twitter through the client, and process the list of Tweets for easy display on my webpage.

JSON-p does have its limitations though. For example, some browsers only allow 4096 characters to be passed through the URL, so if you're passing too much data over to the JSON-p script on the other end, you might hit a browser error. In addition, a lot of websites that use Ajax to communicate information over without reloading the page, use JSON-p internally with their own callback functions. The problem is that a malicious website could simply inject that code into their page if the user is already logged into this other domain, and get information sent back to them that might be sensitive to the user.

A lot of caution and good engineering need to be taken into account when designing websites, because when a user's information is at risk, your brand and website follow suit.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Sun, 29 Aug 2010 20:42:00 -0700 Loving the Convert http://blog.gabrielmalca.com/loving-the-convert http://blog.gabrielmalca.com/loving-the-convert
Ekev(Deuteronomy 7:12-11:25)

Loving the Convert

"...[God] loves the stranger, giving him food and clothing. You must also show love toward the stranger, for you were strangers in the land of Egypt." (Deut. 10:18-19)

The Torah informs us of God's great love for the ger (convert). Since we are required to emulate God, it follows that we must also love the convert. Why, then, is it necessary to add, "for you were gerim in Egypt?"

Maimonides (Responsa No. 369) points out that the Torah commands us to respect and honor our parents and obey a prophet, but it does not command us to love them. Yet we are commanded to love the convert just as we are commanded to love God. To understand this we must understand the Torah concept of love.

The numerical value of "love" is the same as "one." Love is the product of unity between individuals, a recognition of a commonality and affinity. In our relationship to God this commonality is intrinsic, since we are created in God's image. Likewise, we share common responsibilities and goals with our fellow Jew. He is our peer in Torah and mitzvot. Parents and spouses, however, aside from the intrinsic commonality they share as Jews, may have nothing else in common.

Of course we must work to develop and nurture an affinity and commonality in the latter relationships. Love of a parent is an enhancement of honor; love of a spouse is a rabbinical directive (Maimonides, Ishus 15:19). And most certainly it is an ideal to love and honor the righteous. However, the Torah did not command us to create an affinity where it does not exist intrinsically. Rather, where such an affinity exists naturally, the Torah commands us to develop it.

 

* * *

 

STUDENT OF ABRAHAM

Maimonides, in the aforementioned response, writes to a convert whose mentor insulted him and called him a fool for asking a legitimate question:

...That which he called you a fool is very perplexing. One who left his father and mother, and his birthplace, and his nation, which is now in power, whose heart and mind led him to cling to a nation that is today detested by the nations of the world, ruled over by slaves, and to recognize and understand that their religion is the true and righteous one; one who understood the ways of Israel, and pursued God, and entered the path of holiness, and entered under the wings of the Divine presence, and sat at the dust of the feet of Moses, the master of all prophets; one who desires God's mitzvot, whose heart inspires him to draw close to bask in the light of life, and to ascend to the level of angels, to rejoice and take pleasure in the rapture of the righteous; one who cast out this mundane world from his heart and did not follow vain and idle things - is a person who reached this lofty stature to be called a fool?

God has not designated you a fool, but rather an intelligent and wise and understanding individual, who proceeds on proper paths, the student of Abraham, who likewise left his father and birthplace to follow God. May He Who blessed Abraham, and rewarded him in this world and the next world, bless and reward you properly in this world and the next. May He lengthen your days, so that you will be able to teach God's laws to His congregation, and may you merit to see all the consolations in store for Israel in the future, and may the good that God will do for us also devolve upon you, for God has spoken good concerning Israel.

 

* * *

 

HOLY SPARK

The convert has discovered on his own what the Jew was born with. Yet, the Sages tell us (Yevamos 48b), a convert sometimes experiences hardships after the conversion due to the fact that he procrastinated in converting. The Chida explains that every convert has an innate spark of holiness that is suppressed and lies dormant until he becomes aware of it and converts. He procrastinated in not acting upon that spark.

The famous convert and martyr, Avraham ben Avraham, posited that while each nation rejected the Torah when God offered it to them, there was a minority that was willing to accept the Torah. It is the descendants of that minority who eventually convert.

Through a proper halachic conversion, the convert transforms himself into a new individual. That spark of holiness is transformed into a Jewish soul and replaces his previous identity as a non-Jew. He is a newborn person with no halachic connection to his past.

God shows particular love and solicitude for the convert, feeding and clothing him. Food is man's basic necessity. Out of recognition of the elevated essence of the convert, God provides his essential necessities. Clothing represents one's honor. By providing clothing, God honors the convert.

 

* * *

 

STRANGERS IN EGYPT

On the one hand, we share an intrinsic affinity with that which the convert chose and accepted upon himself. Nevertheless, it is difficult to relate to the convert with a sense of total affinity, since his embrace of Torah and mitzvot was voluntary and ours was by birth. Therefore the Torah could not merely exhort us to emulate God in loving the convert, since there is an impediment to actually fulfilling this command. Thus the Torah adds, "for you were gerim in Egypt."

We can appreciate and identify with the convert, for in our national experience we also were quasi-gerim, when we left Egypt and accepted the Torah. Although we were already potentially Jews from the time of Abraham, and all that had to be done was bring out the potential that already existed at Sinai (see Gur Aryeh to Genesis 46:10); we experienced at Sinai a conversion, an acceptance of Torah and mitzvot not binding upon us at birth. Because we share that experience with the convert, we can be commanded to recognize and enhance that commonality.

The Sages comment (Yevamos 47a) that converts are as difficult for the Jewish people as spachas (an affliction of the skin). On the one hand, non-Jews who convert for ulterior motives, who basically masquerade as Jews, are a plague and sickness to the Jewish people.

On the other hand, Jews who convert for the reasons Maimonides describes and who undergo a halachic conversion are a pleasant affliction for the Jewish people. Just as tzora'as (skin affliction) is a lesson to goad one to repent and improve, the devotion and meticulous observance of mitzvot of a true convert are an indictment of those born Jews who are not as devoted, meticulous or appreciative of their heritage.

Published: Sunday, August 01, 2004

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Sat, 28 Aug 2010 21:53:00 -0700 Guide for Newbies -- How Web Forms & The Internet Work http://blog.gabrielmalca.com/guide-for-newbies-how-web-forms-the-internet http://blog.gabrielmalca.com/guide-for-newbies-how-web-forms-the-internet

Internet

You probably don't care about specifics on how the Internet works. When you sign up to a web page or update your Facebook profile, you simply assume that the guys behind the page figured it out, and you just expect it to work. I figured I might as well shed some light on how your information is being transmitted and stored, so you can at least hold up a conversation when surrounded by geeky talk, and know what is truly going on when you do fill out forms on the internet.

There are a lot of different browsers out there, Firefox, Google Chrome, Internet Explorer, Safari, Opera, the list goes on. Most of the browsers have drastic differences in how their core works to render a website for your viewing pleasure. But they all are supposed to follow standards on how to display data (I say "supposed" to because older versions of Internet Explorer made their own standards and cause problems for all developers building webpages). More or less though, most of the time a webpage will look almost identical whether you're using one browser or another. So your computer is connecting to a website that you type into your browser. For example, when you type in www.google.com, your browser communicates with Nameservers to resolve that host to an IP address. Usually these Nameservers are set up by your Internet Service Provider (ISP), and are dedicated to just do hostname resolving, so you don't even realize they're there. So let's assume that www.google.com resolves to IP address 72.14.204.147 (try going to http://72.14.204.147 just to see that it does in some cases). Once your browser finds that IP address, it connects to it. To connect to another computer, the other computer needs to have a port open, which is basically a communication channel that accepts other computers to connect to it. In the case of webpages over HTTP, it's by default on port 80. So you're actually connecting to http://www.google.com:80 or http://72.14.204.147:80 . Now, once you're connected, your browser sends some information. That information usually includes the version of the protocol your browser is communicating in, the URL of the page you're trying to access, the communication type [GET (to retrieve a webpage) / POST (to send data over to a webpage) / HEAD (to see the server's headers)], your User-Agent (which is your browser name), the type of content you accept, and your cookies that you have associated for that URL or domain. Once that information is sent over the other ends replies with the content of the webpage, which may be dependent on the information your browser sent. For example, if your browser was sending a cookie which indicated that you were logged into an account, it would send you a page where you were logged in to your account (i.e. Facebook). If you weren't logged in though, it might send you to a login page to ask you for your email and password to continue. Once you fill out your email and password, this connection is initiated again. When that connection is secure, it happens in a separate way which encrypts the data you're sending over, so someone who's on the same wireless or local area network as you can't "sniff" around and see the information you're communicating. Now that you sent in the usual info (above) as well as your email and password, the website checks against its database (this is done automatically through code created by programmers), to see if it's a real account (as well as other security measures), it creates a session on Facebook.com and sets a cookie on your computer. Every time from then on, when your computer connects to Facebook.com, it sends that cookie over to confirm that you're logged in, and you're able to access your account. Anything you do from then on to update your profile or browse the website is done through the same method of sending and retrieving data.

It gets a lot more complicated on the backend depending on the complexity of your website, but at least you now know what's happening when you browse the internet (if you didn't before).

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Fri, 27 Aug 2010 18:42:00 -0700 Redefining Failure -- An article by Seth Godin http://blog.gabrielmalca.com/redefining-failure-an-article-by-seth-godin http://blog.gabrielmalca.com/redefining-failure-an-article-by-seth-godin
Media_httpwwwgabrielm_aujkm

Interesting article that Jason Lieberman sent me today, taken from the Harvard Business Review.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Fri, 27 Aug 2010 09:50:00 -0700 A Non-Obvious Similarity Between Businesses and Religion http://blog.gabrielmalca.com/a-non-obvious-similarity-between-businesses-a http://blog.gabrielmalca.com/a-non-obvious-similarity-between-businesses-a

Business

So you decided to stop working for someone and start your own business. You have an idea. It started off as an initial spark in your mind, a lightbulb flashes on over your head and you think you're on to something. You then ponder on that idea and try to make sense of it and bring it down to technical terms, and start realizing business potential and creating or exploiting a consumer need for your idea. You spend days going back and forth through papers where you wrote your idea down, refining it and talking to others about it, getting their perspectives, until the idea becomes part of you and what you believe in.

You just experienced a G-dly concept defined in Kabbala's Ten Sefirot as Chabad [Chochmah (insight), Bina (analysis), Daat (concept)].

I had an interesting discussion this morning about the evolution of the person in Jewish religion. If someone keeps drifting through their beliefs and can't decide how religious they want to be, or are slowly moving up and down an equilibrium point, it's hard to take them seriously. Unfortunately, it usually takes hitting rock bottom to be ready to ask for help. If your views are changing day to day and you are incorporating parts of religion in your life based on your circumstances or surroundings, and then quickly switching back temporarily in a volatile way, you are never defining yourself.

If you read Paul Graham's article on What Happened to Yahoo, then you probably know where I'm going with this. What did happen to Yahoo? I remember using it from my early childhood, but I don't think I've returned to it in a very long time, except to check my spam yahoo mail account that I use for email confirmation on websites I never want to hear from again. Yahoo had problems defining itself. It was caught between wanting to be a Media Company and a Technology Company. When it comes to defining your brand, you have to decide what you are, otherwise it's a very hard sell to the customer looking for something specific. Had Yahoo set their company objectives and market categorization, they could have continued innovating and expanding that one vertical they were very good at, and left competitors in the dust. They may sound stupid reading that article, but that's exactly what most startups end up doing. Most companies starting up will try to find a want in the market by selling anything they can under their brand. They try to build everything for their customers to keep them happy and show that they're innovative, even if these "things" are completely outside of the scope of their business plan. One of two things will happen at that point, they won't be able to keep up with demand by over promising and under delivering, or they will look back sooner than later and not remember what their company actually does. If you're not able to answer immediately what your company does, in a few words or less, then how do you expect others to?

Similarly, not choosing a comfortable place in your life religiously and living in that place day to day kills both your own perception of yourself and other's perceptions of you.

So how are you branding yourself?

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Thu, 26 Aug 2010 07:15:00 -0700 Company Growth -- Creating a Brand http://blog.gabrielmalca.com/company-growth-creating-a-brand http://blog.gabrielmalca.com/company-growth-creating-a-brand

Graph1

As our company grows, we face numerous challenges in trying to keep it efficient, friendly, professional, enjoyable and ingenious. Many of the challenges stem from the company owners having to change their expectations and create a real workflow environment. When we started, a lot of the people we hired were put in positions that we needed temporarily, and then called up when we needed them, even though they were full time. Something was always "expected" of them without telling them what we expected. This caused a huge amount of confusion and direct impact on the quality of work. Instead of letting employees make mistakes, we would dictate how we needed things done and give minimal ownership of a project, while expecting them to accept full responsibility. The problem is, we were clouded in judgement, because our best interests weren't necessarily theirs. We saw the direct impact of their work to the company's success, while they just saw a bunch of tasks with no requirements, milestones or structure. We needed a drastic change quickly, but we were also afraid of becoming "corporate", having far too much office politics and slowing down.

What we didn't realize was that we needed to slow down and create a process flow before we could again speed up in a structured scalable way.

We decided to start creating fixed positions in the company that weren't just a name to place on their business card. Rather, everyone had a task, a goal, a place in the company that they knew was theirs and knew exactly where they stood. Instead of having direct interaction between the employees and the company owners, we hired a COO to oversee operations and report directly to us. This doesn't mean we stopped interacting with our employees, on the contrary, now we have a friendlier and less hostile relationship with them. The problem can be compared to a student in class who doesn't want to ask the teacher questions for fear of sounding unintelligent. If someone was put between the student and the teacher, whose sole purpose was to answer questions in a non judgemental fashion, it would stimulate the thirst for knowledge and self improvement.

Now, there's a lot of overhead involved in setting up a proper internal company structure at first, so it might not be the optimal route to take when starting off with 2-3 people, but it should always be an end goal or milestone set for when you reach a certain number of employees and/or projects in your pipeline.

This restructuring allowed us to work on our Brand, now that our employees have defined job titles. While not everything is handed out to our employees, they know how to ask questions and take ownership of projects now, and will actually push back if they don't have what they need, full understanding of the business logic associated behind a specific project, and design goals. We allow them to fail, because otherwise you become like any father who doesn't let their child get hurt and learn from their mistakes, and you end up with rebellious children with low self esteem. Trust is granted at first, and trust is earned for the long run.

So lesson learnt, scaling a company is like scaling an ad server, which is ironic since that's our core business.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Wed, 25 Aug 2010 15:49:00 -0700 Setting up sphinx for searching your site http://blog.gabrielmalca.com/setting-up-sphinx-for-searching-your-site http://blog.gabrielmalca.com/setting-up-sphinx-for-searching-your-site

Sphinx

So today I needed to quickly implement a stable search engine into one of our content sites to allow searching for matches that are relevant without being exact.

This wouldn't have been much of an issue in MySQL, but we're building a website that will actually scale without many issues, so we decided to go with MongoDB. Sphinx can natively connect to a MySQL server and index an entire table, which would have been nice, but with MongoDB, I had to go the route of setting up an xmlpipe to pass the data through. To do that, you specify in your sphinx.conf file your xmlpipe_command variable, which defines HOW to get the data so that it can index it. Then you just need to build a simple script (I used PHP) to connect to your database and output the results in the same format specified by sphinx. Next you run the sphinx indexer to index the data in that table, and implement one of the many sphinx extensions/apis that will allow you to access the search daemon and run a query against your database. Surprisingly the entire setup was extremely quick and looks to be very stable. So why waste time building your own when you can use one that's developed and updated constantly by other people?

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca
Wed, 25 Aug 2010 15:46:35 -0700 Call phones from Gmail - Official Gmail Blog http://blog.gabrielmalca.com/call-phones-from-gmail-official-gmail-blog http://blog.gabrielmalca.com/call-phones-from-gmail-official-gmail-blog
Media_http3bpblogspot_fmice

So you can now call phones straight from Gmail, this is crazy big news!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/708904/gabriel2.jpg http://posterous.com/users/4wp0dUEhKHCx Gabriel Malca gmalca Gabriel Malca