As mentioned previously, Google was going to offer a quick ways to host your static website: Host Webpages with Google Drive. This makes it quite simple for someone to share a website. I assume they’ll get around to making it easier for people to use it with a custom domain.
The US government warned about using Java due to a vulnerability that was being exploited to install malicious software. Oracle has since released a ‘patch‘, but people don’t really need to run Java applets that much anymore. I don’t think these vulnerabilities are relevant to other software that runs on the desktop or phones.
Also, an exploit of Ruby on Rails sites was published last week. While a patch was released, some sites won’t update quickly enough. This will probably cause an increase of hacked websites as hackers find vulnerable websites. I wonder if it was really necessary for people to publish the vulnerability so quickly.
College costs have been rising at a ridiculous pace, despite the poor economy and their poor results. A group of people create an infographic on this topic and sent me the link to share: College isn’t cheap. It shows how many college graduates are stuck with school-debt, but cannot find jobs. I think there are big problems with getting people into so much debt when there’s no guarantee their degree will help them.
Meanwhile, the Wall Street Journal reports that colleges have finally begun cutting tuition increases and offering more scholarships. This means they need to cut back on some programs. However, there are much greater changes that will need to happen, such as greater use of technology in education.
Mathematica 9 just came out and it has a bunch of new features, such as a suggestions bar which helps you perform various actions after you enter a query, and support for units, like “centimeters and gigabytes”. I think math education should make much greater use of computers, and Mathematica is the most powerful tool to do so. In addition, it has many beginner-friendly features, such as the ones above or the ability to enter input in English if you don’t know the Mathematica syntax for something. Perhaps math education should be based on figuring out how to turn real-world problems into a format Mathemtica can understand.
Bing vs. Google
A while ago Google changed their shopping search from being free like their regular search to paid-only inclusion, like PriceGrabber and Nextag. Microsoft just launched a campaign against Google, calling them Scroogle. It attacks Google for not stating more prominently that the results are paid, and that they even partially base their sorting by how much much a merchant pays.
I don’t know if it’s such a big deal. Google Shopping used to be filled with all sorts of low-quality sites, and now it’s much easier for them to keep it high-quality. However, they have lost Amazon from their results, which makes a pretty big difference. Also, it would be better for the user to not factor in pay when you initially display an item. They don’t seem to do that though for a general search, and for a more specific one, you can always sort by price, which wasn’t useful when they had low-quality results.
I made a couple of small changes to the Web Host chart, including adding another free static web host. More of those services should be coming out soon with the announcement of Google Drive support for web publishing. To keep on top of updates and add additional details, I created a Webpage version of my web host guide. This should be the one-page stop for people to find the right web host.
In the last post, I discussed some steps for learning to program, and ended with a few general resources. This post will provide some specific links and free books for learning programming with either Java and Python, and the next post will go into web development languages.
As discussed, Python is a great language to learn programming with, and there are tons of learning resources online. A good path would be to start with a simple tutorial and problems, and then go through a more advanced resource that teaches fundamentals of programming.
Codecademy recently expanded to offer Python tutorials, and they have a well-designed site that’s good for beginners. There are many other places you can practice problems, such as CodingBat or PythonChallenge. To get a better understanding of what the code does, you can visualize your Python executing.
To learn computer science fundamentals, How to Think Like a Computer Scientist is a great interactive book to go through. After you get through that (or if you already have programming experience), you’ll want to look at Dive Into Python 3. If you want a video course, Udacity offers short videos combined with coding problems. You can start by building a search engine in Introduction to Computer Science, and then move on to either Algorithms or Web Development.
Also, If you know a kid who wants to create computer games, Invent Your Own Computer Games is a free eBook on the topic (see also the PyGame modules.)
There aren’t as many free Java resources, but there’s enough to get started. There’s a Java version of How to Think Like a Computer Scientist available online. There’s also a free version of Thinking in Java, though you may want to buy the most recent version instead. If you like lots of pictures and attitude, Head First Java is a good book. Once you have more experience, the recommended Java book is Effective Java. You can also go through the official Java tutorials.
Since Java is a different kind of language than Python, there aren’t as many interactive resources online. To practice problems, you can go through CodingBat and some stuff on Programr. However, to benefit fully from Java’s “safe” features, you will want to do most of your programming in an IDE. I used to recommend against using a beginner IDE like BlueJ, since it lacks features that are also useful for beginners. However, their IDE has improved so that it contains most beginner-friendly features, such as built-in documentation. A good IDE to use later is IntelliJ, and Google recently came out with a version of it for Android. However, if you know a kid who wants to learn programming, it might be worth checking out the Graphics-focused IDE, Greenfoot.
Since app-development is very popular, I’ll briefly discuss it here. Due to Android’s complexity, you shouldn’t try developing apps before you’re comfortable with Java. One you’re ready, Google provides a fair amount of training resources. You can also buy a book like Programming Android. If you’re impatient to start creating apps, you can use the visual programming tool AppInventor, which should help teach some programming concepts.
Everyone now and then I post a few recent interesting tech links with some comments. Most of the links usually come from Hacker News. Today, I was able to paste in the 4 links quickly due to Email All Tabs, a life-saving (or second-saving) extension. I may be a bit biased about this extension, since I recently made it and submitted it to the Chrome store. Future version of the extension may include more features (such as the ability to include many long links). Anyways here are the links of the day:
Dwolla, the practically free payment provider, announces a new product for mass-payments. I always thought the fees Paypal and the credit companies charge seem somewhat high. They often take around 3% + transaction fees just for handling the money. I wonder if money changers in medieval times charged that much for providing a similar service that also included currency conversion:
In the market, most large transactions were done not by cash/coins, but by transfer order of funds on the books kept at the local money changer(s). After a market/fair ended, merchants gathered at the local money changers and withdrew their deposit in their own different currencies. The rate of exchange between different foreign currencies and the local one were fixed between the opening and the closing days of the market.
Tesla Motors does not feel its sufficient to invent a new class of electric cars, they also want to create a new model for selling them. They have managed to completely skip the standard car-dealer controlled sales process. Car dealers have too much legal protection from competition, so it’s nice to see someone challenging them. In this post, Tesla’s CEO diplomatically explains that he understands the protectionist car-dealer laws, but they do not apply to Tesla, which does not deal with car-dealers.
Obligatory link about math education.~ This somewhat long post says math is about rules that can be used as Lego blocks to build things, while schools just get people to memorize things that have been built. Its true that math education often just consists of memorization, though its often the rules that are memorized. It may be difficult for many people to learn how to wield math, so the educations system just settles on getting them to act like machines (see my early post on this). I think math education needs to be taught in different ways to different people, depending on their aptitude and inclination.
Italian scientists convicted of manslaughter and sentenced to prison for incorrectly predicting that an earthquake wouldn’t be so bad. Seems pretty crazy, but I didn’t look into the details.
Humans are still better than computers at interpreting images, but they’re too slow. So it makes for the Army’s threat-detection system to to use a computer to filter the images to only show the human possible threats.One would think the job would then be for the human to press a button when a threat is detected. However, that’s too slow for the computers, so instead they just use an EEG to read the human’s brain and sense when a threat is detected. So the human is like an advanced motion detector for the machine.
The Patent office came to StackExchange to ask for help in detecting prior art so patents can be invalidated. If this catches on, it can help reduce some of the rampant patent lawsuit that have been going on. Maybe one day they’ll consider crowd-sourcing the actual granting of patents.
Another attack on high-frequency trading, pointing out that they’re just ‘hacking’ the system without providing any benefit to society.
It is quite difficult to change the education system. New Orleans was able to do so after Katrina, but even that may not always be enough, as Mayor Bloomberg found out:
Mr. Bloomberg wouldn’t have won [approval to start new schools] even if he had razed the schools to the ground and salted the earth. The union contract says the city has the right to open new schools that “did not previously exist.” But Mr. Buchheit ruled that a school cannot be “new”—even if it has a new staff that runs the joint in new ways—if it replaces an old institution, as if a public school has some permanent claim on being. This metaphysical adventure raises the question of whether New York can change any school ever.
New York has been able to offer some schools outside of the public school system, and Joel Klein, the former head of the NYC public schools, reports their results:
But what really puts the lie to the notion that poverty prevents dramatically better student outcomes than we are now generally seeing in public education is the performance of several individual charter schools or groups of such schools. For example, Success Academies, a charter group whose students are almost 100% minority and about 75% poor, had 97% of the kids at its four schools proficient in math and 88% in English. Miraculously, that’s more than 30% higher in both math and reading than the state as a whole.
Joel Klein is currently the head of the educational division of News Corporation. They just announced Amplify, their new plan to provide students and teachers with interactive educational tablets. Big money is now behind efforts to improve education with technology. Meanwhile, every day more universities are joining with Coursera to provide educational content for their online courses.
While Coursera is partnering with the universities to provide traditional educational content, some are taking a completely different path. With college tuition more expensive than before and the job market worse, some are turning to apprenticeships. NPR reports on Siemens apprenticeship program in North Carolina which focuses on teaching student-workers practical skills. A related development recently has been “programmer boot-camps” which lets people without programming experience learn to build websites in only 3 months. Venture Beat reports on an online program called Bloc.io. Apprenticeships were the way people learned skills for thousands of years before college attendance became widespread. Companies may increasingly start wondering why they are asking for students with a degree instead of people with the skills that are actually needed. Together with online education, this may lead to new education system.
Since I’ve discussed this topic before, I have to link to this article in the Atlantic by the Judge who recently dismissed an Apple-Motorola case:
He gives a very clear description of the problems in the patent system, and then suggests a few ways to fix it, such as eliminating patents in certain industries, eliminating court trial or requiring the patentee to produce the item within a specified time. See also my suggestion here for fixing the system with crowd-sourcing:
The U.S. public school system is a government-protected monopoly that fails to provide a satisfactory education for millions of children. Charter schools are government-funded alternatives that operate independently from the public school rules and are therefore often able to find ways to provide a better education with less spending. Since they are not part of the standard system, if they fail to perform well they can be shut down. The Wall Street Journal and the Economist both just published articles about the advantages of charter schools over the public school system:
Craigslist is a website a bit behind in the times that fails to offer basic features to help users find things or avoid scams. Padmapper is a website that allows people to find listings from Craiglist (and other sites) on Google Maps. Recently, CL sent Padmapper a cease-and-desist letter to stop displaying CL results. Whenever a site becomes successful building off CL listings, they get sent this letter. CL as a website is quite poor, but they have a huge user base that makes it very difficult for a competitor to gain a foothold in the market. Both buyers and sellers just go to CL, since, despite its poor quality, everyone else is there. The easy way for companies to win is to display (a.k.a “steal”) part of CL’s listings so buyers will immediately find a useful website, and then they can get sellers later to list on their site. To prevent this from happening, CL needs to send out legal letters whenever a site starts becoming big. For example, in 2005, CL sent Oodle this letter.
The Cease-and-Desist letter normally results in the website complying, and that was what Padmapper’s CEO initially said he would do. However, he just did an about-face and announced he would be using a possible loophole to continue providing the data. Instead of scraping the results from CL, he would use 3taps.com, which gets their results from Google’s cache of CL. I don’t know how that will play out legally, and it seems to be a shady move, but its potnetially good for the user. While CL is all “noble” about having free listings without even requiring an account or any identification, their site ends up being filled with scammers and spammers. If companies find a way to create successful alternatives to CL, the user will benefit.
Two professors just released a parody video critiquing Khan Academy. Its pretty boring and too nitpicky, so you can instead read the article about it in the Chronicle of Higher Education. Their basic critique is that Khan Academy focuses too much on procedural thinking and not enough on actual thinking. This is an issue, but traditional education suffers from a similar flaw. Often, schools just teach for whatever test it is that students must take, and ignore actual understanding of the material. To properly explore a topic, one would have to hire an very good teacher to teach a small group of students who are all at a similar level. This would be very expensive. A more realistic plan would be for students to use quality interactive software to learn the material and be able to discuss it with their peers, and when needed, be able to consult with an expert or advanced student. This balanced option could probably produce the best result for many students at the lowest cost.
The other complaint in the parody is the quality of Khan’s videos. It’s true that Khan’s videos are pretty simple, but he himself recognizes this. He stresses the main power of the site is the amount of data they have and their ability to add new features. For example, they added an intelligent quiz tool, and they will be adding additional interactivity in the future. This will improve the site, but there is also room for other players to contribute to online education. For example, if a site would make it easy for many people to create interactive educational content…
The open-source software company RedHat has been running their cloud service OpenShift for a while now, but it wasn’t too useful for non-developers. However, yesterday they announced Instant Applications, which lets anyone instantly create a WordPress, Drupal or Ruby on Rails website. This can be very useful for people who want free WordPress hosting, (especially since DreamHost ended their free hosting) and it will be able to handle any amount of traffic. They will eventually start charging for it, though I assume there will still be a free tier.
Steps to create free WordPress blog:
- Sign up for OpenShift.
- Go to create application and select WordPress.
- Pick your general public name and app name and then click “create application”.
- After the app is created, you will be able to log in to it with:
Username: Admin Password: OpenShiftAdmin
Make sure to immediately change your password from the WordPress control panel! (Users>Your Profile>New Password)
To setup the WordPress blog with your own domain, see these instructions on the OpenShift blog.
A basic problem with the Computer Science curriculum is that it does not teach students what they’re interested in or what they need to know professionally. Most students would probably prefer practical programming experience but they get CS degrees since that is all that is being offered at their college. The schools don’t want to be a “trade school” so they instead require students to learn difficult and often unnecessary material. Besides making it more difficult for the students who do succeed, it ends up scaring off many people from a career in software development all together. Its time for more options to be offered and for some disruption in the education system:
How does blending learning compare to the traditional model? A new study finds that they can teach the same amount in less time:
In experiments at six public universities, students assigned randomly to statistics courses that relied heavily on “machine-guided learning” software — with reduced face time with instructors — did just as well, in less time, as their counterparts in traditional, instructor-centric versions of the courses…
“Our results indicate that hybrid-format students took about one-quarter less time to achieve essentially the same learning outcomes as traditional-format students,”
As elearning becomes more popular, I think it will continue to demonstrate its effectiveness, which will create a cyclic effect and cause further adoption. Its biggest challenges will be taking on the current monopolies in education, but I think in the long-term it will succeed.
Betanews discusses the problems with Android being customized by Amazon and others:
It seems there are many problems with Android being so open-source, both for Google and the consumer. The fragmentation issue is a frequent topic on the blogosphere – how Android is being fragmented into too many versions, both from manufacturer customizations and people on older versions of Android. This makes it difficult for developers to create apps that will work well on the various versions of Android. Manufacturers or cell phone companies are able to customize the OS is many different ways, frequently making changes that can be annoying to both the user and Google. For example, Verizon once made a deal with Microsoft to make Bing the default search engine on some phones. And companies such as Amazon can go further and create an entire competing ecosystem. In addition, it seems it makes it easier to sue over Android, since one can point to specific lines of code that infringe copyright or trademarks.
All these issues raise the question – why did Google make all of Android open-source? It’s not like they’re relying much on other programmers to contribute to the code. While Android was based off Linux and started as an open-source project, couldn’t Google have kept some of the code closed or at least placed certain restrictions on it? I asked this question a while ago on Quora, but I’m not sure if the answers completely resolve the issue. The purpose was to get more people to use Android, and thereby get them to use more Google services, such as search. That makes sense for why they would invest in Android and give it away for free, but did they need to make it fully open-source? Verizon and the phone manufacturers were desperate for something that could compete with the iPhone, so I doubt they would have minded if Android had a couple of restrictions.