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


Google Fiber & the Future of the Web

What is Google’s goal with their new ultra-fast internet? Read my article on SeekingAlpha…

Today Google announced Google Fiber, their new ultra-fast internet. It will start becoming available to residents in Kansas City and provide them with either free regular-speed internet…

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.

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 :)

Google’s Idea, the Quality of Search & Quantum Mechanics

Google’s been in trouble lately for being too successful, so I thought it would be worth examining how Google improved search and what quality issues have arisen.

Historical background
In the 1990’s the Internet changed the world by providing a way for every type of information to be accessed from anywhere. Yet, this plethora of information would have been impossible to use without technology capable of sifting through it to find what the user needed. Many search engines tried different techniques to rank search results, but none of them did a satisfactory job.
In 1998, Google entered the scene. While Sergey Brin and Larry Page were graduate students at Stanford, they developed a new way to rank search results and created However, Google soon became a distraction from their important work pursing a PhD, so they tried selling it for $1 million, but no one wanted to buy it. Sadly, they were forced to drop out of school to focus on their company. By 2007, their company was worth more than $200 billion, but they still had no PhD’s.

How Google Works
Brin and Page realized that there was something important on the web that let them rank pages – hyperlinks. The links were simple ways for users to get from one page to another, but they realized the links could also be considered votes. The more incoming links a page had, the higher it would score in their algorithms, PageRank. They also factored in the importance of the linking pages, and the number of outgoing links each page had. This algorithm was finally able to rank pages in a meaningful way, and so Google became quite popular. Google also took into account the frequency and placement of different words, and has added many other factors into its analysis, but PageRank still plays an important role in their rankings.

Issues with Google’s Algorithm
An issue immediately arose with Google’s algorithm. A site could accrue many incoming links for two reasons:
1)      It was a high quality sit, so many websites linked to it.
2)      It spent a lot of effort and money into getting people to link to it so as to boost its PageRank.
The problem with PageRank is that it was too easy to be gamed. As Google became more popular, this became an ever-increasing problem. If only a few people used Google, it wouldn’t be worth the website owners’ efforts to try to game it. But once Google became so big, a site’s entire existence was defined by their rank on Google. Websites had to put a lot of effort into using the right keywords and getting lots of links, and many low-quality sites succeeded at this. Google tried to counter such moves with more advanced algorithms, but there was always a constant cat-and-mouse game between the websites and Google.

In the past year, this issue has been raised in many blogs and newspapers. The New York Times published three articles on websites gaming Google searches (The Eyelasses Crook, JCpenney and Online Flowers Stores). Many topics on Google were returning low-quality sites derided as “content farms” like and Associated Content as the top results. While these sites were sometimes useful, they often just stated the obvious without adding any real insight to the topic at hand. The content on the sites is created entirely so as to appear on Google results. Algorithms generate topics and titles based on Google searches and low-paid content writers quickly pump out articles to match the titles. Google’s algorithms were being beaten by content algorithms.

Like in quantum mechanics, Google was unable to remain an external obsevrer, their very act of looking changed the nature of the web.
Google responded to these criticisms with some algorithm updates, but with mixed results. It overall seems to have improved their quality, but low-quality sites still frequently come up high in the results. The problem has been especially problematic in certain high-expense advertising areas. Many sites that are mostly filled with affiliate links (where they get paid for each referall they send) have managed to reach the top of Google’s results with their “reviews” of the topics. For example, try searching for informative reviews of  web hosts, online colleges or penny auctions.
Many sites will pretend to give honest reviews without any disclaimer, but really just contain empty positive reviews so as to get you to click on their affiliate links. On occasion, they will hide an honest disclaimer, such as this top-ranking site for the search “penny auction scam”:
The website receives compensation for the reviews posted on the site. All the reviews on this site are meant for entertainment purposes only and shouldn’t be taken as fact. Many of the reviews are in fact sent in via email from other people. does not own any of the trademarks used on this website.  The typical person does not win anything by using penny auction sites.

Few visitors will end up reading their disclaimer, but I’m not sure this is the type of content someone investigating penny auctions is looking for. There are also searches where the top Google results have returned incoherent combinations of keywords without any meaning in English:
“With Purchase in every click advertising You could get Suited internet websites visitors into your Company net site The time and effort Your online Marketing is active.”

Other Issues with Google
Google still does not understand many types of queries, so even with a good algorithm for ranking, it won’t know what to search for. For example, if you type in a slightly complicated question, Google will often return irrelevant results. Often you will want to focus on a specific category or group of sites, but that is difficult to do on Google. There are times when the link-based algorithmic approach may not be able to tell which site will be most useful to an actual user.
Sometimes certain sites with overall good content always make it to the top of Google, even when some of their pages do not deserve to be there or are not the best for the user. For example, Wikipedia is on the top of Google for many types of searches. Yet often Wikipedia might not be written clearly enough for the average user who is not familiar with the topic.

Alternatives & the Future of Search
Google is constantly testing and improving their search, but there are also alternatives to Google. Bing is the only big competitor to Google, since they also power Yahoo’s search. Many of their results are similar to Google’s but they have more features for certain categories. Blekko is a recent entry to search which uses human editors along with their algorithms, and tries to only display results from high-quality websites. They also allow users to search specific categories of user-created topics. Google and Bing both recently added the ability to see friends recommendations in search results, and they might eventually allow user votes to affect global search results.

There are also other tools a person can use to find information and websites besides a general search engine. and Xmarks lets you search through other people’s bookmarks. The old-fashioned directory, such as the wiki-style Open Directory can occasionally be useful to explore a certain category. If you have a question,’s search engine is now focused on finding if anyone has asked it before. You can also try going directly to high-quality Q&A sites that cover your area, such as Quora or, for some topics, StackExchange.

One of Google’s weakest areas also happens to be the source of much of their revenue. Google makes 99% of their revenue from advertising, but especially in certain categories. They get most of their billions from advertising in commercial categories, especially certain ones such as insurance, loans, and law. Yet these results are frequently low-quality. People are looking for help with major purchases, they need a site that will either solve their issue for them or point them to the right site consistently. If a company is able to help crack such an issue, they may be able to grab a piece of the billions in advertising money that is available.

In the meantime, users can find other sites to help them with their purchases. There are many sites that help the user find the best deal within a specific area, such as the shopping comparison search Nextag, the compare-and-sort site FindtheBest, the review site ConsumerSearch or the bill-analysis site BillShrink. With sites such as these, the user can narrow in on the best deal at the best price.  

Guide to Building Websites – No programming required – Part 1

Many people want to build websites but think they will have to learn programming to do so. This series of posts will show you how to build a website without requiring any coding. Many basic sites can be set up without writing any new code at all. However, programming will be necessary if you want to customize things further, or to create a new type of site. This series will therefore focus on solutions that will work well with actual custom coding later. These posts will also be useful for someone with some programming experience who wants to learn the non-programming aspects of building websites.

What is a website?
A website means you have files hosted on a computer that is always connected to the internet, which is known as a server. The server sends webpages over the internet so that anyone connected can view them. So when a user goes to, a server from Amazon send his computer Amazon’s homepage. Technically, any computer can be turned into a server, but practically, you will want to use a web host to host your files on their servers.

So a website is just a collection of files? 

This depends on what type of site you have – static or dynamic. A static site doesn’t do anything, it can just display text, images, links and videos. The files are stored on a server and sent over to the user when requested. This may be enough for your site if all you need is a simple online presence for yourself or your business. The pages just consist of simple pages made with HTML and CSS. You can’t run any code from the server, but you can use javascript to run simple code from the users’ computers. However, if you need a site that can ‘do stuff’ such as using databases and running code, you’ll need a dynamic site, which will be discussed in a future post.

The easiest way to create simple website is to use a DIY-service such as Google Sites or They offer easy-to-use interfaces for creating simple sites. However, if you want to be able to customize more aspects of your site and have more control over the actual HTML, you’ll need a web host that lets you upload your own web files. This guide will assume you will pick a host with such flexibility. There are many free options you can choose from, such as, Microsoft Office Live or Static Cloud.


What is a Domain Name Registrar? 
A domain name registrar is where you buy your domain name from, such as A website actually requires two things – a web server that holds the websites, and a domain server that sends people to the web server when they type in the website name. For example, when you type in into your browser, the name is sent to a Domain Name Server which looks up and then sends your computer the information to connect to Amazon’s web servers. The web hosting and domain hosting are often packages together, but they’re two separate aspects. So you can buy your web hosting from one place, and then buy five domains from another place.


Where should I buy a Domain Name? 
If you’re building a simple site, offers a basic web hosting package with your Domain purchase. If you picked a web host separately, they normally also offer the option to buy a domain name. Though if you want a special deal, and often offer domain names for $1 for the first year (You can check deals here). If you’re going to get a dynamic host, most of them will throw in a free domain name. Otherwise most Domain Names cost about $10 a year. After you have a domain and a web host, you’ll be able to create static websites.


How will I do that? 
Stay tuned for the next post

Guide to Buying Textbooks

A new semester is beginning, so I figured I’d write a quick guide to buying textbooks. Textbook prices are ridiculous because capitalism doesn’t function correctly in many areas in academia. In this case, the professor who chooses what book to use gets the book for free, while the student just has to buy whatever is assigned. There’s no reason to pay full price for textbooks however, so it doesn’t end up being that expensive if you buy books the right way.

Where to Buy Textbooks

  • Another Student – If you can buy from students at your college, that’s probably the best option. You get the book right away without any shipping costs, and you can sometimes get free notes and tips too.
  • Buy it Used Online – Never rent a book or buy one from a  bookstore. Don’t just go straight to either. To get the best price, use a price comparison search. The best ones are probably and I also put up a book search at NYtextbooks. You just enter the information of the book you want, and find the best price for it on the internet. There’s no point in renting a book, since when you finish using the book, you can often re-sell it for only a little less than what you paid for it.
  • International Edition Books – The book publishers charge American students a very different price than what they charge the international students. However, American students can buy the international editions online on sites like or the slightly more reliable They are much cheaper to buy the international editions, and although “not authorized for sale in the USA”, there’s nothing illegal about buying them (The Supreme Court ruled on this issue in 1998). Lately however, the publishers have tried to make the international editions different than the US editions. If you’re not being assigned homework from the book, this normally isn’t an issue, but if you are, you’ll likely have the wrong problems. In theory, you can photocopy another students’ HW problems, or even downlaod a copy online, but that obviously runs into legal issues. Also, you often have to wait longer to get the book, since they normally ship from places like Singapore or China, so you should order the book in advance. International editions are also harder to re-sell, since it goes against Amazon’s and’s  terms. However, you can sell them to another student or on  
  • eBooks – These are normally not worth the cost. They often charge more than the cost of a used textbook, but only let you use it for 180 days. Eventually, they may add more interactive features to these eBooks, so they become a better option than using dried tree. 

How to Fix the Patent System

Why do patents exist? A person does not inherently own the rights to his ideas. The patent is an artificial construct to encourage innovation in areas that otherwise would be under-developed. For example, certain companies invest millions of dollars in R&D and only get a return on their investment if they own exclusive rights to their inventions for a certain period. In this way, the patent system can encourage innovation.

However, in many areas, the current patent laws end up causing the exact opposite. Software patents are often given as the prime example where patents end up stifling innovation. Frequently, patents are granted for ideas that are not really that innovative. Often the patents are granted when similar ideas had been floating around before. In other cases, many people can come up with the idea independently, but once company manages to patent it first and exclude others from using it. In fact, even if a person is only later able to come up with he idea on his own, why should the initial patent prevent him from using the idea? He was able to discover it without their help, what economic good is served by preventing him from using it? It would be difficult to prove he didn’t see the original patent, but the system should be adjusted so only extremely innovative patents are granted.


Another issue with the patent system is the inefficiencies and costs involved. It costs many thousands of dollars to apply for a patent, and then it can take the government years to process the patent. The whole system is slow and inefficient. Patents should have a much higher bar to be granted, but they should also be a quicker, cheaper process.

Recently, some have begun trying out to crowd-sourcing some of the patent review process. Instead of just having inefficient government clerks reviewing the patents, some have begun opening the process to the wider public. This way many people can review the patents to see if they involve any “prior art”. This is a good step, but the very definition of the patent needs to change. Even if a patent does not involve prior art, who says the idea is so innovative that others couldn’t have thought of it on their own?

Instead of just checking the patents for prior art, I suggest a more radical move. If an idea truly deserves to be patented, then no one else should be able to think of the same idea on their own. To apply for a patent, a person or company would have to submit the problem they are trying to solve, and the general area of the solution they have in mind, which would all be posted to a public site. Their actual solution would be posted privately to the patent site. If no one can suggest the same solution, than the patent is truly innovative and will be granted. But if people can come up with the same solution on their own, then no patent would be granted. Why should there be a patent, when others were able to figure out the same idea?

This would greatly reduce the number of patents that are actually granted, but it would fit with the way ideas are actually discovered. In a recent paper, “The Myth of the Sole Inventor“, Mark Lemley demonstrates that most inventions are invented simultaneously by different groups of people working independently of each other. There is little reason why one group should be granted exclusive rights to something that would have been invented anyways. In my proposed solution, they would both be able to submit to one site, and instead of a patent being granted, the idea would become open to the public. The companies would still be encouraged to submit their ideas, whether to get their patent, or to prevent their competitors from patenting the idea.

By having the general public review the patents, people will suggest different ideas, and this will lead to even more innovation. Of course, this will lead to large numbers of submissions, and new methods will be needed to categorize and process all the patent data. In the current system, the patent-reviewers do not even have access to the internet when reviewing patents. In the new system, all patent applications will be well categorized and tagged and have clear semantic data that could be processed by computers. This way, it will be much easier to find related patents, and perhaps even to discover what areas are ripe for new ideas.


The entire patent process would be much quicker and cheaper. Instead of payinggovernment clerks to review the patents, the process would be open to the public. People will compete with each other to suggest solutions to the problems or to find related patents. They’re could be some financial incentives, or there could be certain opportunities for suggested ideas to be patented themselves. But people would likely partake in the process without even getting any money, as they do on sites like Wikipedia and However it is done, the whole process will be much faster and cheaper than the current system.Many details of such a system would still need to be worked out. Perhaps it could then be tried out in a small area of software patents. If such an idea succeeds, it could lead to greater innovation, a greater spread of ideas, reduced legal costs, and a true stimulus for the economy.

Math Education

Intro – Education & Math
Mathematics is probably one of the most important subjects taught in school, and the school system does spend a large amount of time on it. But they do not teach it in the best manner. There are a few basic questions that need to be asked, such as Why, Who, What & How. 
Why teach math? 
Its useful. Its wise. But how well do are these reasons applied in practice? 
Who to teach math to? 
Many people barely use or appreciate any of the math they learned after division, so they don’t get much from it. There’s little point in causing them all that trouble. Maybe people who have no mathematical inclination, should not  go through such a system. Of course, an improved system might interest some of them… 
What they teach now
I never understood (at least since elementary school) why they have to teach so much by hand. What is the point when there are computers? People give many reasons to defend the practice, but they’re mostly just attempted justifications for keeping things as they are. For example, some people used to say ”What will you do if you don’t have a computer/calculator?” I’m not sure that rare occasion ever really justified spending so many years on it though. Anyways, that reason has become obsolete now that everyone has cellphones, and soon all will have smartphones.
A slightly stronger claim is that true understanding only comes when you do it on your own without a computer. Except there’s no real fundamental difference. People rarely actually understand what they’re doing, they just plug things into formulas they’ve memorized. In which case, they are just like a mindless computer, generating an answer. I bet many people don’t even know why the most basic formulas work, such as multiplication of 2-digit numbers.
Also, much of the math learned doesn’t even involve any true understanding, its just techniques to do things before computers. For example, most of calculus II is learning unnecessary techniques to solve integrals. There is no reason for so many people to learn such things when they can have silicon “formulas” to the work for them a billion times faster without errors. 
What they should teach
I’m not even sure how much of a value there is teaching the understanding of every formula. Maybe for mathematicians, or in certain areas. But the main thing they should be teaching is how to convert life into math so the computer can solve it. Computers cannot analyze life on its own, and wont be able to for quite some time. Students need to learn how to take questions in life and mathify them. People can focus on the higher-level interesting and useful questions, and let computers do their calculating thing. 

For more on this topic, see Conrad’s Wolfram talk, which discusses similar issues.