September 3, 2011

good git practice to prevent injection of code

Filed under: thinking — .hc @ 4:15 pm

git and other decentralized code repositories can provide good protection from the insertion of malicious code from outsiders, as long as people using them pay attention to what’s happening whenever they are pulling new code. This blog post has a nice description of that scenario, and also highlights the importance of making commits readable as well as actually reading the commits that others are pushing:

http://git-blame.blogspot.com/2011/08/how-to-inject-malicious-commit-to-git.html

And if you use git and haven’t already read in depth about git, I strongly recommend that all git users read one of the git books, like the Git Community Book and Pro Git, to get a solid understanding of how to use it and how it works. It will save you lots of time in the long run

Share this:
  • Digg
  • del.icio.us
  • NewsVine
  • Slashdot
  • Technorati
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Tumblr
  • Twitter

August 18, 2011

Google vs Apple, a replay of the 80s PCs?

Filed under: thinking — .hc @ 3:24 pm

Slate ran an article about Google’s recent acquisition of Motorola Mobility. There is a good discussion about how Google will need to make Motorola profitable to make it worthwhile, that is hard to get around. But just because Apple makes something like $370 per phone doesn’t mean Google ever could. Google was an internet company and quickly got into the mobile business with a clever and innovative strategy. The point isn’t so much that Apple makes more money per phone than Google, but rather Google now makes money on phones when before it did not. Apple has huge margins it wants to keep, Android has slim margins. In the long run, that’ll be very difficult for Apple (and indeed Microsoft) to avoid.

I think there Android strategy plays very well against Apple’s and that’s why Apple is fighting Android so hard, with every dirty trick available. I see the patent wars as the beginning of the end of Apple. It re-rose from its duldrums because it made better products and sold them well, not because of patent litigation. Now it seems to be fighting mostly with patent litigation, so that means they’re feeling not up to competing on merit.

It seems to me a reply of the 80s Apple. Apple boomed because it made better products. Then it started to lock things down and lock people in, and eventually it just wasn’t worth it to be locked into Apple. They are doing the same thing with the iPhone. It rose because it was so much better, now that its popular, Apple is locking people in and locking the phone down more and more. Android is much like the PC ecosystem of the 80s. There were a lot of really crappy PCs out there then…

Share this:
  • Digg
  • del.icio.us
  • NewsVine
  • Slashdot
  • Technorati
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Tumblr
  • Twitter

July 27, 2011

on teaching digital media

Filed under: thinking — .hc @ 6:10 pm

A seminar can be a wonderful setting for lecture and discussion, a group gathered around a table to focus on a specific topic for a couple hours. The minimal setting provides few distractions and keeps people focused on the topic at hand. A good lecture communicates a focused chunk of information, allowing the whole concept to unfold in the listeners’ minds. These time honored formats work well when dealing with subject matter that requires lengthy digestion before the student is ready to put forth questions and ideas of their own.

The traditional classroom format, however, is rarely a good setting for learning technical skills. The vast majority of students learn these concepts best when hands-on practice is central, and in combination with discussion, lectures, and reading. With most subjects taught at the university level, students already have the foundation of skills needed to approach the material. With most technical subjects, the students have to learn to read and write, in effect, before they can grasp the concepts in a meaningful manner. For example, to develop software, one must know how to program, even an excellent understanding of the concepts alone is not sufficient.

The major difference between these processes of learning is the length of the feedback loop. When working with theoretical concepts, it takes a significant section time to absorb and process each chunk of information before the student can start to discuss the ideas. With programming, there are many details that take a long time to explain that become quite apparent when trying it immediately, each tiny step along the way. An essential part of learning programming and electronics, among other things, is rapid feedback. The student hears a bit of new knowledge, attempts to utilize it, then sees what works and what didn’t. This is what makes hands-on learning work. Therefore, theory should be kept in seminars and lectures, and the essential skills should be broken out into hands-on sessions. In new media, these two sections are equally important; one needs to know the theory to understand the design issues, while technical skills are required in order to implement ideas effectively.

When practicioners have a solid understanding of the concepts combined with competence with the technology, their approach to the tools they use changes. Then it is not sufficient to just use the tools that someone else created. Instead, they customize their tools in a meaningful manner. In effect, the tools themselves should no longer be read-only, but instead, read/write. This approach works well when incorporated into the learning environment, giving the students a sense of ownership over the tools they use. I believe this is far more important than the latest, greatest features. Great art and media has been made with the tools of 50, 500, or even 5000 years ago, and many a talented artist has been distracted by the latest nifty technology.

Share this:
  • Digg
  • del.icio.us
  • NewsVine
  • Slashdot
  • Technorati
  • StumbleUpon
  • email
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Tumblr
  • Twitter
« Previous PageNext Page »

Powered by WordPress

google