Saturday, October 29, 2011

Eduasync part 1: introduction

I?ve been waiting to start this blog series for a couple of months. It?s nice to finally get cracking.

Hopefully some of you have already read some of my thoughts around C# 5?s async feature, mostly written last year. Since that initial flurry of posts, I?ve been pretty quiet, but I?m still really excited about it. Really, really excited. I?ve given a few talks on it, and I have a few more still to give - and this blog series will partly be complementary to those talks. In particular, there?s a DevExpress webcast which covers most of the same ground, with similar code. (It was before the CTP refresh, and also before my laptop was stolen in a burglary, so the code here is a rewrite.)

Async from a compiler?s point of view

Most of this blog series (at least the bits I anticipate at the moment) will deal with what the compiler does with async methods. (I haven?t used async delegates much at all, but I can?t imagine that the machinery is particularly different.)

As far as I?ve seen, most of the coverage on the web so far has dealt with using async. That?s natural, logical and entirely proper. Oh, and a bit boring after a while. I like knowing how a feature works before I go too far using it. This is a personal idiosyncrasy, and if you?re happy just using async with no ?under the hood? details, that?s absolutely fine. It?s probably worth unsubscribing from my blog for a little while, that?s all.

This can all be seen as pretty similar to my Edulinq series of posts, which is why I?ve called it Eduasync this time.

My plan is to walk you through what the C# compiler relies on - the types which are currently part of AsyncCtpLibrary.dll, and how it interacts with Task / Task<T> from .NET 4. We?ll then look at the code generated by the compiler - essentially a state machine - and some of the less obvious aspects of it. I?ll give examples of any bugs I?ve found in the CTP, just for the heck of it - and as a way of checking whether they?re fixed in later versions. (Obviously I?ve let the C#/VB team know about these as I?ve come across them.)

I?ll assume that you know the basics of using async - so if you don?t, now would be a good time to look at the numerous resources on the Visual Studio Async home page. There are loads of videos, specs (including the C# spec changes, most importantly from my point of view)

Get the source now

There?s already quite a bit of source code (everything I?m currently planning on writing about, which is almost inevitably less than I?ll actually end up writing about) on the Google Code Eduasync project. This takes a different approach from Edulinq - instead of just a couple of projects (production and tests, basically) I?ve got a separate project for each topic I want to talk about, with pretty minimal code for that topic. The reason for this is to show the evolution of the code - starting off with almost nothing, and progressing until we?ve got an implementation which achieves at least the bare bones important bits of an async system.

I?ve numbered the projects within the solution, although the assemblies themselves don?t have the same numbers. They all use a default namespace of just Eduasync, and they don?t refer to each other. Each is meant to be self-contained - oh, and there are no references to AsyncCtpLibrary.dll. The whole point is to reimplement that library :) Of course, you'll still need the CTP installed to get the compiler changes.

The Google Code repository will also contain the blog posts eventually, including any diagrams I need to create (such as the one in a minute).

The three blocks and two boundaries

One of the things I've found important to think about in async is the various parts involved. I've ended up with a mental model like this:

The bits in blue and red are the ones we're focusing on here: the contents of the async method, and the boundaries between that and the code that calls it, and the tasks (or other awaitable types) that it awaits.

For most of this series we're not really going to care much about what the caller does with the result, or how the awaitable object behaves other than in terms of the methods and properties used by the C# 5 compiler. I'll discuss the flexibility afforded though - and how it doesn't extend to the "caller/async" boundary, only the "async/awaitable" boundary.

Just to give an explicit example of all of this, here's a simple little program to asynchronously determine the size of the Stack Overflow home page:

using System;
using System.Net;
using System.Threading.Tasks;

class Program
{
    // Caller (block 1)
    static void Main()
    {
        Task<int> sizeTask = DownloadSizeAsync("http://stackoverflow.com");
        Console.WriteLine("In Main, after async method call...");        
        Console.WriteLine("Size: {0}", sizeTask.Result);
    }
    
    // Async method (block 2)
    static async Task<int> DownloadSizeAsync(string url)
    {
        var client = new WebClient();
        // Awaitable (block 3)
        var awaitable = client.DownloadDataTaskAsync(url);
        
        Console.WriteLine("Starting await...");
        byte[] data = await awaitable;
        Console.WriteLine("Finished awaiting...");
        
        return data.Length;
    }
}

The comments should make it reasonably clear what the blocks in the diagram mean. It's not ideal in that the first two blocks are basically methods, whereas the third block is an object - but I've found that it still makes sense when we're thinking about the interactions involved at the boundaries. Notably:

  • How does the async method create an appropriate value to return to the caller?
  • How does the async method interact with the awaitable when it hits an "await" expression?

We can (and we're going to) look at these boundaries very separately. We'll start off with the first bullet, in part two, which will hopefully follow in the next few days.

Source: http://feedproxy.google.com/~r/JonSkeetCodingBlog/~3/kI7QYCzm1IM/eduasync-part-1-introduction.aspx

SI INTERNATIONAL

Subclassing Class Clusters

Subclassing is something any object oriented programmer is pretty familiar with. Common examples would be that a square is a subclass of a rectangle. This means that all squares are rectangles, and hold all properties of rectangles but not all rectangles are squares. Squares are a special subset of rectangles that have both sides being the same length. Objective-C has become so evolved that you may use this simplified conceptualization for all objects in Objective-C when in reality there is ...

Source: http://feedproxy.google.com/~r/icodeblog/~3/OOCldSjoQ9c/

SUN MICROSYSTEMS STANDARD MICROSYSTEMS SRA INTERNATIONAL

Friday, October 28, 2011

Drupal just got a whole lot more compatible - Stefan Koopmanschap

In August of last year, I wrote this excited blogpost about phpBB joining the Symfony2 camp by announcing they were going to use Symfony2 as the basis for their new version. Things like this are exciting, because it will allow several communities to work on the same software: Symfony2 developers would be able to help with the development of phpBB, and the other way around. Now, the same thing is happening with Drupal. Even though they are not adopting the full Symfony2 stack, they have just started implementing some Symfony2 components.

Source: http://www.leftontheweb.com/message/Drupal_just_got_a_whole_lot_more_compatible

INTUIT INTERSECTIONS INTERNATIONAL RECTIFIER

On Parenthood

Our son was born March 12th, 2009. He's a little over two and a half years old. Now, I am the wussiest wuss to ever wuss up the joint, so take everything I'm about to say with a grain of salt – but choosing to become a parent is the hardest thing I have ever done. By far. Everything else pales in comparison.

My feelings on this matter are complex. I made a graph. You know, for the children.

Children

That one percent makes all the difference.

It's difficult to explain children to people who don't yet have children, because becoming a parent is an intensely personal experience. Every child is different. Every parent is different. Every culture has their own way of doing things. The experience is fundamentally different for every new parent in the world, yet children are the one universally shared thing that binds our giant collective chain letter of human beings together, regardless of nationality and language. How do you explain the unexplainable?

Well, having children changes you. Jonathan Coulton likens it to becoming a vampire.

I was having a conversation with a friend who had recently become a parent, and she reminded me of something I had forgotten about since my daughter was born. She was describing this what-have-I-done feeling ? I just got everything perfect in my life, and then I went and messed it all up by having a baby. I don?t feel that way anymore, but the thought certainly crossed my mind a few times at the beginning. Eventually you just fall in love and forget about everything else, but it?s not a very comfortable transition. I compare the process to becoming a vampire, your old self dies in a sad and painful way, but then you come out the other side with immortality, super strength and a taste for human blood. At least that?s how it was for me. At any rate, it?s complicated.

Maybe tongue in cheek, but not that far from the truth, honestly. Your children, they ruin everything in the nicest way.

Before Henry was born, I remembered Scott Hanselman writing this odd blurb about being a parent:

You think you love you wife when you marry her. Then you have a baby and you realize you'd throw your wife yourself under a bus to save your baby. You can't love something more.

Nuts to that, I thought. Hanselman's crazy. Well, obviously he doesn't love his wife as much as I love mine. Sniff. Babies, whatever, sure, they're super cute on calendars, just like puppies and kittens. Then I had a baby. And by God, he was right. I wouldn't just throw myself under a bus for my baby, I'd happily throw my wife under that bus too – without the slightest hesitation. What the hell just happened to me?

As an adult, you may think you've roughly mapped the continent of love and relationships. You've loved your parents, a few of your friends, eventually a significant other. You have some tentative cartography to work with from your explorations. You form ideas about what love is, its borders and boundaries. Then you have a child, look up to the sky, and suddenly understand that those bright dots in the sky are whole other galaxies.

You can't possibly know the enormity of the feelings you will have for your children. It is absolutely fucking terrifying.

When I am holding Henry and I tickle him, I can feel him laughing all the way to his toes. And I realize, my God, I had forgotten, I had completely forgotten how unbelievably, inexplicably wonderful it is that any of us exist at all. Here I am with this tiny, warm body so close to me, breathing so fast he can barely catch up, sharing his newfound joy of simply being alive with me. The sublime joy of this moment, and all the other milestones – the first smile, the first laugh, the first "dada" or "mama", the first kiss, the first time you hold hands. The highs are so incredibly high that you'll get vertigo and wonder if you can ever reach that feeling again. But you peak ever higher and higher, with dizzying regularity. Being a new parent is both terrifying and exhilarating, a constant rollercoaster of extreme highs and lows.

It's also a history lesson. The first four years of your life. Do you remember them? What's your earliest memory? It is fascinating watching your child claw their way up the developmental ladder from baby to toddler to child. All this stuff we take for granted, but your baby will painstakingly work their way through trial and error: eating, moving, walking, talking. Arms and legs, how the hell do they work? Turns out, we human beings are kind of amazing animals. There's no better way to understand just how amazing humans are than the front row seat a child gives you to observe it all unfold from scratch each and every day, from literal square zero. Children give the first four years of your life back to you.

I wasn't sure how to explain meeting new people to Henry, so I decided to just tell him we've met a new "friend" every time. Now, understand that this is not at all the way I view the world. I'm extremely wary of strangers, and of new people in general with their agendas and biases and opinions. I've been burned too many times. But Henry is open to every person he meets by default. Each new person is worth greeting, worth meeting as a new experience, as a fellow human being. Henry taught me, without even trying to, that I've been doing it all wrong. I realized that I'm afraid of other people, and it's only my own fear preventing me from opening up, even a little, to new people that I meet. I really should view every new person I meet as a potential friend. I'm not quite there yet; it's still a work in progress. But with Henry's help, I think I can. I had absolutely no idea my child would end up teaching me as much as I'm teaching him.

Having a child is a lot like running a marathon. An incredible challenge, but a worthwhile and transformative experience. It leaves you feeling like you truly accomplished something for all that effort. After all, you've created something kind of amazing: a person.

Bob: It gets a whole lot more complicated when you have kids.

Charlotte: It's scary.

Bob: The most terrifying day of your life is the day the first one is born.

Charlotte: Nobody ever tells you that.

Bob: Your life, as you know it... is gone. Never to return. But they learn how to walk, and they learn how to talk, and you want to be with them. And they turn out to be the most delightful people you will ever meet in your life.

It's scary and it's wonderful in equal measure. So why not have another baby? Or so we thought.

Atwood-babbies

Turns out, we're having two babies. Both are girls, due in mid-February 2012.

I've been told several times that you should never be crazy enough to let the children outnumber you. I hope to ultimately win the War of the Lady Babies, but when it comes to children, I think all anyone can ever realistically hope for is a peaceful surrender.

[advertisement] What's your next career move? Stack Overflow Careers has the best job listings from great companies, whether you're looking for opportunities at a startup or Fortune 500. You can search our job listings or create a profile and let employers find you.

Source: http://www.codinghorror.com/blog/2011/10/on-parenthood.html

NOVELLUS SYSTEMS NOVELL NETWORK APPLIANCE

The Gamification

When Joel Spolsky and I set out to design the Stack Exchange Q&A engine in 2008 -- then known as Stack Overflow -- we borrowed liberally and unapologetically from any online system that we felt worked. Some of our notable influences included:

  • Reddit and Digg voting
  • Xbox 360 achievements
  • Wikipedia editing
  • eBay karma
  • Blogs and blog comments
  • Classic web bulletin boards

All these elements were folded up into the Stack Exchange Q&A engine, so that we might help people create useful artifacts on the internet while learning with and among their peers. You know the old adage that good artists copy, great artists steal? That quote is impossible to source, but it means we were repurposing these elements we liked.

So, what do Picasso and T.S. Eliot mean? They say, in the briefest of terms: take old work to a new place. Steal the Google site, strip down what works (fast load, nonexistent graphics, small quirky changes that delight) and use the parts on your own site. Look at the curve of a Coke Bottle and create a beautiful landscape painting with it. Take the hairline pinstriping on the side of somebody?s car, reimagine it on your print job. Find inspiration in the world you live in, where nothing is truly new so that everything has the potential to be innovative.

Unfortunately, the elements we liked were often buried in mounds of stuff that we ... sort of hated. So extracting just the good parts and removing the rest was part of the mission. If you're lucky enough to have a convenient villain to position yourself against, that might be all you need.

Traditional web bulletin board systems have a design that was apparently permanently frozen in place circa 2001 along with Windows XP. Consider this typical forum thread.

Web-forum-thread-screenshot

Here is the actual information from that forum thread.

Web-forum-thread-information-screenshot

Based on the original size of those screenshots, only 18 percent of that forum thread page is content. The other 82 percent is lost to signatures, avatars, UI doohickeys, and other web forum frippery that has somehow become accepted as "the way things are done". I regularly participate in several expert niche bulletin boards of various types today, and they're all built the same way. Nobody complains.

But they should.

This is the status quo that we're up against. Yes, we fixed it for programmers with Stack Overflow, but why stop there? We want to liberate all the brilliant experts stuck in these horrible Soviet-era concrete block housing forums all over the web. We'd like to introduce them to the focused, no-nonsense Stack Exchange Way, a beautiful silo of pure Q&A signal without all the associated web forum gunk.

There's only one teeny-tiny obstacle in our way. As a great programmer I worked with once said:

It's the damn users. They've ruined every program I've ever created.

Every web forum is the way it is because users wanted it that way. Yes, the design of the forum software certainly influences behavior, but the classic 2001-era web forum paradigm assumed that what users wanted made sense for the rest of the larger internet. As it turns out, groups are their own worst enemy. What groups want, and what the rest of the world needs, are often two very different things. Random discussion is fine for entertainment, but it's not particularly useful, nor does it tend to generate the kind of artifacts that will be relevant a few years from now like Wikipedia does. So then the problem becomes how do you encourage groups to do what's best for the world rather than their own specific, selfish needs?

When I looked at this problem, I felt I knew the answer. But there wasn't a word for it in 2008. Now there is: Gamification.

Gamification is the use of game design techniques and mechanics to solve problems and engage audiences. […] Gamification works by … taking advantage of humans' psychological predisposition to engage in gaming. The technique can encourage people to perform chores that they ordinarily consider boring, such as completing surveys, shopping, or reading web sites.

I had no idea this Wikipedia article even existed until a few months ago, but we are featured prominently in it. It is true that all our stolen ideas about reputation systems, achievements, identity, and vote scoring are in place specifically to encourage the adoption of the brave new no-nonsense, all-signal Stack Exchange Q&A model. Without those incentive systems, when left to their own devices, what you get is … well, every forum ever created. Broken by design.

Yes, we have ulterior motives, but let me explain why I think gaming elements are not tacked on to the Stack Exchange Q&A engine, but a natural and essential element of the design from day one.

Learning is (supposed to be) fun

I've had this concept in my head way before the web emerged, long before anyone coined the term "Gamification" in 2010. In fact, I'd trace my inspiration for this all the way back to 1983.

Beagle Brothers: Our programs are FUN to use. Our instructions are CLEAR and complete.

For programmers, everything we know is pretty much guaranteed to be obsolete in 10 years if we're lucky, and 5 years if we aren't. It's changing all the time. The field of programming is almost by definition one of constant learning. Programming is supposed to be fun – and it is, if you're doing it right. Nobody taught me that better than the Beagle Bros on my Apple II. Why can't learning in every other subject matter be just as enjoyable?

Games are learning aids

There's a long, rich history of programmers as gamers. Oftentimes, the whole reason we became programmers in the first place is because we wanted to move beyond being a mere player and change the game, control it, modify its parameters, maybe even create our own games.

Basic-computer-games

We used games to learn how to program. To a programmer, a game is a perfectly natural introduction to real programming problems. I'd posit that any field can use games as an introduction to the subject matter – and as a reinforcement to learning.

Games help people work toward a goal

It's something of a revelation to me that solid game design can defeat the Greater Internet F**kwad Theory. Two great examples of this are Counter-Strike and Team Fortress. Both games are more than ten years old, but they're still actively being played right now, by tens of thousands of people, all anonymous … and playing as cohesive teams!

The game's objectives and rules are all cleverly constructed to make working together the most effective way to win. None of these players know each other; the design of the game forces players to work together, whether they want to or not. It is quite literally impossible to win as a single lone wolf.

Counter-strike-italy-start

I haven't ever quite come out and said it this way, but … I played a lot of Counter-Strike from 1998 to 2001, and Stack Overflow is in many ways my personal Counter-Strike. It is a programmer in Brazil learning alongside a programmer in New Jersey. Not because they're friends -- but because they both love programming. The design of Stack Overflow makes helping your fellow programmers the most effective way to "win" and advance the craft of software development together.

And I say we all win when that happens, no matter which profession we're talking about.

I feel a little responsible for "Gamification", since we're often cited as an example (even, much to my chagrin, on Wikipedia). I wanted to clear up exactly why we made those choices, and specifically that all the gaming elements are there in service of a higher purpose. I play the Stack Exchange game happily alongside everyone else, collecting reputation and badges and rank and upvotes, and I am proud to do so, because I believe it ultimately helps me become more knowledgeable and a better communicator while also improving the very fabric of the web for everyone. I hope you feel the same way.

(If you'd like to learn more about the current state of Gamification, I highly recommend Sebastian Deterding's page, and specifically his Meaningful Play: Getting Gamification Right presentation.)

[advertisement] What's your next career move? Stack Overflow Careers has the best job listings from great companies, whether you're looking for opportunities at a startup or Fortune 500. You can search our job listings or create a profile and let employers find you.

Source: http://www.codinghorror.com/blog/2011/10/the-gamification.html

SILICON LABORATORIES SI INTERNATIONAL SEAGATE TECHNOLOGY

Upgrading from Windows Vista to Windows 7

Source: http://my2iu.blogspot.com/2010/06/upgrading-from-windows-vista-to-windows.html

PALM OSI SYSTEMS ORACLE

Stitching Together Scanned Images

Source: http://my2iu.blogspot.com/2009/08/stitching-together-scanned-images.html

VIRGIN MEDIA VIEWSONIC VERISIGN

Thursday, October 27, 2011

Scrolling Games in JavaScript

Source: http://my2iu.blogspot.com/2010/10/scrolling-games-in-javascript.html

VIEWSONIC VERISIGN VERIFONE HOLDINGS

On Parenthood

Our son was born March 12th, 2009. He's a little over two and a half years old. Now, I am the wussiest wuss to ever wuss up the joint, so take everything I'm about to say with a grain of salt – but choosing to become a parent is the hardest thing I have ever done. By far. Everything else pales in comparison.

My feelings on this matter are complex. I made a graph. You know, for the children.

Children

That one percent makes all the difference.

It's difficult to explain children to people who don't yet have children, because becoming a parent is an intensely personal experience. Every child is different. Every parent is different. Every culture has their own way of doing things. The experience is fundamentally different for every new parent in the world, yet children are the one universally shared thing that binds our giant collective chain letter of human beings together, regardless of nationality and language. How do you explain the unexplainable?

Well, having children changes you. Jonathan Coulton likens it to becoming a vampire.

I was having a conversation with a friend who had recently become a parent, and she reminded me of something I had forgotten about since my daughter was born. She was describing this what-have-I-done feeling ? I just got everything perfect in my life, and then I went and messed it all up by having a baby. I don?t feel that way anymore, but the thought certainly crossed my mind a few times at the beginning. Eventually you just fall in love and forget about everything else, but it?s not a very comfortable transition. I compare the process to becoming a vampire, your old self dies in a sad and painful way, but then you come out the other side with immortality, super strength and a taste for human blood. At least that?s how it was for me. At any rate, it?s complicated.

Maybe tongue in cheek, but not that far from the truth, honestly. Your children, they ruin everything in the nicest way.

Before Henry was born, I remembered Scott Hanselman writing this odd blurb about being a parent:

You think you love you wife when you marry her. Then you have a baby and you realize you'd throw your wife yourself under a bus to save your baby. You can't love something more.

Nuts to that, I thought. Hanselman's crazy. Well, obviously he doesn't love his wife as much as I love mine. Sniff. Babies, whatever, sure, they're super cute on calendars, just like puppies and kittens. Then I had a baby. And by God, he was right. I wouldn't just throw myself under a bus for my baby, I'd happily throw my wife under that bus too – without the slightest hesitation. What the hell just happened to me?

As an adult, you may think you've roughly mapped the continent of love and relationships. You've loved your parents, a few of your friends, eventually a significant other. You have some tentative cartography to work with from your explorations. You form ideas about what love is, its borders and boundaries. Then you have a child, look up to the sky, and suddenly understand that those bright dots in the sky are whole other galaxies.

You can't possibly know the enormity of the feelings you will have for your children. It is absolutely fucking terrifying.

When I am holding Henry and I tickle him, I can feel him laughing all the way to his toes. And I realize, my God, I had forgotten, I had completely forgotten how unbelievably, inexplicably wonderful it is that any of us exist at all. Here I am with this tiny, warm body so close to me, breathing so fast he can barely catch up, sharing his newfound joy of simply being alive with me. The sublime joy of this moment, and all the other milestones – the first smile, the first laugh, the first "dada" or "mama", the first kiss, the first time you hold hands. The highs are so incredibly high that you'll get vertigo and wonder if you can ever reach that feeling again. But you peak ever higher and higher, with dizzying regularity. Being a new parent is both terrifying and exhilarating, a constant rollercoaster of extreme highs and lows.

It's also a history lesson. The first four years of your life. Do you remember them? What's your earliest memory? It is fascinating watching your child claw their way up the developmental ladder from baby to toddler to child. All this stuff we take for granted, but your baby will painstakingly work their way through trial and error: eating, moving, walking, talking. Arms and legs, how the hell do they work? Turns out, we human beings are kind of amazing animals. There's no better way to understand just how amazing humans are than the front row seat a child gives you to observe it all unfold from scratch each and every day, from literal square zero. Children give the first four years of your life back to you.

I wasn't sure how to explain meeting new people to Henry, so I decided to just tell him we've met a new "friend" every time. Now, understand that this is not at all the way I view the world. I'm extremely wary of strangers, and of new people in general with their agendas and biases and opinions. I've been burned too many times. But Henry is open to every person he meets by default. Each new person is worth greeting, worth meeting as a new experience, as a fellow human being. Henry taught me, without even trying to, that I've been doing it all wrong. I realized that I'm afraid of other people, and it's only my own fear preventing me from opening up, even a little, to new people that I meet. I really should view every new person I meet as a potential friend. I'm not quite there yet; it's still a work in progress. But with Henry's help, I think I can. I had absolutely no idea my child would end up teaching me as much as I'm teaching him.

Having a child is a lot like running a marathon. An incredible challenge, but a worthwhile and transformative experience. It leaves you feeling like you truly accomplished something for all that effort. After all, you've created something kind of amazing: a person.

Bob: It gets a whole lot more complicated when you have kids.

Charlotte: It's scary.

Bob: The most terrifying day of your life is the day the first one is born.

Charlotte: Nobody ever tells you that.

Bob: Your life, as you know it... is gone. Never to return. But they learn how to walk, and they learn how to talk, and you want to be with them. And they turn out to be the most delightful people you will ever meet in your life.

It's scary and it's wonderful in equal measure. So why not have another baby? Or so we thought.

Atwood-babbies

Turns out, we're having two babies. Both are girls, due in mid-February 2012.

I've been told several times that you should never be crazy enough to let the children outnumber you. I hope to ultimately win the War of the Lady Babies, but when it comes to children, I think all anyone can ever realistically hope for is a peaceful surrender.

[advertisement] What's your next career move? Stack Overflow Careers has the best job listings from great companies, whether you're looking for opportunities at a startup or Fortune 500. You can search our job listings or create a profile and let employers find you.

Source: http://www.codinghorror.com/blog/2011/10/on-parenthood.html

PROGRESS SOFTWARE PLANAR SYSTEMS PEROT SYSTEMS

Monday, October 24, 2011

Folders that I exclude from Time Machine

I have come to love Apples Time Machine. �It has saved my ass on 2 different occasions now. Digging in a bit more, I wondered if there are certain files that I don’t want backed up in order to save some space. �As in example, I have several linux distros that I do need to [...]

Source: http://bernardstudios.com/folders-that-i-exclude-from-time-machine/

NVIDIA NUANCE COMMUNICATIONS NOVELLUS SYSTEMS

Oneiric release party across India

So what i did is, asked for of my friends in Mumbai, Hydrabad and Delhi share there event related photos of Oneiric release party.

That is what i will be doing mentioning about them. :)

INMANTEC

 

 

Gaurav is assistant dean IT and a Open Source freak who is trying his best to turn his college into a FOSS friendly institute.   I was  there at a workshop and felt great. They have nice FOSS lab in place as well with students working on Ubuntu and web technology stuff. Recently they have applied for Loco team hope it will be approved soon. :)

 

 JMI-Lug

Jmi stands for Jamia milia islamia a university in Delhi. I met Sheel and the team in feb this year during workshop in there college. These guys are doing really great and am sure of getting upstream contribution from these folks.

VIT, Mumbai

Mehul my Fossy & Biker friend told me about them and i was introduced to Rigved and am happy to know about the event they had.Looking forward to meet the folks during my Mumbai trip sometime soon.

Oneiric Release Party was held in Mumbai on 19th October 2011 at Vidyalankar Institute of Technology (VIT).

The event was attended by students of VIT, an ex-student Rigved Rakshit and the Ubuntu Indian Loco contact Nitish Mistry. The event started around 1730 IST.

Rigved showed a demo of using a Ubuntu LiveCD. Then, he went on to show how to install Ubuntu in various (only-OS-on-the-system/dual-boot) configurations. Ubuntu 11.10 LiveCDs were handed out. Also, Rigved gave out two official Ubuntu 10.10 CDs and ISO images of Ubuntu 10.04 Desktop, Ubuntu 10.04 Server and K/L/Ubuntu 11.10 Desktop.

You can find complete event details here

 

 

Telegu Loco, Hydrabad

Pavi mailed in the mailing list of mukt.in announcing the event. It was very short notice and i missed it. I would have to to visit hydrabad and meet my old friends.

 

I will populate this place if i get details of other Oneiric release party around. :P

 

 

 

 

 

Source: http://atuljha.com/blog/2011/10/23/oneiric-release-party-across-india/

SEAGATE TECHNOLOGY SCIENTIFIC GAMES SANDISK

Sunday, October 23, 2011

KDE at Latinoware 2011 (some pictures)

Stand of KDE

Short course about development mobile with Qt - Sandro and Luiz

Talk about KDE Edu - Filipe Saraiva

Talk about KDE Edu - Filipe Saraiva

Talk about history of KDETalk about history of KDE - Aracele Torres

Talk about KDE Framework 5 - Sandro Andrade

Talk about OwnCloud - Juan Martin


Source: http://kdepi.wordpress.com/2011/10/21/kde-at-latinoware-2011-some-pictures/

QUEST SOFTWARE QUANTUM QLOGIC

Radnor Lake Panoramic

Radnor Lake Panoramic Originally uploaded by K3bert This was my first panoramic photograph with the Olympus E-PL1. Got up at sunrise and headed to Radnor Lake Wild Life Refuge and Nature Area. Unfortunately, it was over cast and the light was flat. But, I think this is a successful test. It’s two photos stitched together [...]

Source: http://bernardstudios.com/radnor-lake-panoramic/

VEECO INSTRUMENTS VARIAN SEMICONDUCTOR EQUIPMENT ASSOCIATES UNITED ONLINE

Aficionado's Curse / Pessimistic Optimism - Sean Coates

As I've mentioned in previous posts, I like beer. I mean, I really like it. I've tasted many unique, special, rare, and extremely old beers. I even have Beer Judging credentials. I would go as far as to say that I'm a "beer aficionado." I find the idea of a cheap, poorly-made beer (especially when there are superior alternatives on hand) to be almost repulsive.

I know aficionados in other fields: wine, vodka, scotch, cheese, movies, music, specific genres of music, woodworking, home electronics, office design, and even one guy I might consider a dog food aficionado.

These people, like myself when it comes to beer, often suffer from what I call "Aficionado's Curse." This syndrome affects experts in many fields, and prevents them from truly enjoying the full gamut of their medium. They are able to truly appreciate the utmost quality, but are turned off by the bottom shelf. Others (non-aficionados) are perfectly happy consuming the most readily available items and occasionally treating themselves to something fancy from the middle.

Consider someone who is completely immersed in the world of hand-made Swiss timepieces. Now, consider that person wearing a Happy-Meal-derived digital watch with a made-in-China plastic band. Unless they're trying to perfect their ironic hipster look, the cheap watch likely wouldn't fly.

In high school, long before I considered that this thing might have a name, I had a media teacher who was a film aficionado. He once told our class "When you start making movies?no matter the length?your world will change. You will stop simply being entertained by what is on the screen before your eyes, and instead will wonder how they did that, or you might marvel at the complexity of a specific shot. You'll still enjoy film, but in a different way." This nicely sums up Aficionado's Curse.

Maybe ignorance is bliss.

In a phenomenon similar to Aficionado's Curse, I've noticed a trend that cloaks optimism in pessimism. Unfortunately, I am a victim of this, and I try to keep it reined in, but I often fail.

I have very high expectations for things? nearly everything, in fact. I think that high expectations are generally a good thing, as so many things are?shall we say?of a quality less than the highest.

I expect machines to work properly, traffic to flow, computers to perform at reasonable levels, food to taste good, service to be quick and friendly, events to respect their schedules and other similar things. More often than not, though, I am let down by this unmaintainable level of optimism. The bad part is that in my letdown, I often find myself complaining (or if I've managed to keep it under control, not complaining) about such things. Not because the thing I've just witnessed is completely broken, but more like because it's sub-optimal in some way. These complaints are (reasonably, I admit) perceived as pessimism. My optimism has precipitated as pessimism.

I think this happens to smart people quite a bit. I've worked with people who are extremely unpleasant, but also extremely kind and forgiving. This may have been due to the scenario described above.

I saw this on Fred Wilson's blog a while back, and I think it's relevant:

"sometimes we make money with brilliant people who are easy to get along with, most often we make money with brilliant people who are hard to get along with, but we rarely make money with normal people who are easy to get along with."

One of the greatest things I learned from Chris when working at OmniTI was something that he didn't intentionally teach me (at least not as part of my job): it's OK to be let down, but complaining about it doesn't often breed positive change. I've tried to apply this to my public persona in the past few years, and at risk of sounding like a complaint, I think we'd all do well to follow Chris's lead, and strive to be brilliant people who are also easy to get along with.

Source: http://seancoates.com/blogs/aficionados-curse-pessimistic-optimism

TNS TIBCO SOFTWARE TIBCO SOFTWARE

Prototyping Tips

Since the release of Flick Buddies, I?ve been prototyping game ideas for our next game. The best of these prototypes we?re taking to GDC to show publishers. Today I?m sharing my list of tips for creating prototypes. 1. Set Your Goals It?s important to decide exactly why you?re making the prototype, and what you hope [...]

Source: http://www.doolwind.com/blog/prototyping-tips/

VERIFONE HOLDINGS VEECO INSTRUMENTS VARIAN SEMICONDUCTOR EQUIPMENT ASSOCIATES

One and One Makes Two?. or 1.1

Just a quick note to say that I've just pushed PulseAudio 1.1 out the door. Get it while it's hot!

This release fixes a couple issues people had with our two-point version number change and several other bits and bobs.

On it's way to Mageia Cauldron now and I should get around to backporting this sometime very soon for mga1 now that backports are open :)

Share and Enjoy:
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Identi.ca
  • Slashdot

Source: http://colin.guthr.ie/2011/10/one-and-one-makes-two-or-1-1/

LSI LINEAR TECHNOLOGY LEXMARK INTERNATIONAL

Saturday, October 22, 2011

PHP Master Published by SitePoint - Matthew Turland

I?m very happy to announce that I?ve had a second book published: ?PHP Master: Writing Cutting-Edge Code.?�This time, I had the honor and pleasure of co-authoring the content with my good friends and peers in the PHP community Lorna Jane Mitchell and Davey Shafik�and working with the excellent team at SitePoint to make it available to you. The book covers a number of fundamental skills for professional PHP developers including web services, design patterns, security, testing, and more. If you?re in the market for such a PHP title, I encourage you to consider checking it out.

Source: http://matthewturland.com/2011/10/21/php-master-published-by-sitepoint/

PROGRESS SOFTWARE PLANAR SYSTEMS PEROT SYSTEMS

DirectFB contribution to the Qt Project

The Qt project was launched today, I got my 15 DirectFB patches merged, got some first experience with Gerrit, created an account for the Qt wiki, fixed some documentation, so all in all I think it is the great start of the Qt Project we have been waiting for! So thank you very much for all you involved with it!

Now to something completely else, somehow I like to see the parts that are not great yet. But most importantly it is a great opportunity for everyone to get involved with the Qt project and improve things. So here is my short wishlist for the Qt project.


  • Single account for the Bugtracker, Wiki, other services.

  • Read-Only access to gerrit.

  • Public CI based on Jenkins, right now build failures will still point to internal Nokia servers. I assume KDE can help a bit with the Jenkins setup.

  • Make it possible for non-mainstream QPA backends and platforms to be part of the CI System, if proven stable be considered core builders.

  • The wiki being part of the Qt project should be part of the Qt Project, the license should probably be made compatible with the license of the Qt documentation, to allow copying from one to the other.



Once again, thank you Nokia, thanks everyone involved!

Source: http://zecke.blogspot.com/2011/10/directfb-contribution-to-qt-project.html

PEROT SYSTEMS PALM OSI SYSTEMS

So What Does 15 Years Of KDE Look Like?

So, I thought I would take a quick look at what KDE community “looks” like after 15 years under development. So here I will briefly show off three visualisations with no particular comment. I will just leave them here for your amusement.

So let’s start with the now-infamous green blobs (click to enlarge):

Green Blobs for KDE's First 15 Years

For the uninitiated, a quick lesson: Each column in this visualisation represents the commit history of everyone who has committed to KDE SVN. Each row represents a week, with the most recent weeks being at the top. If the contributor committed during that week, they get a green blob, otherwise it is left empty. For each column the committer, the date of their first commit and the % of weeks in which they committed (of those they /could/) is given.

You might remember from my last blog post that I charted the growth in the number of accounts in KDE SVN. With such a steady growth in contributors, should we expect something similar in the daily commits and committer trends? Of course we should…

  • Daily Commits (click to enlarge):

http://dl.dropbox.com/u/46229283/images/commits-kde15.png

I will admit that I have doctored this data ever-so-slightly in order to filter out the days in which script went crazy and created 1000s of commits by itself.

  • Daily Committers (click to enlarge):

Daily Committers in KDE SVN

So there you have it, 15 years of KDE development reduced to just three pictures! Of course, I could try and do 1000 more visualisations of the work in KDE SVN and still get nowhere near to telling the whole story. As the commits and committers plots show, KDE git really is the place to be. It is incredible how quickly contributions to KDE SVN have dropped to circa 2001 levels.

So, a big “congratulations” to my chums in the KDE community. Happy birthday and all the best for the next 15 years!

Source: http://blogs.fsfe.org/padams/?p=251

SYNTAXBRILLIAN SYNOPSYS SYNNEX