Category Archives: Top Posts

Top Posts on Zappable

Although I have a top posts section, I thought it would be helpful to provide links to some selected content, organized by topic. (Note: I put an asterisk by posts that are first in a series.)


Web & Programming How-To

Articles on SeekingAlpha and LifeHack


How to Get a Smartphone without Paying for an Expensive Data Plan

The phone companies know that people want a smartphone, so they try to force everyone into an expensive monthly data plan. However,t here are some alternatives that can save the user a large amount of money. Read my article on the Lifehack blog for more info:

Google And The Future Of Search

What challenges and opportunities does Google face in search? Read my article to find out:

Google And The Future Of Search – Seeking Alpha

[Commercial searchers] could benefit from real a web service that helps them choose the best deal for their needs, as opposed to just looking through a list of links. If another company is able to build a successful service to answer this need, it could harm Google’s revenue, even if people continue to use Google for general searches.

Blogging, Bucks & Bias – The Case for Disclosure

Previous college paper of mine that commented on new FTC disclosure requirements.

Should there be laws regulating bloggers to disclose any payments or benefits they receive for endorsing a certain product in the blogosphere?

As blogs become more popular, many people are turning to them for advice or suggestions on which products and services to buy. This gives the bloggers great influence over people’s commercial actions, attracting the interest of marketers. Often, successful bloggers are offered payments or gifts in exchange for writing positive reviews. Even smaller blogs can get involved by suggesting products with “affiliate links”, where the blogger gets paid a commission for sales generated from his link. These widespread practices[1] benefit both the marketer, who can reach new audiences, and the blogger, who can generate additional income from his blog. The side that may lose is the reader of the blog, who may not be aware of the deal, and not know that the reviews’ impartiality may have been compromised. Recently, the FTC implemented new guidelines[2] that require bloggers to disclose any payments of gifts received for their reviews. Some have praised this measure for protecting the consumer, while others have criticized it for interfering unjustly in the blogosphere. Are the new guidelines justified?

The Arguments Against

Opponents of the new laws give various reasons to support their argument. Some claim that there is nothing unethical about failing to disclose payments received for endorsements. They claim they will only endorse products they like, and turn down other endorsement offers[3]. Some admit it may be recommended for bloggers to disclose any payments, but argue that the law should not get involved in every ethical matter.  Others add that the law is misguided because the FTC cannot possibly enforce the law on the millions of blogs on the internet. A fourth argument is concerned with the scope of the law, and whether the FTC’s rules apply to too many cases. This essay will primarily focus on a more specific case: bloggers who receives direct payments or gifts for their endorsements.  I think the guidelines are justified in such a case because the importance of protecting the consumer and preventing dishonest advertising outweigh the fears some bloggers have of being over-regulated.

Is it Ethical?

Obviously, a blogger who recommends a product solely because he was paid to do so should disclose this fact. Failure to do so is total dishonesty. The reader thinks he is getting an honest opinion when he is in fact getting an advertisement. The ethical question arises when the blogger claims he can remain impartial despite any payments received. There are many difficulties with such a claim. Often they are only reviewing the product because of the offer, and not because they selected it objectively from all the products. So even if they claim to review it without bias, the very selection of it was influenced by money. There claimed objectivity is also highly questionable. Imagine if a judge takes money from one side to review his arguments. He may claim that he will remain impartial, but it is clearly bribery. People are biased in favor of the person or institution providing them money, often without realizing it. Studies have shown that this bias applies in many areas, from professionals giving evaluations[4] to scientists doing research[5]. Surely bloggers are no different!

Even if the bloggers think they are impartial, they should still disclose payments received. The reader is the one who may follow such recommendations, so he has a right to evaluate their credibility. Some bloggers[6] say they will remain unbiased because they do not want to lose their credibility. But if they never disclose the payments they receive, the readers will not know when to look out for possible bias. Only proper disclosure will create incentives for the bloggers to remain objective.

Should it be Regulated?

The main purpose of the FTC is to defend the interests of the general consumer. Originally, it fought monopolies, but later its role was extended to “administer a wide variety of other consumer protection laws[7]”. As new developments arise, the FTC’s job is to make sure the consumer is protected. The blogger’s endorsement of a product influences the reader’s commercial actions, so it falls in the realm of the FTC to monitor. Consumers can be financially harmed by biased recommendations that they thought were credible, so the FTC is justified in creating guidelines which require disclosure. The consumers’ rights should be protected in various areas, including new developments like the blogosphere.


The FTC admits it will not be able to enforce the law for every one of the millions of blogs on the internet.[8] There are still good reasons for creating such guidelines. First, the very fact that it is a law will encourage a large number of bloggers to comply with it. Many people were willing to tread in ethical grey zones, but do not want to break the law.  If something is illegal, it becomes more clearly unethical for many, and the slight chance of being penalized also encourages compliance.

The second reason for the new guidelines is that the FTC will be able to enforce the rules when necessary. The FTC plans on enforcing the guidelines only for very large sites that break the rules in a serious manner. For example, if a large blog recommends a health product without any disclosure that they were paid by the manufacturer to recommend it. This can cause health issues, and the FTC may get involved. The FTC also plans on encouraging the advertisers to inform the bloggers of the new rules, which will help generate the voluntary compliance mentioned above.

The Broad Scope

So far, the essay focused on a blogger that endorses a product and receives financial payments for it. Yet the new guidelines have a much broader scope. They appear to cover any endorsement, in any form, on any medium. If someone suggests to a friend to sign up for something on Facebook, he officially has to disclose the small reward the company is offering him for each new sign-up. Maybe sometimes this is the ethical thing to do, but often it may be overkill, as the disclosure might be longer than the message. Although the justification for the guidelines in these areas may be questionable, it is important to realize that the FTC will not actually enforce them in such cases, so people do not need to fear getting fined. The overall laws are a good thing, even if their scope could be considered too broad.


The internet has revolutionized many areas, and people can now access information and buy products in ways not possible before. Yet, as with any new technology, it has also been used in many unethical ways. In the commercial realm, many websites and bloggers have encouraged people to buy products without disclosing the financial incentives behind their suggestions. These practices have made it harder to find reliable recommendations on the internet. When one searches for certain product reviews, such as web-hosts or online colleges, the results are filled with websites who get paid based on the visitors’ actions through their site. Instead of giving the user the information he needs, the sites often just try to get him to click on a link, register for more information, or complete a purchase. These websites rarely disclose their financial incentives, and the reader may not realize the suggestions may be biased. As the internet becomes the primary source for product reviews and suggestions, this problem can become more acute. It is important to implement measures now to help improve integrity on the internet. The FTC’s new guidelines are an important step to help protect the consumer and prevent dishonest advertising. These principles should always be protected, even as the medium for communication changes.


[1] Affiliate marketing is widespread, as a Google search will demonstrate. Direct payments to bloggers is growing, but is mostly among large blogs.

[2] The full guidelines can be viewed at the FTC website at: The shorter press release is available here:

[3] See, for example, the end of this New York Times article:

[4] See “Conflict of interest and the intrusion of bias”, available at:

[5] See, for example: The price of truth: how money affects the norms of science, by David B. Resnik. Available on Google Books at:”D+Resnik”The+Price+of+Truth:+How+Money+Affects+the+Norms+of+Science”&lr=&source=gbs_navlinks_s

[6] New York Times ibid.


[8] See the end of this article:

The Future of Education II – A New Curriculum

In a previous article, I discussed how interactive technology can be used to move beyond the lecture-system of education that has been dominant for so long. In this article I will discuss what material should actually be taught. I think the educational syllabus in many subjects should be changed to reflect the changing nature of knowledge. In addition, the educational curriculum should be changed to teach new skills that are relevant to the information age.

People are Not Hard Drives
The development of computers and the internet has changed the way people can access information and therefore changes the nature of the material people will need to learn. When knowledge was stored in books, perhaps it made sense to require people to memorize large amounts of information. However, since knowledge is now available at the touch of a smartphone (or even through speech), people can have easy access to the information they need without having to have spent years memorizing information. This information can obviously be much vaster and more up-to-date than anything they could have memorized. This does not mean that people will not need to learn anything and can just become an instant expert in any field by Googling any issue they have. (Try fixing your car’s transmission based on an eHow guide.)

An expert will need a solid understanding of the principles of his field and practice in applying them so that he can correctly draw on database of information to solve a specific issue. This is what students will need to learn instead of memorizing thousands of little details. Perhaps a student training to become a doctor no longer needs to memorize every inch of anatomy. The curriculum of many fields still remains focused on the same material as it did a few decades ago, but it may be time to revise it in light of modern technologies.

People are not Computers
Computers can do much more than just provide access to relevant information. Any problem that can be solved with clearly-defined steps can be programmed so that a computer can solve it. This fact also needs to be taken into account when designing a syllabus of study. Many areas of education involve students learning to mechanically implement set procedures and formulas to solve problems. This is particularly true in math-related areas such as mathematics itself, the sciences and parts of business and economics. These mechanical processes can all by definition be solved by a computer, so why pretend that these technologies do not exist? Human computers were once necessary, but they have since been supplanted.

Instead of focusing on being the computer, students should learn how to do the things computers cannot. They should learn how to use the computer tools and learn how to take real-life problems and convert them into a form that computers can solve. Computers are still quite poor at solving general real-life problems unaided by humans, and this is an important skill people will need. Even as computer programs improve, there is always an area where computers cannot solve problems, and people will be needed to work on them. Instead of teaching methods that are no longer needed, the focus of  education should be on the areas that are beyond the reach of computers.

This does not mean students should not learn any principles of a subject that a computer can solve. Students who are training to be an expert in a field should learn the basic principles of it so they can fully understand the material and be able to apply it in cases where a specific program does not exist. But it is not necessary for students to memorize a large number of mechanical methods for solving specific problems (without understanding them) when they will anyways just use computers to solve such problems. Plugging something into a formula or into a computer involve about the same amount of understanding, just one way is a million times faster. So perhaps it is not necessary to for high-school students to learn all those formulas and methods. Students should either understand a subject, know how to apply it, or learn what computers cannot solve, but there is no reason to treat them like mechanical computers themselves.

A New Curriculum
New technologies should cause more changes than just modifying the focus of specific subjects. The curriculum of subjects itself should be changed to meet the needs of the times.  Besides learning subject-specific computer skills, students need to learn general computer-skills that will allow them to use computers effectively in many different areas. There are many computer skills that many people do not know well, from the most basic (such as typing) to the more advanced (programming). Since these skills are often extremely useful, they should take precedence in an educational curriculum over less important subjects.

A Simple Example
Typing is obviously one of the most common and useful skills of modern times. People almost never write things by hand anymore, but instead type almost everything. Yet many elementary schools still focus on teaching cursive in 4th or 5th grade! While this was never very useful, nowadays it is completely pointless since no one writes in cursive. Many people never learn how to touch-type correctly and instead use the hunt-and-peck method to type throughout their life (I’m currently using a modified pecking method myself to type this myself). This is probably one of the most basic things that kids should learn when they are younger. There are also simple related topics people should learn, such as keyboard shortcuts and the purpose of certain keys, e.g. the “home” key. (I’ll teach that right now: It lets you go to the beginning of a line without having to press the arrow key 20 times. You’re welcome.) These skills are very basic, but learning them can probably save people hundreds of thousands of hours over the course of their lifetime.

Other Computer Skills
Typing is a simple example of the most basic skills people need, but there are many other areas people need to learn, such as greater proficiency in using operating systems and common computer programs. For example, many people do not know how to perform common tasks in Word or Excel (such as managing styles or creating graphs), despite their common practical use. There are also certain higher-level skills that are very important. For example, while there is a huge amount of information easily available on the internet, it is not always easy to quickly find the information a person needs.  There are skills and techniques people can learn to improve their ability to construct and filter searches, and to organize and index information they encounter. Google and other services cannot automatically find the best result for the exact thing a person is looking for, so people need to learn the skill of good searching and organizing.

Currently, high-schools force students to learn many difficult subjects in the math-logic realm, such as trigonometry and geometry, which they may never use. Yet there is a basic logic-based skill that would be of more interest and relevance to all: programming. Instead of learning so many details of math, students could learn programming, which can be used to do math and much more. While many people will not have any interest in programming full-time, most people will get some benefit form learning the basics of programming. This will enable them to do many tasks in the modern age, such as creating simple apps or websites, using macros in Excel, performing simple manipulations of text, or writing simple scripts for various scientific or business applications. Programming can be considered one of the basic skills that people should know in modern times.

Some may fear that adding these computer subjects to the curriculum may cause other subjects to be de-emphasized. In some cases, it may be possible to use more effective educational methods so students can learn both the old and the new subjects. However, people may need to choose which subjects have priority. Perhaps subjects should be empirically evaluated for what actual benefits they provide for the students. Studies have shown that most students do not actually improve their critical thinking skills over the course of the time in college. In a struggling economic climate and with extremely high prices for tuition, perhaps it may be time for the curriculum to focus on practical skills that students will actually use throughout their life.

The Future of Education

The development of the internet and related technologies has revolutionized many areas of the modern world, everything from research to shopping. However, the educational system has basically remained the same as always, with little improvement or innovation. Yet, things are starting to change. New technologies and developments in online education will help make learning less expensive and more effective and enjoyable.

Currently, most educational institutions follow a lecture-based learning model. In general, the teacher or professor recites the same lecture each time for every class he or she has on a specific subject. This raises a simple question: why can’t students just watch a video of the lecture?

The basic advantage or repeating lectures is to make the class more interactive so students can ask and answer questions while the material is being taught. However, this is often not so effective in practice. Different students understand different things, and one student’s question might just be an interruption for many other people. Therefore, a student might not ask the question, but then won’t be able to follow what comes afterwards.  Perhaps certain subjects could get a discussion-model to work for small, selected groups, but then the per-student cost for the class would be very high.

What actually happens in many cases is that students sit passively in class for most of a lecture, with little interaction and varied levels of attentiveness. Such a class does not really provide any advantage over a video of the same lecture, which students could watch instead. In fact, once the lecture becomes a video, it can be given once by the best presenter on the topic, and then shown to all future students throughout the world. This model has been particularly successful with Khan Academy, a website with thousands of free videos on various topics. By having the lecture on video, a student can watch at his own pace, pausing it, fast-forwarding or rewinding it when necessary. Many students preferred learning from these videos over any other approach.[1]

Khan Academy does not even show any lecturers in its videos, the focus is on the material itself. This might be a little too extreme, since a blackboard can get a bit boring at a certain point. However, educational videos can move beyond such simple graphics and display sophisticated diagrams and visualizations that can make the material clearer and more interesting. For example, the focus of a biology video can be on the actual organ or cell being studied, rather than on a lecturer or blackboard.

Videos themselves can be useful but they are not the ideal total system to learn new material. They offer little interactivity, and play at a constant rate, ignoring the student entirely[2]. Newer technologies allow the student to go through the material in a more active and engaged manner.

At a simple level, the student can always be required to be answer questions and complete challenges in order to move forward to the next topic. This way, he will always be involved in doing things, not just watching them. The system can quiz him and keeps track of what he knows, so he can be tested on it later. There can also be various gaming elements as students compete for high scores in their topic. Khan Academy has recently begun adding such features to their website, and has reported much success.

Besides just having quizzes, the educational content itself will be much more interactive than a simple lecture, text or video. The student will not just passively watch content, but will be able to manipulate and explore virtual representations and objects. Some topics can be learned through simulations and games where the student will be able to directly partake in the subject material itself. For example, when learning physics, students can play around with a physics simulator to explore how different laws work. They could then be required to complete a virtual activity that requires the correct physical knowledge, such as building a bridge or firing a rocket. This would make the subject more interesting and understandable than current methods.

Although computer-based education provides many benefits, there are also some apparent disadvantages that need to be dealt with. When learning a subject it helps to have someone to whom one can ask questions. Googling questions do not always turn up good results, and sometimes one needs specific help with a particular issue. A good online educational system would need to provide ways to get specific help. Some of the content and questions can expandable sections and links that provide more explanation when needed. General questions can be asked in online forums, where other students or experts can answer them. This model has worked well on sites like where strangers often give excellent answers to answer to other people’s questions for free. It can definitely work for a group learning a subject online, and there can be experts who review some of the answers or answer the most difficult ones.

If a student needs help with a specific issue, it may sometimes help to have an actual person he can ask the questions to. However, there is no need to have a teacher give a whole lecture just so he can answer students’ questions. The student can learn the subject online, and then if he runs into an issue that another student cannot answer, he can ask a designated expert on the topic.[3] When needed, these experts can also give specific feedback on a students’ work. Overall, this model of answering questions can be both cheaper and more effective than the traditional one.

One apparently minor issue that arises when with computer-based education is the opportunity for distraction. Before computers, people only had their pens to distract them while studying. (In fact, for some students, scribbling is one of the main skills learned in school.) Yet now, thousands of distractions lay just a click away at any moment.  While this may help alleviate the boredom of a student stuck in class, it raises a fundamental issue: How will people learn how to scribble? Also, it raises another important issue: How can one focus in the age of Gmail, Facebook, YouTube and non-stop news? In one way, moving education from the dry lecture to a more interactive model may help it compete better with modern distractions, but they will still remain a major problem.

Any technology that puts people at a computer to learn will need to take these issues into account. On the superficial level, time-management programs, such as RescueTime and LeechBlock, can be placed on computers to help prevent students from wasting time. To help encourage people to actually do work, there can be general tasks they must complete, so they can’t just do everything right before the tests. This will help encourage deeper learning of material than the current test-focused models. On the more fundamental level, people need to develop proper focus and work habits, but this is something which becomes easier when the material is more interesting.

Currently, education is extremely expensive. Over the last few decades, costs in education have risen far higher than the pace of inflation, but without improving their results. For example, at Yeshiva University, tuition rose from $16,000 to $33,000 between 1999 and 2010.[4] Obviously, if people switch to a completely online education system, they will be able to save a significant amount on tuition. But there can also be significant savings if schools switch to a “blended model” where students learn most of the material on a computer but still meet in person for some study groups and classes. University costs will be able to be dramatically cut, while the education may become more effective and enjoyable.

The move to online education is already happening, and it is already working.  A 2009 meta-study by the US department of education found that “…on average, students in online learning conditions performed modestly better than those receiving face-to-face instruction.”[5] Online education is not only far less expensive than traditional methods, it also has better results.  These results will only improve as more sophisticated interactive content and methods are developed.


[1] See Wired’s article on Khan Academy, at

[2] It is true he can pause the video, but one doesn’t have the same control of “processing” the content when it’s a video, and it is hard to refer back to a previous part.

[3] This would be similar to the “shoel u’meshiv” of a traditional Beit Midrash. One expert will be able to serve a large number of students for each subject.



Building Websites II – Creating Static Webpages

Static websites are written in HTML. It’s a simple markup language to format documents and display basic elements in them. This series will show you how to create websites without having to deal with the actual code, but its useful to work with programs that keep the HTML clean so you can later use it while working in the program. An excellent program for such purposes is Microsoft Expression Web. It can be purchased relatively cheaply online, and is free for college students without any restrictions. To download it, sign up at Dreamspark with a Microsoft account, and then give them your student email address. After they verify it, you’ll be able to download the installation file to a CD and install it on your computer.  One you’ve done that, you can read the dry introduction below to get to know the basics of Expression Web and its layout.

 Creating a Site with Expression Web

After you install and open Expression Web, click on Site>New Site to create your first site. There are different options you can choose from, such as trying one of their templates, but you might as well just create a single-page site. Pick a location and name and hit ‘OK’. This will create a folder with a single file called “default.html”. Whenever you go to a website without specifying a specific page on it, it sends you the homepage of the site, which is usually called “default” or “index”.  So make sure to name this file correctly, or when people visit they will get an error. You can find out what format your web host uses by seeing what default files come with it.

 Creating basic web pages

After creating a site, double-click on “default.html” to edit it. It will open in a new tab, and you can immediately begin creating your site. You can type whatever content you want in the WYSIWYG editor.  Although you don’t need to edit any code now, you should be aware how easy it is to do so. Just click on “code” on the bottom left.  This is where you could type or paste direct code. To view both the code and the design view simultaneously, just click on “split”.

 The Toolbar


The toolbar on top of expression web contains the basic options for customizing your webpage content.

In the center-right are common options that shopuld look pretty similar to toolbar options in other programs,  like bolding text or making bullet points.


Further to the right are options for inserting basic HTML elements, such as a table or div. Tables should be used to display tabular data, while divs can be used later to help format your site. They mark off blocks of the site that can be formatted in specific ways. There’s another button for inserting an image, though you can also just drag an image into Expression web from your computer. When inserting a picture, a dialog will pop up to prompt you for alternate text if the picture cannot be viewed.

The next button is for inserting Hyperlinks, one of the fundamental aspects of the web. No longer is information out of reach, everything is just a click away. After selecting on text and clicking on the link button (or pressing ctrl-K), a dialog will pop up. You can choose to link to another page in your site by selecting it, or you can paste in a URL to another page on the internet. Another option is to link to another spot on the same page, but to do this, you will first need to insert a bookmark at the location you want.


On the center-left of the toolbar, there are styling options similar to those in Word, but customized for the web. The drop-down box on the left contains names for different HTML tags, mainly headers and lists. You can select text and then click to apply the style that you want, such as “h2 – Heading 2”.  This will by default make the text larger to mark it as a heading.  You will also be able to format such headings more specifically with CSS styles.

The font option doesn’t just list one font, but a whole series of them, or “font family”. This is to make sure your site will display some font on any browser that its viewed on.  In case a viewer does not have the first font on his computer, the browser will display the next font in the family.  The font option has different sizes, xx-small to xx-large. They also display certain default fonts, though these can be customized later. On the web, you do not want to be locked-in to certain font-sizes, so the focus is on changing the relative size.

Styling sites and CSS

Since Expression Web is meant for creating standards-based websites, it uses normal CSS to style and format webpages. CSS is the styling language used on websites to control the presentation of a webpage, such as what colors and fonts to display for each HTML element. While we won’t go into all the details of CSS, you should be aware how it works and how Expression Web generates CSS.

CSS lets you select a certain general HTML element such as “h2” and apply a specific look to it. You can also mark specific items with a “class” and then use CSS to only modify items of that class.

In Expression Web, you can select a specific item by highlighting it, and then apply formatting to it by clicking on one of the toolbars, or by clicking on “style” in tag properties pane on the left. When you apply a style, Expression Web will mark that item with a specific class, and then use CSS in the top of the page’s code to apply the look you selected.  This area of CSS is known as an Internal Style Sheet.

If you want to edit the style of multiple items, such as every “h2” element, you can click on “New Style” in the Apply Styles pane on the right. This will diplay a dialog box with many different options. You first need to select what item the style will be applied to by choosing the “selector”. In this case, you would choose “h2”, though you could choose from any of them, or make your own to apply it more specifically. You can leave the “Define In” as “Current page” for now so the styles will be defined in the Internal style sheet. You can then try out the different options to see all the different ways you can edit something with CSS.

If you want to make things more efficient and apply consistent styles across all the pages of your website, you won’t want to keep all the CSS on the page itself, but on an External style sheet. You can use one of Expression Web’s default style sheets by clicking on File>New>Page>Style Sheet and selecting one of the CSS pages. You can then attach it to your HTML page by clicking on “Attach style sheet” on the right side. This can be done on any page that you want to have that look, and will automatically apply all the relevant styles to the page. Now, when you add new styles through the “New Style” box, you can select “Define In”>”External style sheet” to have Expression Web put the changes in your general CSS page.

Previewing your Site

While the WYSIWYG editor shows you basically how your site will look, you’ll want to preview it in a browser also. You can do this from File>Preview In Browser and pick from one of the available browsers. They give you these choices since each browser displays things in a slightly different way, though you don’t really need to worry about such details at this point. When you’re done editing something, you can also just click on F12 to preview the page in your default browser. If you make another change, you can just save the page in expression web, and refresh it in your browser to see the latest version. (To do this all from your keyboard, click on “Ctrl-S” top save, “alt-tab” to switch windows and “crtl-R” to refresh.)

Publishing your website

Once your done creating your basic website, you will want to publish it online. The most effective way of publishing your web page is through FTP, or “File Transfer Protocol”, a way to upload and download files to and from your web server. Expression web has built-in tools for publishing FTP. Click on the “site view” tab>”publishing”. The first time you use it, you will need to “add a publishing destination”. You can name it whatever you want, but will need the FTP location, username and password that came with your web host. You can also select a specific “directory” (or folder) to automatically open when connected.  Once you’ve successfully added the FTP information, you should be able to connect to your web host at any point by clicking on “connect to current publishing destination”. You can then drag and drop the files you want to publish to the folders you want to publish them to, or you can select them and click on the right arrow. You can also publish files quickly from the “Site” menu, but make sure you’re sending them to the folder you want.  Once you’ve published your site, it will be available to anyone in the world with internet access. You have created a small part of the web. Congratulations 🙂