Startup Weekend arrives for the second time in Singapore! For 54 intense hours, participants brainstorm, plan, prototype, and pitch a startup concept.

If you’re technical, think of it as a weekend-long hackathon, sort of like a SuperHappyDevHouse, but held at Microsoft’s premises. If you’re non-technical, (what are you doing on this mailing list?) think of it as a chance to practice Powerpoint. Mentors, speakers, and judges include members of AWS’s tech team, serial Internet entrepreneurs, and venture capitalists.

Details: April 29 – May 1, 2011 at Microsoft @ 22 level @One Marina Boulevard (OMB)

Some FAQ:

Do I have to have an idea for a startup? No. There will be lots of people with ideas, so you can always join somebody else’s team.
What is the time commitment? Friday night from 6pm to 11pm; Saturday 10am to 10pm; Sunday 10am to 10pm.
What does it cost? If you register before April 6, $75 for geeks and $88 for muggles. After April 6 it’s $99.  So register soon.
Who’s facilitating? Last year it was Marc Nager. This year, Joey Pomerenke.
What about food? Meng Weng will be cooking his famous sous vide: eggs for breakfast, roast beef and BBQ ribs for lunch, and oxtail for dinner. In case that turns out to be a total failure, Lau Pa Sat is just a short walk away.

For more information go to singapore.startupweekend.org.

 

HP has revealed a redesigned consumer PC devices for 2011 with sleek looks and the latest technologies to enhance the way consumers connect to the people, entertainment and information that matter to them to pursue and achieve their personal passions.

HP Pavilion dv6 Notebook

First up, we have the HP Pavilion dv6 Notebook. Available in a dark umber metal finish, it uses design elements from the award- winning ENVY line such as a sleek metal finish and HP‘s exclusive BeatsTM Audio. The Pavilion dv6 also includes newly optimized on- board quad speakers. Available with second-generation Intel® CoreTM i7 processors and AMD RadeonTM graphics, the Pavilion dv6 provides enhanced performance. HP CoolSense Technology combines advanced hardware and intelligent cooling software for a notebook that feels noticeably cooler. To help protect personal information and simplify password management, the Pavilion dv6 also includes HP SimplePass, providing secure access to online accounts and passwords with the swipe of a finger. Designed with security and protection in mind, all HP Pavilion dv series notebook PCs feature HP ProtectSmart, which helps to lock the hard drive to secure photos, music and memories, and protects against accidental drops.

The HP Pavilion dv6 Notebook starts from S$1799 and will be available from March 2011 in Singapore.

HP Pavilion dv4 Notebook

Next, we have the HP Pavilion dv4 Notebook. Designed to maximize any user‘s multimedia experience, it expresses full PC functionality and performance with up to second-generation Intel Core® i5 processors and powerful AMD RadeonTM 6750M graphics. With a stylish exterior in an Espresso Black lattice imprint to match its powerful interior, the notebook measures from 1.11-inch thin and weighs from 2.2-kilos. It features a 14.0-inch diagonal HD BrightView display and has an optional integrated Blu-Ray player. An integrated six-cell battery provides up to 6 hours of battery life.

The HP Pavilion dv4 Notebook starts from S$1299 and will be available from March 2011 in Singapore.

HP Pavilion g4 Notebook

Striking a balance between design, performance and affordability, the new HP Pavilion g4 Notebook is ideal for the everyday user, offering second- generation Intel® CoreTM i5 processors, attractive designs and essential features at a great value. Available in charcoal grey and sonoma red, the Pavilion g4 offers full connectivity for surfing the Internet and connecting with friends. The notebook also include a HD BrightView display, with Altec Lansing speakers and SRS Premium Audio for enjoying movies and music.

The HP Pavilion g4 Notebook starts from S$1099 and will be available from March 2011 in Singapore.

HP TouchSmart 610 Consumer PC

The new HP TouchSmart610 Consumer PC offers consumers increased range of motion, superior viewing and an intuitive touch experience with a 23- inch diagonal high-definition (HD) display(1) that reclines up to 60 degrees and tilts forward up to five degrees. The wide-angle, LED backlit LCD screen provides optimal viewing angles, even when reclined, while multi-touch technology allows for an accurate response.

With its refined industrial design and the latest version of HP TouchSmart software, the HP TouchSmart610 Consumer PC has touch- optimized applications from Facebook, Twitter, as well as HP‘s exclusive RecipeBox, webcam and music applications where users can add new applications via the TouchSmart Apps Center. It also features BeatsTM Audio and the new HP LinkUp application for users to wirelessly link a notebook PC to the TouchSmart using a home network.

The HP TouchSmart610 Consumer PC starts from S$1899 and will be available from March 2011 in Singapore.

HP x2301 Micro Thin LED Monitor

The limited edition, stunning, multi-faceted 23 inch HP x2301 Micro Thin LED monitor, features LED backlighting which illuminates the display and an edge lit illumination around the screen. The HP x2301 Micro Thin LED monitor comes in a sleek, slim and sophisticated profile and full HD resolution. With its fast response time, extremely high dynamic contrast ratio and HP HD BrightView technology, the powerful monitor comes mounted on a translucent aquamarine base while allowing users to view crisp, sharp and detailed imagery for all their entertainment experiences.

The HPx2301 Micro Thin LED monitor starts from S$499 and will be available from March 2011 in Singapore.

 

My 1TB harddisk recently died on me (I think it’s some partition corruption due to bad sectors), and me being the silly person who doesn’t backup my backup had to recover the data on the failed harddisk. There are lots of paid software out there to recover your harddisk, but I found a powerful data recovery software for free. It’s called Testdisk.

Testdisk can run on almost every operating system out there:

  • DOS (either real or in a Windows 9x DOS-box),
  • Windows (NT4, 2000, XP, 2003, Vista, 2008, Windows 7 (x86 & x64),
  • Linux,
  • FreeBSD, NetBSD, OpenBSD,
  • SunOS and
  • MacOS X

Furthermore, Testdisk can read almost every partition directly – BeFS (BeOS file system), NTFS, Fat16, Fat32, HFS, HFS+, Linux ext2, Linux ext3, etc.

Testdisk can:

  • Fix partition table, recover deleted partition
  • Recover FAT32 boot sector from its backup
  • Rebuild FAT12/FAT16/FAT32 boot sector
  • Fix FAT tables
  • Rebuild NTFS boot sector
  • Recover NTFS boot sector from its backup
  • Fix MFT using MFT mirror
  • Locate ext2/ext3/ext4 Backup SuperBlock
  • Undelete files from FAT, NTFS and ext2 filesystem
  • Copy files from deleted FAT, NTFS and ext2/ext3/ext4 partitions.

Powerful isn’t it? You can find out more or get it here at www.cgsecurity.org/wiki/TestDisk.

 

Using any SingTel, M1 or Starhub mobile number, you can do a donation by sending an SMS to 78888:

  • For a $5 donation, SMS RC5 to 78888
  • For a $10 donation, SMS RC10 to 78888
  • For a $20 donation, SMS RC20 to 78888

Donations will go towards the Singapore Red Cross Society’s relief efforts in Japan. This mobile donation campaign will continue for one month, starting from 6am on 28 March 2011 till midnight on 25 April 2011.

Donations are not tax-deductible and persons  below the age of 18 years will require parental or guardian consent before making a donation.

 

With all the hype and circulation about Earth Hour 2011, I expected more businesses, companies and building owners to participate in this exercise of conserving energy, and the awareness of how every little bit counts. However, much to my dismay, Singapore was still brightly lit up, except now it’s not so much. There were events and other marketing hype surrounding Earth Hour 2011, however when it came down to actually turning off the lights, it didn’t quite happen as I expected.

Take a look for example the irony of this picture above. This was taken shortly after Earth Hour started. Signs were brightly lit, spotlights were turned on, and several restaurants in the background (not in this picture) had their lights turned on like a sore thumb.

Did you know turning off your lights also means turning off your big brightly lit sign?

One of the few buildings that was almost completely switched off were the MayBank building and HSBC building.

Well, with that, I’m disappointed with what I’ve seen, and I thought Singapore could have done better. I hope those who’ve participated will continue to do more beyond Earth Hour, and those who hasn’t will participate next year.

 

A client of mine wanted to center a scrollable region (ScrollViewer) in Silverlight whenever it zooms in or out. Currently, whenever you do a zoom, it will zoom in or out based on the upper left hand corner. There isn’t a lot of information regarding this, and many of which doesn’t fit this situation.

Some solutions use ScaleTransform within a RenderTransform which will zoom, however if within a ScrollViewer, it will not show the scroll simply because the view area is constraint. Another solution was to use a Viewbox and apply the zoom there, but I never did get it working.

The one solution that works was to zoom the canvas itself (or in this case I  wrapped it around a LayoutTransformer from the Silverlight Toolkit) and then move the ScrollViewer‘s scrollbar itself to the position I wanted. That’s the gist of the solution, but it’ll require some explanation. Let’s get started.

[sourcecode language="xml"]
<Grid x:Name="LayoutRoot">
<ScrollViewer x:Name="Scroller" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" VerticalContentAlignment="Center" HorizontalContentAlignment="Center">
<layoutToolkit:LayoutTransformer x:Name="zoomTransformer">
<layoutToolkit:LayoutTransformer.Content>
<!– Some content here –>
</layoutToolkit:LayoutTransformer.Content>
<layoutToolkit:LayoutTransformer.LayoutTransform>
<TransformGroup>
<ScaleTransform x:Name="scaleTransform" ScaleX="1" ScaleY="1"/>
</TransformGroup>
</layoutToolkit:LayoutTransformer.LayoutTransform>
</layoutToolkit:LayoutTransformer>
</ScrollViewer>
</Grid>
[/sourcecode]

The sourcecode above is just a very simple ScrollViewer with a LayoutTransformer in it. I want to get Line 5 to center zoom whenever I zoom in or out. Right now it zooms and stays on the Top Left corner.

First up, I need to get the values of the scrollbar offsets whenever it changes. However, Silverlight 4 doesn’t have ScrollChanged event. You’ll need to simulate this by following this sample code: ScrollViewer Scroll Change Event in Silverlight. In a quick change of the code, you’ll get the following:

[sourcecode language="xml" highlight="34,35"]
<UserControl.Resources>
<!– This is from the sample provided at http://dotplusnet.blogspot.com/2010/05/scrollviewer-scroll-change-event-in.html.  It gives us access to an event when the scroll viewer is changed –>
<Style x:Key="svScrollerStyle2" TargetType="ScrollViewer">
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="VerticalScrollBarVisibility" Value="Visible"/>
<Setter Property="Padding" Value="4"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA3AEB9" Offset="0"/>
<GradientStop Color="#FF8399A9" Offset="0.375"/>
<GradientStop Color="#FF718597" Offset="0.375"/>
<GradientStop Color="#FF617584" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ScrollViewer">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2">
<Grid Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ScrollContentPresenter x:Name="ScrollContentPresenter" Cursor="{TemplateBinding Cursor}" Margin="{TemplateBinding Padding}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
<Rectangle Fill="#FFE9EEF4" Grid.Column="1" Grid.Row="1"/>
<ScrollBar x:Name="VerticalScrollBar" Margin="0,-1,-1,-1" Width="18" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" IsTabStop="False" Grid.Column="1" Grid.Row="0" Maximum="{TemplateBinding ScrollableHeight}" Minimum="0" Value="{TemplateBinding VerticalOffset}" Orientation="Vertical" ViewportSize="{TemplateBinding ViewportHeight}" Loaded="VerticalScrollBar_Loaded" />
<ScrollBar x:Name="HorizontalScrollBar" Height="18" Margin="-1,0,-1,-1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" IsTabStop="False" Grid.Column="0" Grid.Row="1" Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Value="{TemplateBinding HorizontalOffset}" Orientation="Horizontal" ViewportSize="{TemplateBinding ViewportWidth}" Loaded="HorizontalScrollBar_Loaded"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
[/sourcecode]

The most important parts are Line 34 and 35, where you set the “Loaded” event of each scrollbar. Within both “Loaded” events, you simulate a ScrollBar ScrollChanged like this:

[sourcecode language="csharp"]
private ScrollBar _horizontalScrollBar;
private ScrollBar _verticalScrollBar;
private double _relScrollX;
private double _relScrollY;

private void HorizontalScrollBar_Loaded(object sender, RoutedEventArgs e)
{
// Register a handler any time a user scrolls horizontally
_horizontalScrollBar = sender as ScrollBar;
_horizontalScrollBar.Scroll += horizontalScrollBar_Scroll;
}

private void VerticalScrollBar_Loaded(object sender, RoutedEventArgs e)
{
// Register a handler any time a user scrolls vertically
_verticalScrollBar = sender as ScrollBar;
_verticalScrollBar.Scroll += verticalScrollBar_Scroll;
}

void horizontalScrollBar_Scroll(object sender, ScrollEventArgs e)
{
SaveScrollerValues();
}

void verticalScrollBar_Scroll(object sender, ScrollEventArgs e)
{
SaveScrollerValues();
}

/// <summary>
/// Save the values of the scroller any time they are changed
/// </summary>
private void SaveScrollerValues()
{
// This concept is modified from the code at http://social.msdn.microsoft.com/Forums/en/wpf/thread/5202aae5-b2cc-4fc3-aa43-4541fcc856fb
if (Scroller.ExtentWidth > 0)
{
_relScrollX = (Scroller.HorizontalOffset + 0.5 * Scroller.ViewportWidth) / Scroller.ExtentWidth;
}
if (Scroller.ExtentHeight > 0)
{
_relScrollY = (Scroller.VerticalOffset + 0.5 * Scroller.ViewportHeight) / Scroller.ExtentHeight;
}
}
[/sourcecode]

The code above is pretty much self-explanatory. I save the relative scroll values and use them when I’m actually scrolling. In order to get the relative scroll values, I need to get current Offset (i.e. current position of the scroll) and add the mid-section of the ViewportWidth then divide that by the ExtentWidth to get the relative scroll position. There’s some math going on, but I’ll add a bit more explanation if I ever get around drawing it out.

Of course, now we need to attach the new style created above with our ScrollViewer.

[sourcecode language="xml" highlight="1"]
<ScrollViewer x:Name="Scroller" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Style="{StaticResource svScrollerStyle2}">
<layoutToolkit:LayoutTransformer x:Name="zoomTransformer">
<layoutToolkit:LayoutTransformer.Content>
<!– Some content here –>
</layoutToolkit:LayoutTransformer.Content>
<layoutToolkit:LayoutTransformer.LayoutTransform>
<TransformGroup>
<ScaleTransform x:Name="scaleTransform" ScaleX="1" ScaleY="1"/>
</TransformGroup>
</layoutToolkit:LayoutTransformer.LayoutTransform>
</layoutToolkit:LayoutTransformer>
</ScrollViewer>
[/sourcecode]

Now that we’ve got everything set up, let’s do the zooming! Just attach whatever events you’re attaching it to and start zooming. For me, I attached it to a KeyUp event on the Page itself.

[sourcecode language="csharp" highlight="17,18"]
private void Page_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.X)
{
// Shrink the viewbox.
scaleTransform.ScaleX -= 0.1;
scaleTransform.ScaleY -= 0.1;
}
if (e.Key == Key.Z)
{
// Expand the viewbox.
scaleTransform.ScaleX += 0.1;
scaleTransform.ScaleY += 0.1;
}
zoomTransformer.ApplyLayoutTransform();
MyContent.UpdateLayout();
Scroller.ScrollToHorizontalOffset(Math.Max(_relScrollX * Scroller.ExtentWidth – 0.5 * Scroller.ViewportWidth, 0) == 0 ? 0.5 * Scroller.ScrollableWidth : _relScrollX * Scroller.ExtentWidth – 0.5 * Scroller.ViewportWidth);
Scroller.ScrollToVerticalOffset(Math.Max(_relScrollY * Scroller.ExtentHeight – 0.5 * Scroller.ViewportHeight, 0) == 0 ? 0.5 * Scroller.ScrollableHeight : _relScrollY * Scroller.ExtentHeight – 0.5 * Scroller.ViewportHeight);
}
[/sourcecode]

Just a quick explanation what’s going on. Line 3 to Line 14 does the scaling. You can change the scaling factor however you want depending on how much you want to scale. After scaling, you need to apply the layout transform in order for the zooming to be affected.

Line 16 is just to refresh my content within the LayoutTransformer.Content. You have to do this to get the reflected values on the ScrollViewer on Line 17 and 18.

Here’s where the magic begins. Line 17 and 18 essentially figures out where your scroll offsets are and sets them. There’s more math magic going on here. However, I had a problem where _relScrollX and _relScrollY wasn’t set at all if I didn’t move the scrollbar. So what I did was to use half of ScrollableWidth and ScrollableHeight (0.5 * Scroller.ScrollableWidth) whenever the values were 0 so it wouldn’t continue to zoom from the Top Left. This fixed the centering issues I had.

That’s it! Now you have a zoomed content with your ScrollViewer still able to scroll to your other “hidden” segments of your content.

P.S. The solution was gotten from the Silverlight Forums LayoutTransformer, ScaleTransform and RenderTransformOrigin which I simplified and explained what’s going on here.

 

The LG Optimus 2X is now available in Singapore at the recommended retail price of S$888.00 at all telecommunications outlets.

From SingTel Shop – www.singtelshop.com/eshop_gallery/index.jsf?modelid=P990
From M1 – www.m1shop.com.sg/DisplayProduct?displayDetails=15420
From Starhub – www.starhub.com/mobile/handset/elgm0006801lgoptimus2xdarkbrown.html

Key Features:

  • NVIDIA Tegra 2 (1GHz dual-core) Processor
  • Full HD 1080P Video Recording and Playback
  • 8MPX Camera with 8GB Internal Memory
  • Content Mirroring via HDMI
  • GPU-Accelerated Flash Support
 

If you have been waiting for the Sony Ericsson Xperia arc, you can now pre-order it at the following Sony Ericsson Concept Stores – Ang Mo Kio Hub, Parkway Parade – or at your respective telcos – www.singtelshop.com/arc, m1.com.sg/arc, www.starhub.com/arc. It comes with a Montblanc leather case. No word on the pricing yet though.

The key features of the Sony Ericsson Xperia arc:

  • 4.2″ Reality Display with mobile BRAVIA engine
  • 8.1 MP with Sony’s Exmor R for mobile
  • Latest Android for mobile (Gingerbread 2.3)
  • Slim, lightweight, sexy
 

Calling all young designers! Standard Chartered and frog design has teamed up together to run an exciting visual design competition – “inmode: design to change the world”.  The title “inmode” stands for “international, mobile, design”. The theme & tagline “design to change the world” is a call to action for young designers to show how they can use design to show their vision for society.

The competition is open to students, young professionals and members of the public between 18 and 28 and will be run as three heats:

Heat Entry dates
1st heat Mar 11 to Apr 6
2nd heat Apr 7 to Apr 20
3rd heat Apr 21 to May 4

The prizes are as follows:

Expert’s Choice – The most promising young designer as chosen by frog design will experience a week in Shanghai, with a 1-week internship at frog design and $2000 USD cash. The runner-up will receive an iPhone.

People’s Choice – The creator of the most popular design as voted by the public will win an iPad 2. The most popular designs will be the first thing that thousands of users see when they log in to Breeze, Standard Chartered’s mobile banking app.

The 20 top designs will be chosen by Standard Chartered to be used as wallpapers in Breeze and the twenty designers will be profiled on the Breeze website.

For more information, visit breeze.standardchartered.com/inmode.

 

RIM recently announced that their BlackBerry Playbook is able to “run” BlackBerry Java and Android apps thanks to a high degree of API compatibility BlackBerry Tablet OS (QNX Neutrino). Developers simply need to just repackage, code sign and submit their BlackBerry Java and Android apps to BlackBerry App World. The new optional app players will be available for download from BlackBerry App World and will be placed in a secure “sandbox” on the BlackBerry PlayBook where the BlackBerry Java or Android apps can be run.

Other development support includes:

  • Native C/C++ development support added, in addition to HTML5, Flash and AIR support
  • Support from leading game engines: Ideaworks Labs (AirPlay) and Unity Technologies (Unity 3)

For more information on the BlackBerry Tablet OS and BlackBerry PlayBook developing, visit http://us.blackberry.com/developers/tablet/

© 2009 - 2011 JustinLee.sg Suffusion theme by Sayontan Sinha