Archive for the ‘ZeTechTalk’ Category

Students, Computer Science, and our Crap II

Thursday, January 24th, 2008

On going through the talk another of my “Big Boys” in the computer industry - Joel Spolsky - delivered at Yale University’s (which I encourage anyone, at least does in CS, to read) Computer Science Department on November 28, 2007.

Below is an excerpt that discuss one of a major [problematic] issue that most CS students wouldn’t realize until they graduate.

…I despaired of finding a company to work for where programmers were treated like talent and not like typists, and decided I would have to start my own. In those days, I was seeing lots of really dumb people with really dumb business plans making internet companies, and I thought, hey, if I can be, say, 10% less dumb than them, that should be easy, maybe I can make a company too, and in my company, we’d do things right for a change. We’d treat programmers with respect, we’d make high quality products, we wouldn’t take any shit from VCs or 24-year-olds playing President, we’d care about our customers and solve their problems when they called, instead of blaming everything on Microsoft, and we’d let our customers decide whether or not to pay us…

…I wanted to take a course with him, but he was well known for hating undergraduates, so the only option was to take this course called Algorithmic Thinking-CS115-basically, a watered-down gut group IV class designed for poets. It was technically in the CS department, but the faculty was so completely unimpressed that you were not allowed to count it towards a CS major. Although it was the largest class by enrollment in the CS department, I cringed every time I heard my history-major friends referring to the class as “computer science.” A typical assignment was to write an essay on whether machines can think or not. You can see why we weren’t allowed to count it towards a CS degree. In fact, I would not be entirely surprised if you revoke my degree today, retroactively, upon learning that I took this class.

The best thing about Algorithmic Thinking was that you had to write a lot. There were 13 papers-one every week. You didn’t get grades. Well, you did. Well, ok, there’s a story there. One of the reasons Schank hated undergrads so much was that they were obsessed with grades. He wanted to talk about whether computers could think and all undergrads wanted to talk about was why their paper got a B instead of an A. At the beginning of the term, he made a big speech about how grades are evil, and decided that the only grade you could get on a paper was a little check mark to signify that some grad student read it. Over time, he wanted to recognize the really good papers, so he added check-PLUS, and then there were some really lame papers, so he started giving out check-minuses, and I think I got a check-plus-plus once. But grades: never.

And despite the fact that CS115 didn’t count towards the major, all this experience writing about slightly technical topics turned out to be the most useful thing I got out of the CS department. Being able to write clearly on technical topics is the difference between being a grunt individual contributor programmer and being a leader. My first job at Microsoft was as a program manager on the Excel team, writing the technical specification for this huge programming system called Visual Basic for Applications. This document was something like 500 pages long, and every morning literally hundreds of people came into work and read my spec to figure out what to do next. That included programmers, testers, marketing people, documentation writers, and localizers around the world. I noticed that the really good program managers at Microsoft were the ones who could write really well. Microsoft flipped its corporate strategy 180 degrees based on a single compelling email that Steve Sinofsky wrote called Cornell is Wired. The people who get to decide the terms of the debate are the ones who can write. The C programming language took over because The C Programming Language was such a great book.

So anyway, those were the highlights of CS. CS 115, in which I learned to write, one lecture in Dynamic Logic, in which I learned not to go to graduate school, and CS 322, in which I learned the rites and rituals of the Unix church and had a good time writing a lot of code. The main thing you don’t learn with a CS degree is how to develop software, although you will probably build up certain muscles in your brain that may help you later if you decide that developing software is what you want to do….

(Joel on Software, Talk at Yale 1-3)

Students, Computer Science, and our Crap.

Sunday, January 20th, 2008

As I have always argued, the place to learn anything that pertains to the real would is …. not anywhere near the classrooms. Be it a PhD, have your Masters or your simplistic B.Sc. To repeat, especially for students of this our generation, in this field of computers - the stuffs we learn in the classrooms; remains in the classrooms and its walls.

To prove my point, here’s an excerpt from one of my mentors, blogger Jeff Atwood on the subject of how Computer Science is being taught in colleges. I think anyone, as an undergraduate, serious about this field of ours, should read this.

If we aren’t teaching fundamental software engineering skills like deployment and source control in college today, we’re teaching computer science the wrong way. What good is learning to write code in the abstract if you can’t work on that code as a team in a controlled environment, and you can’t deploy the resulting software? As so many computer science graduates belatedly figure out after landing their first real programming job, it isn’t any good at all.

Today’s computer science students should develop software under conditions as close as possible to the real world, or the best available approximation thereof. Every line of code should be written under source control at all times. This is not negotiable. When it’s time to deploy the code, try deploying to a commercial shared web host, and discovering everything that entails. If it’s an executable, create a standalone installer package that users have to download, install, and then have some mechanism to file bug reports when they inevitably can’t get it to work. Students should personally follow up on each bug filed for the software they’ve written.

Will this be painful? Boy, oh boy, will it ever. It’ll be excruciating. Students will hate it. They’ll begin to question why anyone in their right mind would want to write software.

Welcome to the real world. more >>

Your Internet Self

Wednesday, December 12th, 2007

Have you ever thought about what the Internet has to say about you? Maybe on social networks (facebook, mySpace, hi5, etc.) or most importantly search engines like Google, Yahoo, MSN, etc.

You may have a finely defined written resume if you want, you can even have it printed on the best paper material ever, for anyone looking to represent himself (or herself) on an edge, you have to define your presence on the Internet- that’s the reality of today’s world.

Define your presence? Yes, create your unique self, craft your own niche and give the world a representation of You. And to include, take note that this, your unique presence, is today - the new resume for your prospective employer or maybe just another [talent] stalker.

Being pragmatic, I seem to have created a nice niche for myself which I discovered recently (may a result of a couple of years toiling on my works and hanging around the Internet; I hope this will remain for a while). Still not really sure what I mean? Type in my full name in Google or Yahoo! - “dele omotosho” or my creation - “zenecherub,” and what comes up in the first couple of top hits is my neat resume - a product of me and my nifty works.
yahoo screenshot of my profile

google_screenshot

How you may ask? Well, some explanation will be left to some other time. Meanwhile, this is not an how-to, but a what-to.

Design-phobics, Please don’t read this.

Friday, November 30th, 2007

After much procrastination, I finally got my my design and concept together. First going into photography [as an hobby], then, touching up my computing.
Did the title read like some lame ad? Wait! Take some time to explore my improved Website and if you don’t [instantly] fall in love with the new clean and sexy (yes, simplistically, sexy) interface, you get your money-back; no questions asked! (Now you get the ad part of it)

New Site Screenshot

This update came out of the need to share my designs and fix lots of readability issues. In addition I have decided to upload my shoots on flickr.com which gives me unlimited storage and bandwidth with a pro account and have integrated them into my site. I love it. And as a side note, if you love writing, computing or designs, I need help, please!
So once again,explore my improved website, drop me a note, subscribe to my feeds (a.k.a get updates of recent articles), check out my shoots (From the eyes of a Canon Rebel XT, Sigma 70-300mm) or if you may, just hang around and poke the back-end technicalities.

Above all, SHOW SOME LOVE AND HAVE FUN!

Internet Most Wanted

Wednesday, October 17th, 2007

I have decided to compile some of internet’s most useful sites. In this list, I have intentionally excluded obvious ones such as www.google.com, www.yahoo.com, www.amazon.com, www.ebay.com , making me focus more on these hidden gems on the internet. It’s important to note that this list is not necessarily in order of importance.

  • www.pdfchm.com (Books, book, and more free books): This site is specifically targeted at the IT audience. If you’re in IT and you can’t really afford to buy big bucks books but you really, really need the knowledge in those books, this is the destination. There are volumes of free e-books on varying IT topics.
  • www.videojug.com (Life explained on film): if your productivity has been bogged down by site like youtube.com, veoh.com, dailymotion.com etc, you would find your addiction to internet video now take a turn towards productivity. Videojug teaches you almost all those stuffs you always dreamed that someone had thought you in private. Lessons from professionals ranging from topics like: how to give a passionate kiss to how to solve hard problems.
  • www.igoogle.com (Personal content management): If you’re still in belief that all Google does is search, you’re missing one of Google’s recent addition to its fleet of services – iGoogle. This site allows you to organize your entire “internet” on a page. On a page, you can access your email-on-the-fly, read your rss, search for YouTube videos and lots more. Register and start getting your internet life organized.
  • www.meebo.com (multi-platform IM client): Ever been stuck with boredom on a computer and hoped you could just chat with your friends, on AIM, Yahoo! or maybe MSN but can’t because none of this client is installed? Then, meebo.com is the rescue, no software to install, no wait times, all you need is a JavaScript enabled browser (present in almost all web browser) and voila! Login with your username and password and get right on!
  • www.mediafire.com (better file storage): you might have used rapidshare.com, megaupload.com or similar file sharing sites; you would find mediaFire a far better alternative. With unlimited file storage and a generous limitation on 100MB per file, you have no reason not to start backing up your files online. I especially love the facebook.com app, awesome!
  • www.torrentscan.com (bit torrent mega search): If you’re an avid torrent user, you would find torrents can inevitable. It serves as a frontend to search best torrent sites like www.isohunt.com, www.piratebay.com etc. So, if you’re looking for some software… uhhh, be legal though.
  • www.lifehacker.com (productivity tips for life): Once I discovered this site, I was hooked. With constantly updated tips that could save you time and increase your productivity.
  • www.movieforumz.com (so many free movies): If for some reason you can’t afford to rent movies from Netflix or blockbuster nor can you pay for movie tickets, then, in the convenience of your own home – watch all those great movies. Even title that haven’t hit the theaters yet (how these guys do it, I have no idea).
  • www.logmein.com (access to your computer from anywhere): considering I’m often away from my home computer where I have most of my heavy work, this site gives me the ability to virtually sit in front of my computer from any other computer that has a web browser.
  • www.libraryelf.com (never pay a library fine again!): this site keeps track of your library items and gives you notifications via email or SMS.. In short, this site tries its best to not have you pay fines for those books you borrowed because you forgot to return them.

With this few list (that definitely isn’t exhaustive), I hope they help increase your productivity.