Monday, April 30, 2012

Failure is fine

Great post by Michael Abrash about organizations, Valve in particular, and the acceptance of failure. And about formal management (or rather the absence of it).

Valve: How I Got Here, What It’s Like, and What I’m Doing

Also read Valves excellent employee handbook. It is truly inspirational!


Thursday, March 15, 2012

Internet beginnings

The wayback machine at the Internet Archive is an amazing resource.

Check out my old webpage from January 1997 that I had as a member at the ABC-klubben in Sweden.

https://web.archive.org/web/19970110005245/http://abc.se/~m10476/

The Bibliotheca Alexandria has an excellent mirror (archive.bibalex.org) of the Internet Archive.

Tuesday, March 13, 2012

jqGrid

jqGrid has a lot more features than WebGrid (like inline editing and frozen columns and group column headers).

Online sample and description
www.trirand.net/demoaspnetmvc.aspx

Sample of using jqgrid in MVC 3
tpeczek.codeplex.com/releases/view/61796

Sample database Northwind
www.codeproject.com/Articles/42837/HowTo-Install-the-Northwind-and-Pubs-Sample-Databa

Thursday, March 1, 2012

Awesome Screnshoot

Great extension and service for saving and annotating screenshots from you web browser. Available for Chrome, Firefox and Safari. www.awesomescreenshot.com

Readability

Great service for saving web articles and reading them later. www.readability.com

Wednesday, February 22, 2012

ASP.NET MVC 3 Security Introduction

Great introduction on Pluralsight to security issues you face when deploying an ASP.NET MVC 3 application.

Security and ASP.NET MVC 3 (Pluralsight)

ASP.NET Security (microsoft)

"With easier I think Scott (Hanselman) means not impossible", Scott Allen in regards to IIS Express ssl configuration.

Tuesday, May 24, 2011

Thursday, May 19, 2011

Thursday, February 10, 2011

Thursday, January 20, 2011

Running SQL Server Management Studio over VPN

If you want to run SQL Server Management Studio over VPN using Windows Authentication you have to somehow supply your credentials from the target domain.

This is how:
use the "runas" command from the command prompt and be sure the include the /netonly switch and specify the user account from your target domain. If you do not include the /netonly switch you will probably get a "no logon servers" type of message. When you connect to a sql server with Windows Authentication it will look like you are using your local account, however, your target domain account credentials will be passed to the sql server!

Here's and example of the command. You can create a shortcut for ease of use. NOTE: you will always be prompted for your password.

RUNAS /user:targetDomain\username /netonly "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe"

On Vista you will need to be sure that you're running as Administrator if you have UAC configured.

If you make a shortcut right click and choose Run as adminstrator when you want to run it.

Thanks to LucidObscurity writing in the thread Windows Authenticaton - Different Domain.

Monday, October 18, 2010

Macbook Pro Late 2008 MATSHITA DVD-R UJ-868 not burning

My Macbook Pro late 2008 was reading both CD's and DVD's fine but burning DVD's just didn't work.

I tried:
TDK DVD-R
Verbatim DVD+R
Hewlett-Packard DVD+R

I tried resetting the pram and smc as suggested on the Apple support forums. Didn't help.

Then I read about using a CD-cleaner.

I bought one at the local electronics shop here in Stockholm, Kjell & Company. Now DVD-burning works fine!

CD linsrengöring

(The instructions didn't recommend to use it in a slot loaded DVD but it worked fine.)

Thursday, October 14, 2010

GTD in Gmail and Google Calendar

Gmail and Google Calendar has a great task feature that you can use to setup a GTD system.

Basic setup
Start with creating the basic set of task lists (they all start with ! just to keep them at the top of  my task lists):

  • !Inbox
  • !Next
  • !Waiting for
  • !Someday
  • !Scheduled

Enter all your stuff to the !Inbox list.

Emails are easily entered by selecting "Add to Tasks" from the "More actions" menu.

If you select a task and then click the little arrow on the right you can:

  • move the task to another list.
  • set a due date
  • add a comment

(You can create hierarchies of tasks by just tabbing them.)


There is no real tagging available (to use for context presumably) but you could either use the comments for that, or do as I and  create two default tasks on the !Inbox list, @home and @work, and then just order the tasks under them.

Scheduling
The simplest way to do this is of course just to add the calendar events as needed and remove the tasks from the !Inbox.

But since I like to keep track of everything in lists I added the !Scheduled list. I move tasks from the !Inbox here and set a due date for them. Then I open up the Google Calendar and select tasks and then the !Scheduled lists and boom (as Steve would say) the scheduled tasks are visible in the calendar. They can be marked as completed as well as rescheduled. (The one downside is that a specific time can not be scheduled for the task in this system, you have to create a specific calendar event for that.)

Conclusion
There are of course lots of ways to set this up. And different plugins available. But since I am new to GTD I wanted the simplest setup possible to get me started. We'll see how it goes...

You're welcome to add comments with questions or thoughts or ideas to improve the above setup.


!Next list in Gmail

!Scheduled list in Gmail

!Scheduled list in Google Calendar

Wednesday, September 15, 2010

LG 37LD420 USB HACK

How to get divx/xvid playback on your LG TV (bought in Sweden).
1. Buy a cheap but great LG 37LD420 on komplett.se for 3995SEK.
2. Borrow a Nokia E51 from a friend.
3. Install irRemote from Psiloc.
4. Add device TV->LG and then refresh.
5. Search for IN-START and then refresh.
6. Select mon.
7. Select the downloaded profile.
8. Press 2 on the phone and have it close to the tv.
9. Password menu pops up. Enter 0413 on tv remote.
10. Select tools option 3 using tv remote.
11. Set Divx to 1 using tv remote.
12. Press exit on the tv remote.
13. Enjoy!

For a more detailed guide check out LG TV USB IR-Hack.

Wednesday, March 31, 2010

Apache modules

Modules are either compiled in (static) or dynamically loaded (shared).

List static with httpd -l
List all with httpd -t -D DUMP_MODULES

Shared modules are stored in /etc/httpd/modules/

Shared modules are either loaded directly in httpd.conf or by looking in conf.d/*.conf
E.g. conf.d/perl.conf
...
LoadModule perl_module modules/mod_perl.so
...

Here are some paths that are good to know (Apache on CentOS):
Executables /usr/sbin
Config /etc/httpd
Logs /etc/httpd/log
Web Root /var/www/html

Thursday, March 25, 2010

CSS resources

SohTanaka

Kuler by Adobe

Kuler is an excellent app from Adobe for color exploration.

Try Create->From an Image...

Saturation is a free iPhone app for exploring existing themes.

Tuesday, March 23, 2010

HTML::FormFu select

When using a FormFu select for a simple relation it is easy to display other item names than the default:

The element looks like:
{
label => 'collection',
type => 'Select',
name => 'collection_id',
options => [ map { [ $_->id, $_->collection . ' - ' . $_->product->product ] }
$c->model('PB::Collections')->search( {}, {order_by => 'product.product, collection', prefetch => 'product'} )->all() ],
constraints => [ 'Required' ],
},
But when using a many to many relation in the listbox it becomes trickier, you have to add an accessor to the result class:

The element looks like:
{
label => 'items',
type => 'Select',
name => 'items',
db => {
model => 'PB::Items',
label_column => 'description',
m_to_m_column => 'item_id',
attributes => { prefetch => [ {book => 'title' }, {book => 'collection' }, {book => 'format' } ] , order_by => 'title.title, collection.collection, format.format ' },
},
multiple => 1,
size => 20,
},

And the following sub has to be added to the items resultset:
sub description {
$_[0]->book->title->title . ' - ' . $_[0]->book->collection->collection . ' - ' . $_[0]->book->format->format . ' - ' . $_[0]->isbn;
}


DBIx:Class debugging

If you use DBIx::Class and you want to see what the SQL generated looks
like, you can set the environment variable DBIC_TRACE.

% DBIC_TRACE=1 my_programme.pl
And all the SQL will be printed on STDERR.

If you give a filename to the variable, like this

DBIC_TRACE="1=/tmp/sql.debug"
all the statements will be printed in this file.

I got this info from i'm a lumberjaph which is a great blog about web programming in general and also have quite a few posts about perl and catalyst.

HTML::FormFu resources

html-formfu (listserv)

Integrate HTML::FormFu with DBIx::Class :

COALESCE

Since I've got back to SQL recently it's nice to learn new tricks. COALESCE is great for defaulting to a value after for example a left join.

SQL

SELECT bindings.*, COALESCE( ft.binding, bindings.binding ) AS sortable_binding
FROM bindings
LEFT OUTER JOIN ( SELECT binding, binding_id FROM bindings_translated WHERE language = ? ) AS ft ON ( ft.binding_id = bindings.id )


DBIx:Class

$c->stash->{collections} = [ $product->collections(
{
language => $c->stash->{language}
},
{
'+select' => \'COALESCE(translations.collection, me.collection) AS translated_collection',
join => [ 'translations' ],
order_by => [ 'translated_collection' ],
}
)->all() ];

perl I18N

If you are using .po files for I18N don't forget to make sure the header has the correct content-type.

I didn't get my Japanese translations encoded in utf-8 to work until I corrected the copy/pasted header.

"Content-Type: text/plain; charset=utf-8"

Perl resources

Perl is alive

Catalyst resources

catalyst (listserv)

DBIx::Class resources

dbix-class (listserv)

Basecamp

We have started using Basecamp at work.

Here are some formatting tips:

Toolbars:
Basecamp formatter (Google Chrome)
Basecode (Firefox)

Monday, March 22, 2010

Configure Apache for multiple instances of catalyst module in fastcgi

FastCgiServer /home/andreas/MyModule/script/pbweb_fastcgi.pl -processes 3
FastCgiServer /home/andreas/MyModule2/script/pbweb_fastcgi.pl -processes 3

NameVirtualHost *:80

<VirtualHost *:80>
ServerName a.xyz.com
Alias / /home/andreas/mymodulea/script/mymodule_fastcgi.pl/
</virtualhost>

<VirtualHost *:80>
ServerName b.xyz.com
Alias / /home/andreas/mymoduleb/script/mymodule_fastcgi.pl/
</virtualhost>

The end / after mymodule_fastcgi.pl is really important.

Configure Apache for multiple instances of catalyst module in mod_perl

The trick was to:
use virtual hosts
PerlOptions +Parent to create a new interpreter
PerlModule instead of PerlLoadModule which caused apache to crash

NameVirtualHost *:80

<VirtualHost *:80 />
ServerName a.xyz.com
PerlOptions +Parent
PerlSwitches -IC:/mymodulea/lib -IC:/morestuff/lib
PerlModule MyModule
<Location />
SetHandler modperl
PerlResponseHandler MyModule
</Location>
</VirtualHost>

<VirtualHost *:80 />
ServerName b.xyz.com
PerlOptions +Parent
PerlSwitches -IC:/mymoduleb/lib -IC:/morestuff/lib
PerlModule MyModule
<Location />
SetHandler modperl
PerlResponseHandler MyModule
</Location>
</VirtualHost>

Update
Sorry to say I only got this working on Windows since DBD:Pg caused error on CentOS.

Tuesday, January 26, 2010

Books you need to buy 3

It's time to update my original list of essential books you need as a (windows) programmer. I'll add some titles the coming weeks.

Web
Learning Perl, 5th Edition, Randal Schwartz, Tom Phoenix 2008 (the very basics)
Intermediate Perl, Randal L. Schwartz, 2006 (references, structures, objects)
Mastering Perl, Brian D. Foy, 2007 (debugging, profiling, config, pod)
Programming Perl, 3rd Edition, Larry Wall, 2000 (more like a reference, includes a bit of everything from the above three)
Advanced Perl Programming, Simon Cozens, 2005 (available modules like DBI and Template Toolkit)
Perl Cookbook, Tom Christiansen, 2003
Perl Best Practices, Damian Conway, 2005
Perl Template Toolkit, Darren Chamberlain, 2003
PostgreSQL, Korry Douglas, 2010

General
Software Fundamentals: Collected Papers, David L. Parnas
Code Complete, Steve McConnell 2004
The Pragmatic Programmer, Andrew Hunt, David Thomas, 1999

Development Processes

Applying UML and Patterns, 3d edition
, Craig Larman 2004
Agile and Iterative Developmen: A Manager's Guide
, Craig Larman 2003
Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin
The Pragmatic Programmer: From Journeyman to Master
, Andrew Hunt, David Thomas
Practices of an Agile Developer: Working in the real world, Venkat Subramaniam, Andy Hunt


Design Patterns
Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Designing Interfaces: Patterns for Effective Interaction Design, Jenifer Tidwell, 2005

Refactoring
Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Working Effectively with Legacy Code
, Michael Feathers

C++
The C++ Programming Language, Bjarne Stroustrup


COM
Essential COM, Don Box 1997
Inside Com (Microsoft Programming Series), Dale Rogerson 1997
ATL Internals (The Addison-Wesley Object Technology Series)
, Brent E. Rector, Chris Sells 1999
Programming Distributed Applications With Com & Microsoft Visual Basic 6.0, Ted Pattison

Windows

Programming Windows
, Charles Petzold 1998
Programming Windows With MFC, Jeff Prosise 1999

MFC
MFC Internals: Inside the Microsoft(c) Foundation Class Architecture
, George Shepherd 1996

Computer Security

Applied Cryptography: Protocols, Algorithms, and Source Code in C, Bruce Schneier 1995
Building Secure Software,
Gary McGraw 2001
Exploiting Software, Gary McGraw 2004
Software Security: Building Security In (Paperback), Gary McGraw 2006
Writing Secure Code, Michael Howard 2002
Secure Programming Cookbook for C and C++, Matt Messier, John Viega 2003

OpenSSL, SSL, TLS
Network Security with OpenSSL, Pravir Chandra, Matt Messier, John Viega 2002
SSL and TLS, Eric Rescorla 2000

WPF

Programming WPF, Chris Sells, Ian Griffiths, 2nd Ed, 2007

Windows debugging
Advanced Windows Debugging, Mario Hewardt, Daniel Pravat, 2007

Tuesday, November 17, 2009

Thursday, November 12, 2009

SVN on Windows

SVN Server
Download windows installer
Choose an installation path without white space in it to make things easier (or remember to escape spaces in the path)
Go for svnserve for an easy setup
Run install with the above choices
Open firewall poer 3690
Verify that the user the service is running as has write access to the repository folder
Create repository (command line)
Edit ./conf/svnserve.conf and ./conf/passwd

Tortoise SVN Client
Download tortoise svn client (explorer shell extension)
Install
Exclude folders not used for workspaces (ie Exclude paths: , Include paths: C:\svnwc\)

Tweaks
Started with a repository under N:\Development\SVN_Rep and in that the folder structure like pbweb/trunk/.... I.e. the repository was supposed to store several projects.

Since trac wants to match it’s projects with a specific svn repository I changed the repository layout to only one project in each repository. So now the repository is in N:\Development\SVN_Rep\projectname. And the folder structure starts with trunk/....

The server serves all repositories under N:\Development\SVN_Rep.

Some CentOS basics

First try
Some basic app admin
chkconfig, activate/deactivate services,
service, start and stop services
system-config-securitylevel

Get VNC up and running
Follow the instructions.
If you get an error that says bad display name when starting the vgcnserver at the end make sure that the machine recognizes it’s name. If not add it to /etc/hosts.
Open up the firewall for 5901 (and perhaps more) by running system-config-securitylevel

Apache
service httpd start
chkconfig httpd on
Works to connect from my windows machine after this

PostgreSQL
Followed the instructions approximately.
Got an error at the Starting postgresql service: prompt.
Read something about SELinux causing problems so I shut it down and rebooted and the server seems to be running. Don’t know if it was related with SELinux though.

Second try
During installation
For tasks, choose “Desktop – Gnome” and Server
Disable firewall and SELinux

Installed software
Perl 5.8.8
mod_perl 2.0.4
httpd 2.2.3
PostgreSQL not installed
Check installed version:

# rpm -q

VNC
As above.

PostgreSQL
8.3.6 install
# rpm -Uvh http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm
# yum install postgresql-server
Followed the book then a bit for initdb:

# su - postgres
-bash-3.2$ initdb
...
-bash-3.2$ exit
Start service and autostart at reboot:

# service postgresql start
# chkconfig postgresql on

Ended up with 8.3.9 but that should be ok.

Createuser and db:

# su - postgres
-bash-3.2$ createuser XYZ
-bash-3.2$ createdb -O XYZ XYZ

ftp
service vsftpd start
chkconfig vsftpd on

Add data to db
# psql -U XYZ < XYZ.sql

Apache
As above.

Perl stuff

Started with:

# yum install postgresql-devel.x86_64
# yum install gcc
since pg_config and gcc is needed when running:

# cpan install Bundle::DBD::Pg
When checking things out with get_datasources.pl (from the book) make sure to use a user that can read db and script. I added XYZ as a unix user and copied the script to ~ before getting it to work. Don’t know why though.

# cpan install Catalyst::Devel
Results in a million dependencies, just said yes to everything. Something was installed.

Readability and Instapaper

Great tools for reading articles:

Open stuff for web development

CentOS

Thursday, June 18, 2009

Augmented reality

Finally an augmented reality app finding its way to the public! That is if you have an Android phone...
Check out Layar, an augmented browser from SPRXMobile.

Friday, March 20, 2009

Obama Headlines

Check out Obama Headlines by Vertigo. A great Deep Zoom demo.

Photosynth update

Photosynth viewer in Silverlight
Explore Synths in Silverlight

Photosynth on the iPhone

Read about all the other interesting updates regarding Photosynth on their blog!

Seadragon AJAX

There are plenty of times when you want to see something closer, to get a good look at the texture of a sculpture, or find out if that's a reflection or a scratch on that used car you're looking at.

Seadragon, implemented as the Deep Zoom feature of Silverlight, allows you to do that. But what if you're not using the Silverlight platform? That's what Seadragon Ajax is for.

PS
Seadragon Mobile is available for the iPhone as well!

Better Place update

Electric cars for all! David Pogue writes about Better Place in NY Times.

Thursday, February 19, 2009

OpenSSL Command-Line HOWTO

Excellent OpenSSL Command-Line HOWTO by Paul Heinlein

reCAPTCHA



Read about how CAPTCHAs are used to help digitize books for the Internet Archives.

http://recaptcha.net/learnmore.html

Wednesday, February 11, 2009

Tuesday, February 10, 2009

Monday, November 17, 2008

Livescribe && OS X = true, HWR && PC == true

Finally!

Livescribe Pulse supports Mac OS X!

The Business Wire article also breaks the news that hand writing recognition will finally be available through Vision Objects MyScript for Livescribe!

Is that based on MyScript Notes? Only PC?

I wonder how the MyScript integration with the Livescribe desktop is done? Will the MyScript app read the .afd files or is it more tightly integrated using the forthcoming "Desktop SDK"? It will be really interesting to see!

Engadget blog post

Business Wire

Update

Livescribe's press release

Tuesday, November 4, 2008

Livescribe shipping to Sweden

Livescribe has started to ship the Pulse outside the US.

To accommodate other international requests, Amazon US is currently shipping overseas to the following countries: Austria, Canada, Chile, Denmark, Finland, France, Germany, Great Britain, Hong Kong, Ireland, Italy, Mexico, Netherlands, New Zealand, Norway, Portugal, Saudi Arabia, Singapore, Spain, Sweden, Switzerland, Taiwan, Thailand, United Arab Emirate.

Friday, October 31, 2008

Congratulations Livescribe

The Pulse is number 4 on Popular Mechanics Top 10 Most Brilliant Gadgets of the Year!

Great work eveyone at Livescribe! Let's hope that 2009 brings even more success!

Wednesday, September 17, 2008

Livescribe Pulse reviewed in swedish newspaper Dagens Nyheter



There is a short review of the Livescribe Pulse in the swedish newspaper Dagens Nyheter today:

Anteckna snabbare med vassa pennan
(Take notes faster with a sharp pen)

They seem to be quite impressed with the pen and the paper replay functionality. The only negative being that you have to wear the earplugs for the best sound recording. They would have preferred a solution with a external microphone that could be placed on a table.

They also note that the Pulse isn't available in Europe (yet) and cites that Livescribe refers to Amazon for buying and importing the pen. I guess they (Livescribe and Dagens Nyheter) missed the following info on Amazon:

Shipping: Currently, item can be shipped only within the U.S.

Wednesday, August 27, 2008

Ubiquity

Ubiquity from Mozilla Labs was released in an alpha the other day.


Ubiquity for Firefox from Aza Raskin on Vimeo.

Thursday, August 21, 2008

Photosynth


Microsoft have released the first online version of Photosynth!

Read David Pogue's review in NYTimes.

Read my previous entries about Photosynth.

Tuesday, August 19, 2008

Standing Next To Me, The Last Shadow Puppets

Better Place

I've just read a great article about Better Place in Wired. Fascinating how such a simple idea have been ignored until now. And then suddenly someone thinks outside the box. And boom!

Better Place (website)
Better Place (Wikipedia)

Wednesday, August 6, 2008

Burn Your Burndown Charts

Burn Your Burndown Charts is an interesting post by Jurgen Appelo at the excellent site Agile Software Development. It describes some alternatives to the traditional burndown chart in Scrum.

He runs another interesting blog as well at NOOP.NL.

Tuesday, August 5, 2008

WPF tutorial

Scott Hanselman has written a fun little WPF tutorial by implementing a kids game called BabySmash.

Books you need to buy 2

It's time to update my original list of essential books you need as a (windows) programmer. I'll add some titles the coming weeks.

General
Software Fundamentals: Collected Papers, David L. Parnas
Code Complete, Steve McConnell 2004
The Pragmatic Programmer, Andrew Hunt, David Thomas, 1999

Development Processes

Applying UML and Patterns, 3d edition
, Craig Larman 2004
Agile and Iterative Developmen: A Manager's Guide
, Craig Larman 2003
Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin
The Pragmatic Programmer: From Journeyman to Master
, Andrew Hunt, David Thomas
Practices of an Agile Developer: Working in the real world, Venkat Subramaniam, Andy Hunt


Design Patterns
Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Designing Interfaces: Patterns for Effective Interaction Design, Jenifer Tidwell, 2005

Refactoring
Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Working Effectively with Legacy Code
, Michael Feathers

C++
The C++ Programming Language, Bjarne Stroustrup


COM
Essential COM, Don Box 1997
Inside Com (Microsoft Programming Series), Dale Rogerson 1997
ATL Internals (The Addison-Wesley Object Technology Series)
, Brent E. Rector, Chris Sells 1999
Programming Distributed Applications With Com & Microsoft Visual Basic 6.0, Ted Pattison

Windows

Programming Windows
, Charles Petzold 1998
Programming Windows With MFC, Jeff Prosise 1999

MFC
MFC Internals: Inside the Microsoft(c) Foundation Class Architecture
, George Shepherd 1996

Computer Security

Applied Cryptography: Protocols, Algorithms, and Source Code in C, Bruce Schneier 1995
Building Secure Software,
Gary McGraw 2001
Exploiting Software, Gary McGraw 2004
Software Security: Building Security In (Paperback), Gary McGraw 2006
Writing Secure Code, Michael Howard 2002
Secure Programming Cookbook for C and C++, Matt Messier, John Viega 2003

OpenSSL, SSL, TLS
Network Security with OpenSSL, Pravir Chandra, Matt Messier, John Viega 2002
SSL and TLS, Eric Rescorla 2000

WPF

Programming WPF, Chris Sells, Ian Griffiths, 2nd Ed, 2007

Windows debugging
Advanced Windows Debugging, Mario Hewardt, Daniel Pravat, 2007

Sunday, June 29, 2008

Pork and Beans, Weezer

Weezer's latest single is quite good. And fun. Sorry to say the Red Album isn't as good as the exceptional Pinkerton and Blue Album. But Weezer always rocks!

Monday, June 23, 2008

CUDA

Here are some interesting articles about CUDA (Compute Unified Device Architecture):

Are you interested in getting orders-of-magnitude performance increases over standard multi-core processors, while programming with a high-level language such as C? And would you like that capability to scale across many devices as well?

Rob Farber, Dr. Dobb´s

CUDA, Supercomputing for the Masses: Part 1

Nvidia's CUDA: The End of the CPU?

Monday, June 16, 2008

Ubuntu update

I had a good laugh yesterday reading LinuxHater's Blog. After my installation of Ubuntu the other week I thought that Linux really isn't that bad. But yesterday evening my wife was watching streaming TV on our laptop, ie Windows, and it kept freezing up. So I thought that now was the time to check out Ubuntu and see how good it was! But during boot the laptop got stuck and promted BusyBox and initramfs. So I gave up and uninstalled Ubuntu immediately. I mean, WTF!

Monday, June 9, 2008

Patterns in Practice

Patterns in Practice is a new article series in MSDN Magazine. It starts off with the Open Closed Principle. Read my previous post about programming principles.

Tuesday, June 3, 2008

Google goes Photosynth

Google has implemented Look Around in Panoramio and it is a photo technology very reminiscent of Microsoft Photosynth. Read my previous post as well.

Monday, June 2, 2008

Hitta 3D

This is extremely cool map technology rivaling what is done both at Microsoft and Google.

Hitta 3D

You can currently find lots and lots of ugly graphics in the view but I am anyway surprised at how good the rendering is based only on automatic data prcessing.

Sunday, June 1, 2008

Ubuntu

It's is more than 10 years since I regularly used a Unix system. I have of course followed the Unix/Linux development in general over the years but have never seen a reason to head back. I work with Windows and I use Windows at home. By parents have got a Mac and I really like Mac OS X and have thought about switching to this platform in the future.

Anyway the other day I read about Ubuntu 8.04 and Wubi and decided to give it a try.

First I installed it on my old Shuttle SB81P configured with one IDE disk, one SATA and a Powercolor 800XL. Everything went extremely well and I had my Ubuntu up and running after approx. 30 minutes. The default installation works fine and I haven't bothered to check what packages actually got installed.

Secondly I installed it on my even older laptop Acer Travelmate 632LC. This machine has some integrated Geforce2 graphics and an old disk that regularly gives me trouble. The first install got disk problems half way through. I cancelled the installation and got the choice to save the downloaded data in a backup. I tried once more and now the install went fine. But when booting up the first time the machine hung when formatting swap disk. I found an advice to rename the swap disk (C:\ubuntu\disks\swap.disk -> C:\ubuntu\disks\noswap.disk ) and restart so I tried that and now it booted up nicely! (Afterwards I found this error description that sounds like my error, I haven't verified the fix though.) Everything seemed to work fine and I got the option to upgrade the video drivers by the system since the Geforce2 obviously was detected. I accepted this and rebooted. Now the 2D performance became totally unacceptable. I was a lot worse than the default drivers. The fix for this was to uninstall the nvidia-glx drivers and install the nvidia-glx-legacy drivers. This was simple using the Synaptic Package manager.

Most impressive was that Ubuntu/Wubi detected my Netgear WG511 wireless adapter on my laptop and got it running without a problem!

So now I got Ubuntu on two machines at home. I have tried some basic functions like using the Firefox browser, the Open Office package and the default media player. Everything works fine but I can't see one reason to stop using Windows! It was a fun excercise though!

Update
Perhaps I'll try using MonoDevelop for some .NET (Mono) development on this platform in the future to see how it compares with the express versions of Visual Studio.

Sunday, May 18, 2008

Livescribe Pulse review roundup

PC Magazine

..., the Smartpen is easily the best implementation of microdot and audio/image capture technology to date. It's easy to use and small enough not to look or feel ridiculous in your hands. If Livescribe updates the desktop software with some intelligent indexing features and perhaps adds a clip to the pen, so it stops rolling off my desk, I think the Pulse Smartpen could become an essential investment for any student, businessperson, or journalist.

Gearlog

The Pulse Smartpen does its main job extremely well, bringing traditional note taking and voice recording together while making both immensely more useful. There's no reason that any student or note-taker shouldn't go out and buy one of these right now.

USA Today

Pulse isn't perfect or for everyone. But in producing this sharp gadget, Livescribe is mostly flaunting the write stuff.

MSNBC

I'm sold.

Monday, May 12, 2008

WorldWide Telescope

Microsoft Research has done it again! Check out WorldWide Telescope. Some more info.

Gizmodo reviews the Pulse Smartpen

Gizmodo reviews the Pulse Smartpen.

The Livescribe Pulse is an amazing piece of tech, and I enjoy using it, but has an admittedly limited appeal. I'd love to see more creative and functional uses implemented with future "apps," and a touch of refinement in the current interface. But this is recommended for anyone who takes a lot of notes.

David Pogue reviews the Pulse Smartpen

David Pogue reviews the Pulse Smartpen.

Now, you may wonder how paper computing will take off when its principal weapon exhibits so many 1.0 start-up stumbles. And if you’re like most people, you might regard the Pulse pen as a technology in search of a purpose — or a purchase that will wind up, forgotten, in the back of your gadget drawer.

But if you’re in the Pulse’s target audience — people who regularly take handwritten notes during lectures, classes, meetings, presentations or even concerts — you have a lot to look forward to. Even if the Pulse never becomes more than a one-trick pony, it’s a heckuva good trick. And for society’s long-suffering subset of note takers, at least, it may be the first convincing evidence that the pen has finally gone digital.

Wednesday, April 23, 2008

Volta

I seem to have forgotten to mention Volta from Microsoft Live Labs.

The Volta technology preview is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns. First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.

Cool!

Here is an interesting article comparing Volta with Googles GWT.

Live Mesh

Check out Live Mesh from Microsoft. And especially the developer information. This seems to be another real cool technology from Microsoft!

Update
Here is an interesting blog post by Mike Zintel at the Live Mesh team.

Don't blow it

Get a head start at your next job interview:

Get that job at Google, a great article by Steve Yegge on his blog.

Technical Interview Questions (use the sitemap for best overview)

Update

Also read Joel's articles about conducting interviews:

The Guerilla Guide to Interviewing (version 3.0)

The Guerilla Guide to Interviewing (original)

and Steve's comment to them.

Amazon Web Services

There is a interesting article in the May issue of Wired about Amazon and the history of its Amazon Web Services (AWS).

Tuesday, April 1, 2008

Sunday, March 30, 2008

Livescribe is shipping!

Finally!

http://www.livescribe.com/blog/

Congratulations to the Livescribe team! I had my doubts about that shipping date due to the lack of updates from Livescribe but they seem to have made it. Even though it is in "limited volume".

So now I just want to ask the selected ones that get a Pulse in the next week(?) or so, post a review! And unboxing on youtube of course!

Thanks! And once more, congratulations to the Livescribe team!

Tuesday, March 11, 2008

PhotoZoom

What can I say except PhotoZoom!

And, well, Microsoft rules. If you didn't know already.

Goodbye Little Boy, The Triffids

Livescribe customer relations

Livescribe seems to be betting hard on viral campaigns by using the web, fun videos, a blog and a presence on Facebook. Sorry to say the Facebook forums as well as the comments section on the Livescribe blog are strangely absent of Livescribe representatives. Hundreds (maybe thousands) of people are offering their thoughts about the product and are asking for more information but they are all ignored by Livescribe.

I understand that if you are working 100+ hours you don't have too much time to spend on tasks that don't are immediately related to the upcoming release. But I think there is a very big risk here that you are alienating your biggest fans even before you have released your product. So please let someone help Karen Lee too answer some of the comments on your forums and blog! We are dying to get some relevant information from developers as well as customer relations people.

Here is a sad example from your blogs comment section:

Mike says:
...
Anyway, I (kinda) can understand the delays, but what I don’t understand is why there is such a poor (potential) customer support here in the blog?
...

klee (Karen Lee from Livescribe) says:
We read all your blog comments and want to thank you for your patience and support. We also understand your frustration and hear your concerns about the shipping date for Pulse.

We are still planning to start shipping by March 31st. Anyone who has preordered the Pulse smartpen will be sent an email with instructions to complete your purchase in the coming weeks.

Thanks again for your comments, suggestions and ideas.

what?! says:
Klee…You’ve served to do nothing except state the equivalent of “let them eat cake”

We read your blog comments….but we don’t care
We hear your concerns….but are doing nothing about them
We are still planning to start shipping by March 31st….but won’t offer any details on progress
Thanks again for your comments…but we’ve ignored them and not replied to a single suggestion

Goodbye LiveScribe…maybe when you mature

Update! Update! Update!
If you (ie. Livescribe) need a person for professional and sincere Livescribe evangelism I hope you know who to contact?! ;)

Livescribe on NBC

Ok there is a Fly Fusion in the image above but the video is mainly about the Pulse!

Friday, March 7, 2008

Deep Zoom

Seadragon changes name to Deep Zoom and is available to the public through Silverlight 2.

Download the Deep Zoom Composer now. If only I had the time to play with this...

Microsoft rules.

Tuesday, January 15, 2008

Google Web Toolkit Tutorial

The January 2008 issue of Dr. Dobb's has an excellent GWT tutorial in it by Adam Houghton and Ed Burnette!

Thursday, January 10, 2008

Braindump++



From wikipedia:

Generally, the transfer of a large quantity of information from one person to another or to a piece of paper can be referred to as a 'brain dump'.

So do you recognize having important information from co-workers saved like this? On a piece of paper that once told you all the secrets about some product or project but now, when you look at it 2 years later, it is just some boxes with random lines between them and unrecognizable text items written here and there??

So come the revolution, Braindump++ !

Imagine what it would be to once more see these boxes and lines being drawn and actually listen to the explanations that were given at the time! That is what doing brain dumps with the Livescribe smart pen will be like!


I created a really really crappy demo of the future using the Facebook app Livescribe Wall. I drew the image using my mouse. But please, don't think about how crappy it is, just compare the static image below with the one given to you when you follow the link.

Monday, January 7, 2008

Interesting article about the Livescribe smartpen

An electronic pen that listens and talks back is an interesting article about the Livescribe smartpen. Published in the January issue of IEEE Spectrum.

It will be great to see what the student/consumer response is when it is finally launched later this month!

Saturday, December 22, 2007

Logitech to Transition Digital Writing Business to Destiny Wireless

Well I can't say that I'm very surprised by this press release. Logitech hasn't done anything to improve neither the technology nor the consumer experience since they launched the IO pen way back in 2002.

I must say that I feel a bit sad though since I remember thinking that Logitech really could give the technology the consumer focus it always lacked. Now we hope that Livescribe has what it takes!

Looking back to the 2002 IO launch I found this snippet...

"Logitech is taking a very different approach to digital writing for the PC," said David Henry, senior vice president and general manager of Logitech'sControl Devices Business Unit. "While other attempts at pen input have started with the PC, with the goal of making the PC more friendly, our point of departure is pen and paper, with the goal of making these elements more effective in the digital world.
"With the Logitech io, there's no need to change the way you work, or to lug your PC to meetings," Mr. Henry continued. "We believe this product will be well received by today's mobile workforce, as well as consumers who are looking to be more effective and creative with their note taking."

Thursday, December 20, 2007

NTFS Streams

FlexHex has a nice article about NTFS Alternate Streams. And some tools as well!

Wednesday, December 5, 2007

Thursday, November 22, 2007

Livescribe desktop application update

Here are the latest pictures of the desktop application as it appears in the commercial!