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 don’t think you should use a beginner IDE like BlueJ, since it lacks features that are also useful for beginners. While you type, an IDE can catch certain kinds of errors and auto-suggest methods and let you lookup documentation. Later, you should also learn to use more advanced tools like the debugger. A good full IDE for beginners is Netbeans, though if you want to do Android development later, you should use Eclipse. 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: