Archive

Archive for the ‘English’ Category

XPToronto Workshop: Agile Requirements and Planning Using Stories

February 20th, 2008

What’s XPToronto?

The XPToronto/Agile Users Group is a dedicated community of software development specialists located in the Toronto, Canada area. The members of XPToronto are committed to the acceptance of Agile development methodologies, such as Extreme Programming, Scrum and many others.

We usually have discussion meetings on the third Tuesday of every month, except for the months of July and August when we break for the summer. From “Previous Presentations” page you can find a lot of Agile experts and book authors. Such as:

Yesterday’s meeting is about “Agile Requirements and Planning Using Stories”, presented by Lawrence Ludlow who is current leading the XPToronto community.

Lawrence gave a presentation that he developed in the past to introduce new clients to agile development and how Intelliware approach project scoping and plannin. There was a lot of information and experience sharing.

Anyway, if you missed the workshop, there is one quote from Mr. Ludlow you shouldn’t miss:

How to do Agile planning?

  1. Make it work
  2. Make it right
  3. Make it faster

Want to know more:

Agile, English, Toronto ,

Google Apps Team Edition - the SharePoint killer?

February 9th, 2008

Google has just released their newest collaboration application. This time is different. Google put four of their exist applications together and named it “Google Apps Team Edition“. And the target market is “groups at work or school“.

Here is the PR press: Team Up With Google Apps

Here is the insruction video from Google:

Here are the applications have been included:

  • Google Docs™ to create and share documents, spreadsheets and presentations
  • Google Calendar™ to arrange meetings, set schedules, and publish event information
  • Google Talk™ for instant messaging and free PC-to-PC voice calls
  • Start Page where users can access their Google Apps services and customized content

Google claims that the purpose of Team Edition is to allow users to “share documents and calendars securely without burdening IT for support,” are more likely to be greeted by raised eyebrows from the IT department.

So, what is our IT department busy doing now? Manage network, Exchange or even Sharepoint?

Base on the M$ recent Quarter Results, Microsoft Business Division (MBD) made $4.8 Billion in total, up 37% than last quarter. Those money is coming from selling office suite and selling, consulting SharePoint. Cmswire said only SharePoint itself made $1 Billion for M$. Big deal, really.

Let’s see what SharePoint can do?

What’s missing in Google Apps Team Edition? Maybe not that much.

  • Collaboration

Google already has GDoc, GCal and GTalk. And if you subscribe Premier Edition, you will have 25GB GMail too.

  • Portals

Google Start Page allows you put all kinds of widgets on it so you can easily access inbox, calendar, docs and all the others in your widgets.

  • Enterprise search

Google Search + Google Desktop Search isn’t enough?

  • Enterprise content Management

GDoc?

  • Business process and form

GDoc again?

  • Business intelligence

Still GDoc?

What Google Apps Team Edition has but not in SharePoint?

  • Free for Team Edition and cheap for Premier Edition
  • Easy to use, easy to manage

What’s next?

  • Put Google Apps Team Edition onto your desktop by Prism
  • Invite your colleague to use it
  • Convince IT Department to use it
  • Create some serious widgets work with exist systems in your company? You could sell them to other companies too.

Powered by ScribeFire.

English , , ,

Three columns layout without table

February 8th, 2008

Computer monitors are getting bigger and bigger, so do the html pages. People start to add more columns into the layout.
To create a three columns layout, in a very traditional way you can do it in a table, like this:
[html]

Left Main Right

[/html]
There are some obvious downside on this:

  • Mix data and presentation
  • Not browser friendly, try to browser this use a mobile phone? I am not saying iPhone or iPod Touch.

So how to fix it? You can use css with “position: absolute;” or “Float”:
[html]

Left column
Right column
Content

[/html]
[css]
#wrapper {width: 800px;}
#main {margin-top: 10px;}
#sideleft {float: left; width: 200px; border: 1px solid black; background-color: #dddddd;}
#sideright {float: right; width: 200px; border: 1px solid green; background-color: #99ff99;}
#content {border: 1px solid blue; background-color: #9999ff; margin: 0 20px 0 10px;}
[/css]

Want to know more?

English ,

Find your ideal Career

February 8th, 2008

An ideal career is a sweet dream for most of us, well, maybe all of us.

Changethis.com posted a very interesting manifesto from Jessica Hagy: Indexing a Career: A Career Path in Pictures. You can download the free e-book from Changethis.com and can buy a print version too.

Jessica Hagy has a very unique blog called  Indexed. She posts a picture of her draw on a 3” by 5” index card pretty much everyday. Those pictures are all very simple but inspirational.

Some cards from her manifesto:

Always. Everyone. Everywhere.

Time to what?

I remember I collected a interesting one for ideal career too, so I find it out and put it here:

(Click on it to get the full size version)

English

Fizz, buzz, fizzbuzz

February 6th, 2008

I was hit by a simple question today: write a fizzbuzz in ruby. Pretty fun anyway.

What’s Fizzbuzz?

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

I started from this:
[ruby]
class Fixnum

end
[/ruby]

I think it was a little overkill and slow the coding speed a lot. Here is the result:
[ruby]
def fizzbuzz
(1..100).each { |item|
puts print_value(item)
}
end

def print_value(item)
print_value = ”
print_value += ‘Fizz’ if item.div_by_3?
print_value += ‘Buzz’ if item.div_by_5?
print_value.empty? ? item : print_value
end

class Fixnum
def div_by_3?
self % 3 == 0
end

def div_by_5?
self % 5 == 0
end
end

fizzbuzz
[/ruby]

Here are some simple samples from internet:
One liner:
[ruby]
1.upto(100) { |n| puts n % 3 == 0 ? n % 5 == 0 ? “fizzbuzz” : “buzz” : n % 5 == 0 ? “fizz” : n }
[/ruby]
Another one liner:
[ruby]
puts (1..100).to_a.collect { |i| i % 15 == 0 ? ‘fizzbuzz’ : (i % 5 == 0 ? ‘fizz’ : (i % 3 == 0 ? ‘buzz’ : i)) }.join(’ ‘)
[/ruby]
One more one liner
[ruby]
puts (1..100).map{|i|i%15==0?’FizzBuzz’:i%5==0?’Buzz’:i%3==0?’Fizz’:i}
[/ruby]
Regular one, pretty close to mine:
[ruby]
(1..100).each{|i|
x = ”
x += ‘Fizz’ if i%3==0
x += ‘Buzz’ if i%5==0
puts(x.empty? ? i : x);
}
[/ruby]

Want to know more?

  1. Coding Horror:  Why Can’t Programmers.. Program?
  2. Imran On Tech: Using FizzBuzz to Find Developers who Grok Coding
  3. Wikipedia: Bizz buzz
  4. RubyQuiz: FizzBuzz (#126)

Go back to practice more, and more…

English, Ruby

DemoCamp Toronto 17 is open to register

February 5th, 2008

DemoCamp Toronto 17 will be hosted in Toronto Board of Trade, 1 First Canadian Place again on Monday, February 25th, 2008.

It is open to register now. Please hurry up to get your ticket from http://democamp.eventbrite.com/

If you can’t make it this time, please come back here later. I will cover this event for sure.

What’s Democamp Toronto?

DemoCamp is a variation of the un-conference style of event, started by the TorCamp group as an excuse to have more regular meetings where community members share what they’ve been working on, demo their products, meet others (and share a drink or 3).

What’s TorCamp?

TorCamp is a remarkable community of people in the Toronto area - a community of designers, developers, marketers, PR people, executives, testers, quality assurance specialists, consultants, recruiters, network administrators, business developers, venture capitalists, angel investors, policy analysts, etc. Since the first TorCamp event in November 2005, TorCampers have congregated at least once and often five or ten times a month in conference centers, cafes and parks to share ideas and look for unexpected aha! connections of people and ideas. And it’s not just about BarCamp events: if you look at the hottest things going on in the Toronto Tech community, you’ll usually find a TorCamper among the instigators.

What’s the rule? We have a rule? Yes.

The rules are pretty simple. Demos are 5 minutes. There is generally no Powerpoint for Demos, if there is to be Powerpoint it must be approved by the stewards. Ignite presentations are 5 minutes. They are 20 slides x 15 seconds/slide and the presenter does not have control over the slide advancement. All Ignite decks must be submitted to the stewards before the event.

Should I attend?

  • If you want to know what are the hottest things happening in Toronto Tech community
  • If you want to show some super cool things you are working on

See you there! :)

English, Toronto , , ,

Toronto JUG February 2008 Meeting - Eclipse Mylyn

February 5th, 2008

Just came back from Toronto JUG Meeting, we don’t have meeting for almost 4 month already. I really feel I miss it so much.

Toronto JUG meeting is always a fun event to attend, you will have chance to meet a lot of good Java/J2EE Developers from companies around Toronto.

Today’s presentation is given by Eugene Kuleshov , a software developer whom contributes to several open-source Java Projects, such as ASM, Maven and Eclipse. I’ve seen him giving another session about M2 (Maven Eclipse plug-in) a year ago. He is absolute a great Java Developer!

Today’s topis is about Eclipse Mylyn. I’ve used Mylyn for years, back from it was called “Mylar“. I really appreciate this great plug-in from Eclipse Community. Mylyn is a huge time saver and excellent collaborate framework.

What is Mylyn?

Mylyn is a Task-Focused Interface for Eclipse that reduces information overload and makes multi-tasking easy. It does this by making tasks a first class part of Eclipse, and integrating rich and offline editing for repositories such as Bugzilla, Trac, and JIRA.

Once your tasks are integrated, Mylyn monitors your work activity to identify information relevant to the task-at-hand, and uses this task context to focus the Eclipse UI on the interesting information, hide the uninteresting, and automatically find what’s related.

This puts the information you need to get work done at your fingertips and improves productivity by reducing searching, scrolling, and navigation. By making task context explicit Mylyn also facilitates multitasking, planning, reusing past efforts, and sharing expertise.

This picture is showing what Eclipse will look like after having Mylyn installed.

What features Mylyn provides?

  • Task-Focused User Interface - the interface automatically hides items which are not part of the current task, and keeps track of what items are related to a given task
  • Integration with Task Repositories - draws lists of tasks from Bugzilla, JIRA, and Trac as well as several other providers
  • Rich editing and transparent offline work - automatic caching of task changes, and automatic synchronization when back online

Want to know more:

So, go ahead download it, install it and have some fun!

By the way, every JUG meeting will have some job opening announcement. If you are looking from Java job or Java Developers, it is the event to go too.

Here is the list of this month:

  • RPM is looking from Sr./Jr. Java Developers
  • iLoveReward is looking from Sr./Jr. Java Developers
  • Quest is looking from Sr. Java Developes and QA
  • TEK Systems as always

English, Java, Toronto , , ,

FacebookCamp Toronto 3

February 5th, 2008

Just came back from FacebookCamp Toronto 3. It was absolutely another great event again!

As you can see here, there were more than 400 people from Toronto or around area attended this camp. Actually FacebookCamp Toronto is the biggest Facebook Developer Garage in the whole world so far. Pretty amazing!

I’ve uploaded all the photos I’ve taken onto FacebookCamp Event page, please check out them here: http://www.facebook.com/photo_search.php?oid=9090547740&view=all

Here is the links to the detail pages:

http://www.facebook.com/group.php?gid=2411884086 (Group)

http://www.facebook.com/event.php?eid=9090547740 (Event)

http://barcamp.org/FacebookCampToronto3 (Agenda and detail wiki page)

The actual agenda was pretty much the same as the wiki one, except Dave’s keynote has been moved after “Facebook vs OpenSocial” as he was stuck in the traffic.

  • Intro - update from last FBCT (Roy/Colin/Andrew)

Facebook gets bigger and bigger, Facebook users in Canada get more and more…

  • Facebook Pages Case Study ( Andrew Cherwenka, Trapeze Media )

Even a Facebook Page can make a success marketing story too!

  • Bebo Facebook Application ( Roy Pereira & Colin Smillie, refresh partners )

First website who has licensed Facebook API. Transferring apps from Facebook to Bebo is not that easy now, but it’s getting better.

“Write once, run anywhere” is not exactly true. Damn!

  • ExtremeVP Introduction (Amar Varma)

I am on Facebook and I am using Mac!

“A lot of big things will happen on Facebook Platform, but I don’t tell you now.”

  • Website Marketing in Facebook Case Study ( Tim Shore, BlogTO )

Toronto Faves and Toronto Events, don’t miss them if you are in Toronto too.

Jay Goldman - Author of “Facebook Cookbook”. Check out his blog for more detail information on Facebook Beacons.

Demos: 5 minutes each ( 5 Slots, no more, see you next time)

Their status is COOL.

3D Scene on Facebook.

From Facebook President to ePresident.

I debate this will be big.

Serious business conference call for free.

What a wonderful time! See you next camp. :)

English, Facebook, Toronto ,

The best Menu Items for Leopard - My Mac Serial 2

February 2nd, 2008

This the second one of My Mac Serial posts. The first one is about Color Pickers.

What’s Menu Items?

WikiPedia: A Menu extra, menu item, menulet, or status item in Mac OS X is a small icon or sometimes a word that appears at the right of the menu bar. They often provide quick ways to use applications (e.g. iChat) or display information (for example the system clock), or control system-level variables (for example the volume control). There are a number of third party menu items available. Menu extras are similar to items in the Microsoft Windows system tray but are less common.

This is the current Menu bar I have. A little too long, yeah, I know. The resolution of my main screen is 1680×1050, so most of the time it is still OK for me to have such a mass Menu bar.

OK. Let’s talk about them. One by one from left to right:

  • Spotlight from Apple.
    Not that much need to be said again. Spotlight had a huge performance improvement in Leopard. The search and index processes are all much faster than it was in Tiger. Two features may be worth a highlight:

    • Spotlight in Leopard can search through your files on your network.
    • Spotlight window is same as Finder window, so you will have coverflow and quicklook too.
  • MenuCalendarClock from objectpark.
    The current version I have is for iCal, they do have another version for Entourage if you care. MenuCalendarClock make my life so much easier on handling my schedule and todos. As you can see in the screenshot, everything on your iCal is just one click away. You can simply find your detail events by click the highlighted date and more:

    • Create, update and complete todos
    • Search! through your schedule and todos
  • Built-in bluetooth menu item from Apple.
    Nothing special. I keep it just because sometime I have to turn bluetooth off and on again to find my MS Presenter mouse 8000.
  • Built-in input source menu item from Apple.
    Nothing special either. I need it so I will know what kind of input method before I am typing.
  • These three are all iStat Menus from iSlayer.com.
    It helps me to monitor my lovely MacBook at all the time, so I could know what’s going on in my system and make sure be cooler. The color? Yes, it is pink. Looks pretty, right? :)
  • WeatherPop from weatherpop.com.
    Simple and straight updates you about the weather of the multiple locations you want to know. If you are in USA, you will have a Radar view too, even better.
  • SwitchResX from (Miss?) Stéphane Madrau.
    It is extremely helpful if you use extra monitors and you change your locations often. It provides a lot short cuts on the menu, so you easily switch your main display, change resolutions, turn on/off Video Mirroring when you do presentation, save icons position of your desktop, detect displays if nothing happen after you plugin extra monitors and even more. Another very neat feature is it is very easy to change the rotation of your monitor. Of cause you need a monitor which supports this. So I can always turn my monitor from horizontal to vertical when I am reading blogs. Now a day blog posts are getting longer and longer. Such as the one you are reading now. :D
  • Built-in AirPort from Apple and WiFind from TastyApps.com.
    AirPort menu has little improvement in Leopard. It becomes much useful after you install WiFind. WiFind can tell you the signal strength of every wifi network you can reach, and are they open or not. WiFind supports Tiger too, and it integrates even better with AirPort Menu. In Tiger, you will only have one networks list instead of one list plus a submenu list too.
  • MUMENU from MacUpdate.com.
    It keeps me always uptodate on my mac applications. It is quite essential for somebody like me as an appaholic. As you can see in the screenshot, it will kindly show the application icons if you already have the application installed.
  • Freeze Frame from Elgebar Studios.
    Freeze Frame allows you to completely freeze an application, making it use absolutely no CPU cycles. I keep my applications always open at all the time. At some point I will have severial web pages open with flash in them, it will become annoying as they take a lot of your cpu time. So I can simply freeze my Firefox or Safari when I am doing other things.
  • Jumpcut is a opensource application. It is hosted at sourceforge right now. Jumpcut was original created by Mr. Steve Cook from snarkout.org. It is very simple but powerful enough. It provides quick, natural, intuitive access to your clipboard’s history. You can paste from your previous copy by just one click.
  • TextExpander from SmileOnMyMac.
    TextExpander saves you countless keystrokes with customized abbreviations for your frequently-used text strings and images. For example, instead of input “February 2, 2008″ you just type “ddate”,TextExpander will automatic change “ddate” to “February 2, 2008″. Yes, it just did it for me again. I really love their tagline for it, “If yor’re not using it, you are wasting time”. And I can tell you, it is true.
  • TrackTime from mamooba.
    I am using it to track how much time I spend on every projects, applications and websites. It has a very beautiful timeline interface. It even has some AppliScript APIs, so you can put it into your workflow then every time you open an application it will switch your tracking project too.
  • Wallpaper Clock from Jacob Bandes-Storch.
    It shows clock as part of your wallpaper in the most artistic way. VladStudio has more than 100 wallpaper clocks which you can choose from. You can even use them on windows too, by using Chameleon Clock from Softshape. Wallpaper Clock handles one of my screen and another screen is handled by the next one.
  • Desktoptopia from desktoptopia.com.
    Desktoptopia is a desktop background manager for the mac that automatically loads and displays designer desktops on your monitor, as often as you wish. desktoptopia.com currenly had more than 200 wallpapers you can use, everyone of them are very high quality and gorgeous. And you can even submit your own.
  • PTHVolume from PTH Consulting.
    We all have built-in sound volume control from Apple. But if you have more than one input devices or output devices, PTHVolume make it so much easier to switch between them.
  • Adium from adiumx.com.
    No need to say anything. Everybody on mac is using it. Adium is a free instant messaging application for Mac OS X that can connect to AIM, MSN, Jabber, Yahoo, and more.
  • Well, finally. Last but absolute not least. Skitch from plasq.
    I took all the snapshots by Skitch except the last one for itself, which it couldn’t do. I couldn’t image how much longer I need to finish this post without Skitch and Skitch.com. Simply grab a comment what I agree with:

I used to think a Mac was not a Mac without QuickSilver. Now it’s not a Mac without QuickSilver AND Skitch. It’s been like growing a thumb for the first time — how on earth did I ever live without Skitch before?! — Chris Messina

That’s it. Wow. Hope you can find something new here. :)
If you want more, here are some other links:

Britta Gustafson manages a extensive of Menu Items list on http://menu.jeweledplatypus.org/ and a faq page on http://menu.jeweledplatypus.org/meta/. The last updated time for that was 6/16/07, so it is out of date but still pretty complete.

English, Mac, OS X, Software ,

Toronto Java User Group is reborn

February 1st, 2008

Toronto JUG is the biggest user group in Toronto which was created base on one particular computer language. We have more than 1000 members and have more than 100 members attend monthly meeting. Toronto JUG was formed in 1996 and have a very good domain from 1998 - jug.org. But we lost it at the end of 2007. :(
Just got a updating email from Mr. Steve Rosenberg, the president of Toronto JUG.

In his email, he said:

The jug.org domain expired, and the notice was sent to a Quest sysadmin who is no longer with the company. So we’ve lost the jug.org domain (somebody snatched it up very quickly!).

So from now on Toronto JUG will start using new domain: http://www.torontojug.org/

Not too bad, maybe even better. :)
Anyway, the lesson for me is:

Make sure use a reliable email address when register a domain name. Gmail could be a good choice.

Upcoming event:

Task-Focused Programming with Eclipse Mylyn

Current IDEs overload us with tens of thousands of artifacts that make up an enterprise application, and as a result we spend a lot of time searching, scrolling, and navigating through the code. Eclipse Mylyn focuses the IDE to show only the information relevant to the current task. This makes the work with large systems much easier and also helps with switching from one task to another. Mylyn monitors developer’s activity to identify information relevant to the current task, and uses this task context to focus the Eclipse UI on the interesting information and hide the uninteresting. This improves productivity by reducing searching and scrolling, and makes navigation really simple. By making task context explicit, Mylyn facilitates reusing past efforts, and sharing expertise. Task management facilities also provide integration with issue tracking repositories, such as Bugzilla, Trac, JIRA and several others bringing all required information right into the IDE.

Presented by Eugene Kuleshov

Eugene Kuleshov is a software developer with over 15 years of industry experience. Eugene is a committer on Eclipse Mylyn project and an active contributor to several other open source projects, including ASM, Maven and Eclipse. He blogs about various software-related topics at http://jroller.com/page/eu/

English, Java, Toronto ,