Tuesday, November 17, 2009

Scrum and Kanban

Henrik Kniberg writes good about both Scrum and Kanban


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\)

Some CentOS basics

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.

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.

Friday, February 20, 2009

Livescribe Pulse on Wired Video

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

Corpus Clock

Tuesday, February 10, 2009

Bill and TED

Friday, January 23, 2009

New York Magazine and the Pulse

Best Bets - Supplies for Barack Obama to bring to the Oval Office

Ifrån mig själv, Dundertåget

Thursday, January 22, 2009

Paradigms lost: The Windows 7 Taskbar versus the OS X Dock



Paradigms lost: The Windows 7 Taskbar versus the OS X Dock is a very interesting article in Ars Technica.

Paradigms lost: The Windows 7 Taskbar versus the OS X Dock

Paradigms lost: The Windows 7 Taskbar versus the OS X Dock


asdasd

Friday, December 5, 2008

Stronger Than Jesus, A Camp

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)

Thursday, August 7, 2008

Your Song, Elton John

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?

Wednesday, June 18, 2008

Home, Lene Lovich

Fade to Grey, Visage

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!

Wednesday, June 11, 2008

Shoreline, Broder Daniel

Not Forever, Popsicle

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.

Tuesday, May 20, 2008

Suicide is Painless, Manic Street Preachers

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, May 7, 2008

Baby Hates Me, Danko Jones

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

Zelda Movie Trailer

Zelda Movie Trailer

Hahahahahaha!

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

WPF Interoperability

An interesting article in Dr. Dobb's about WPF Interoperability!

Monday, December 3, 2007

WOW!



Crayon Physics Deluxe by Klooni Games.

Thursday, November 22, 2007

Livescribe desktop application update

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



Tuesday, November 20, 2007

Never miss a word

Livescribe launched a site as well for the commercial, never miss a word. Quite funny and it might be the right way to catch the student market!

Livescribe Youtube commercial!

A kindle revolution




I think Amazon and Jeff Bezos got it right. Of course I haven't been able to play with one and probably won't get the chance for a long time since I live in Sweden. But the significant features all seems to be there. No syncing with a computer that can cause problems. No data plans. Always access to a bookstore, and a good one that is. Previews of both books and newspapers. Reasonable prices. And of course access to Wikipedia. Just imagine reading some stuff in a book or newspaper and being able to immediately look it up in Wikipedia. Even when you're on the road! Awesome! I would love to have one! Check out the Kindle from Amazon!

Someone put it nicely when they said that the Kindle isn't a e-book reader but an e-library!

Wednesday, November 7, 2007

Microsoft technology rules!

Photosynth technology from Microsoft Live Labs are now being used to view bird's eye images in Virtual Earth 3D. It's a really cool feature, check it out now! (First select 3D and the fly to eg. San Fransisco and enable Bird's eye!) And they are using Microsoft Research technology from HD View to let you create panoramas automatically in Windows Live Photo Gallery!

Monday, November 5, 2007

Livescribe pen images!

Check out the new images of the pen! It looks beautiful! And it has a screen!

Monday, October 29, 2007

Livescribe blog!

Check out the Livescribe blog that just went online! Hopefully they'll update it once in a while!

Thursday, October 25, 2007

Closure

Here is a nice and short article by Martin Fowler explaining what closure is in programming.

Tuesday, October 23, 2007

A Layman's Guide to a Subset of ASN.1, BER, and DER

A Layman's Guide to a Subset of ASN.1, BER, and DER is an excellent tutorial by Burton S. Kaliski Jr at RSA labs.

Friday, October 19, 2007

Another Fly Fusion review!

Check it out on Oh Gizmo!

The review is very thorough and overall positive. The conclusion in short is that it is a fun tool primarily aimed at children and probably not suited for professional notetaking.

Wednesday, September 19, 2007

Livescribe updated their website

Check it out here! It seems to mostly be some small graphical enhancements and a better Press Center section with coverage in the media! No more information about device or applications though... :(

Wednesday, September 12, 2007

Always On My Mind, Elvis Presley

Friday, September 7, 2007

Teenage Kicks, The Undertones

Another girl, another planet, The Only Ones

Thursday, September 6, 2007

Another Fly Fusion review

Leapfrog FLY Fusion review in The Globe and Mail, it gets 4.5/5!

Network Technology

If you need information about routers, bridges, internet, iso, X.25, ethernet, isdn or any other network technology check out Ciscos excellent Internetworking Technology Handbook.

Wednesday, August 29, 2007

Livescribe news!

Hey finally! Some news about Livescribe! They are doing the right thing and are postponing the release until everything works perfect! Way to go guys!

Livescribe's pen computer delayed to '08 (news.com)

And news.com even has another article about the existing digital pens! It mentions Anoto, Livescribe, Logitech and Leapfrog! (And iogear that uses a sensor clip so I wont talk any more about that pen since that technology really sucks.)

Is the digital pen mightier? (news.com)

It also gives some information about how well the technology are doing in the consumer market currently:

"It's a small part of our business," said Logitech spokeswoman Nancy Morrison.

Monday, August 27, 2007

Free (as in beer) and legal music!

Check out Deezer now!

Friday, August 24, 2007

Google mail on w810i

Do you want to access your gmail account from your Sony Ericsson w810i mobile phone integrated mail software? (Which has the advantage over the gmail java app and web app that you can add attachments and use your gmail account for picture blogging and uploading videos via email! Sorry to say the gmail java app is a lot faster though and has a better interface in general...)

Do you get a certificate error message?

What you need to do is install some missing CA certificates. Export them from Internet Explorer and then send them to the w810i over bluetooth (that's what I did, it is uspposed to work by usb as well).

The certificates are the:
equifax cert (valid to 22/8/2018 fingerprint: d232...)
thawte premium cert from zip (fingerprint 627f...)

They can be found in InternetExplorer-> InternetOptions-> Properties-> Content-> Certificates-> Trusted Root Certificates. Just select them and export them as a DER binary.

Then you should browse to your phone in your bluetooth explorer and select the obex file transfer service for your phone. Just drop the files on the obex file transfer icon for the phone and it should transfer them and place them in the correct place automatically. If you see the Memory Stick you have browsed a level to low on the phone.

For email configuration check out the gmail instructions! (I noticed that for the email address I use the @gmail.com extension but not for the username. For encryption I have selected SSL and not TLS for both incoming and outgoing server.)

All information retrieved from the following post! Thanks Andy!
http://www.esato.com/board/viewtopic.php?topic=101012&start=45

Gigapixel images

Google have released Google Earth 4.2 and supports Gigapxl images now! Check them out at once because it's a really cool feature!

Microsoft released Beta2 of the HDView project a couple of weeks ago. It's is a similar technology to the Gigapxl support in Google Earth. Read about it on the HDView blog. The technology is also related to the Microsoft projects Seadragon and Photosynth that I've blogged about earlier. Excellent demos are the Berlin Wall East Side (HDView), read more on the website Berlin Wall East Side and the totally awesome Harlem-13-gigapixels (HDView), read more on the website Harlem-13-gigapixels.

HTTP Made Really Easy by James marshall

HTTP Made Really Easy by James Marshall is an excellent HTTP primer for newbies.

Relationship between HTTP and MIME

The relationship between HTTP and MIME is defined in the HTTP/1.1 rfc 2616 section 19.4.

HTTP/1.1 uses many of the constructs defined for Internet
Mail (RFC 822 [9]) and the Multipurpose Internet Mail
Extensions (MIME [7]) to allow entities to be transmitted
in an open variety of representations and with extensible
mechanisms. However, RFC 2045 discusses mail, and HTTP has
a few features that are different from those described in
RFC 2045. These differences were carefully chosen to
optimize performance over binary connections, to allow
greater freedom in the use of new media types, to make
date comparisons easier, and to acknowledge the practice
of some early HTTP servers and clients.

This appendix describes specific areas where HTTP differs
from RFC 2045. Proxies and gateways to strict MIME
environments SHOULD be aware of these differences and
provide the appropriate conversions where necessary.
Proxies and gateways from MIME environments to HTTP also
need to be aware of the differences because some
conversions might be required.

MIME sample from Mike Grand

MIME (Mark Grand)

From: Nathaniel Borenstein 
To: Ned Freed
Subject: Sample message
MIME-Version: 1.0
Content-type: multipart/mixed;
boundary="simple boundary"

This is the preamble. It is to be ignored, though it is
a handy place for mail composers to include an
explanatory note to non-MIME compliant readers.
--simple boundary

This is implicitly typed plain ASCII text.
--simple boundary
Content-type: text/plain; charset=us-ascii

This is explicitly typed plain ASCII text. It DOES end
with a line break.
--simple boundary--
This is the epilogue. It is also to be ignored.

MIME sample from Wikipedia

MIME (Wikipedia)

MIME-version: 1.0
Content-type: multipart/mixed; boundary="frontier"

This is a multi-part message in MIME format.
--frontier
Content-type: text/plain

This is the body of the message.
--frontier
Content-type: application/octet-stream
Content-transfer-encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg
Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
--frontier--

Wednesday, August 22, 2007

Fly Fusion Review in PC Magazine

The first Fly Fusion review has appeared and it's in PC Magazine. 4 out of 5!

Bottom Line
The Fly Fusion Pentop Computer is a convenient and affordable alternative to a laptop or tablet PC for anyone who takes notes on a regular basis.

Pros
Lighter than a laptop. Easy to install and set up. Comes with fun games and applications.

Cons
Doesn't recognize messy handwriting. Pen shuts off easily if you hold it too high. No Mac support.



I think people will realize soon that messy handwriting does not matter since you won't use that feature anyway with your notes. Other than experimenting with it for a while in the beginning. Mac support on the other side is something I hope they are thinking about. Specially nowadays with Apple and Mac riding the big wave.

Thursday, August 16, 2007

Stupid AI

The number one spot on the Top Ten for most stupid movie AI is now officially taken by Icarus in Sunshine. An ok SF movie where I don't think the change to slasher mode spoiled the film, but rather the inexcusable stupid AI on the ship. They would have been better of with only manual control...

Wikiscanner

This is brilliant!

Virgil Griffith at Caltech has downloaded the Wikipedia DB and matched the IP-logs with the registered companies/organizations!

Check it out at Wikiscanner!

Read more in Wired, See Who's Editing Wikipedia - Diebold, the CIA, a Campaign.

And you must check out the first entry for the Republican Party! Can you be more evil than replacing the entry for Harry Potter with a one line spoiler of the plot from Harry Potter and the Half-Blood Prince! Hahahaha.

Aerodynamic, Daft Punk

Tuesday, August 14, 2007

Livescribe marketing

And here I was complaining about the Livescribe marketing department...

http://sfbay.craigslist.org/eby/mar/393378097.html

That's the way to do it!

Mail me when you need a scribe in Sweden. I'll quit my job and go back to college :)

Monday, August 13, 2007

Livescribe desktop application

Well. The desktop application being demoed at D5 didn't look a lot like the one ("the penstation") shown in the sneak peak's at Livescribe's site.

And we haven't got any new information from Livescribe since D5 either. I'd say that the pr department, if any, at Livescribe should learn from Apple how to build hype. (Hint: Send me one and I'll blog about it every day the next couple of months :))



Anyway, the application demoed seems to have a nice Windows Media Player 11 look to it. Black and shiny! (Maybe that's called Vista look nowadays but I'm still running XP...) Page previews to the left and some buttons for stepping through the pages at the bottom. And some basic views, single page, two page and thumbnails.



When replaying audio a toolbar with the expected buttons pop up.

Fly Fusion



Leapfrog's Fly Fusion seems to have been released! And it's only $80 bucks! Now it has PC-connectivity as well! And downladable applications! And you can upload and share your notes! (On the internet I assume... Or...) Livescribe and Logitech better watch out!

From the Fly Fusion site:

This is Pentop Computing, the next generation of high-speed digital processing, developed to deliver high-speed homework help in the palm of your hand. With the FLY Fusion Pentop Computer, everything you write on FLY? Paper is automatically scanned and digitized. With the tap of your FLY Fusion Pentop Computer, you can interact with your notes, get instant feedback and step-by-step help, even play MP3s and games, all on paper!

Check it out:

Fly Fusion at Leapfrog
Fly Fusion at Amazon
Fly Fusion hilarious dj battle from Gizmodo

So what's it gonna be? Paper Replay or DJ battles?

I'll link to the reviews when they start popping up!

Tuesday, July 31, 2007

För gamla Anotomänniskor...


Kommer ni ihåg när vi stod och tittade i vårt nya kontor i hörnet Drottninggatan-Mästersamuelsgatan och såg på det fantastiska atriumet där vi skulle ha hängade trädgårdar och myshörnor? Idag läste jag att Oriflame skall flytta in med sitt huvudkontor där och dom publicerade ovanstående bild! Tänk vad tiden går.

Tuesday, July 10, 2007

Livescribe speech recognition?

Does the desktop software and web applications offer speech recognition? Is the audio notes searchable? I've got the impression of this from some sources on the web. But I haven't seen any info about this on the Livescribe site. Or does this quote,"Notes and audio can also be uploaded to a PC where they can be replayed, saved, searched or sent", from the platform description actually mean searchable audio. I've just assumed searchable notes since I know that handwriting recognition is fairly usable nowadays.

Monday, July 9, 2007

The Big Livescribe post

So what do we know about Livescribe and the smartpen they are to launch this fall?! I'll try to sum it up in this post!

As a background check out Anoto (pen and paper), Logitech io2 and the Fly!

Livescribe started as Anoto Inc., a U.S. subsidiary of Anoto, in 2006 but was sold to investors and named Livescribe early this year. The main person behind the company is of course Jim Marggraff of Leapfrog fame, where he created the LeapPad and Fly Pentop. He's hired a bunch of people that have earlier worked at Leapfrog and Palm among others, these guys know how to find and create a new market as well as how to build small fantastic electronic devices!

They are located in Oakland, check it out in Streetview!

The smartpen product consists of the actual pen, the paper applications, the desktop software and the web applications.


The pen has an OLED display big enough to be used as a display for applications like dictionarys but the actual resolution is unknown. It has two built-in microphones, a speaker and memory enough to hold 100h of audio. According to Gizmodo microphones are also in the headphones and this will help with sound separation when listening to our audio notes.

Paper applications are applications that can be run by just using the pen and the paper. Check out the demos on Livescribes homepage.


Paper Replay works by recording sound at the same time you are writing notes. Later when you want to listen to your audio notes just tap the writing in your notepad.


Paper Translator works by writing a word on the paper and the listen to the translation and see it on the display.


Beach blogger works by writing a blog entry in your notepad and then uploading it.

These paper applications are just a sample of what can be done. You will be able to manage and load new paper applications to your pen by using the desktop software to access the online store and community.

According to the demo you can post the blog directly from the notepad. The homepage also mentions that you will be able to send email directly from the notepad (but in the demo for Paper Replay notes are shared by using the desktop software to send an email with a link to the web community, penstation.com). So will the pen include a GPRS/3G part? I can't imagine that. Most probable are a bluetooth component that let's you do this through your phone. Or is it possible it will have WIFI?

It would be a real letdown if you had to dock with a PC before doing the above mentioned operations.

Talking about docking. This was not shown by Jim at D5. Neither is it shown in the demos. I assume some kind of Logitech like dock is used since you need to charge the pen as well. But if bluetooth (or WIFI!) is included it would of course be nice to optionally dock over it as well.


Ok, I just have to mention Jim's D5 demo once more here. Hopefully this was the last time Jim tried to refer to the dot paper as ordinary paper. People are always disappointed no matter how you present or explain it that the pen needs special paper. This will always be a burden for market acceptance. He says in the video that the paper will cost as much as ordinary paper, that will be interesting to see. Logitechs dot paper currently is at least 4 times as expensive as ordinary paper. But even worse is the problem of the paper not being available everywhere. You always have to carry some with you. I've found this being the biggest problem using my io2. I always end up with some notes on ordinary paper and this always makes me think that the whole concept is flawed. So my tip to Livescribe to succeed is to make the paper available for free at the universities. Put big stacks of notepads in the hallways!


Desktop software in online demo (left) compared to D5 demo (right).

The desktop software (that looks different in the online demos and in Jim's demo) are used to manage your notes on your pc (organize, search, share), manage settings for your pen, manage paper applications for your pen and access the web store.

The web applications obviously consists of an online store for paper applications. But an online community for sharing notes (UGC) is mentioned on the homepage and in the D5 demo Jim is talking about how all your notes are online and searchable. The online community also seems to be used in the Paper Replay demo to share notes by sending an link (to penstation.com) instead of an actual datafile.

(Interesting to note is that the receiver in the Paper Replay demo uses the same application, "PenStation", as the sender. So is it a web app that is used through the demo? That the application name is the same as the link address used in the demo may imply this. Or does the receiver have to download and install the app before accessing the sent notes?)

Four different tools will be released with the smartpen for users to create contenet and applications. Hopefully they will all be available for free.

User Generated Content (UGC) is the web community part.

Customer Authoring Tools (CAT) is a web based tool for creating simple applications like interactive books.

Content Development Kit (CDK) is a wizard driven development platform using penlets for building paper applications to load on the pen.

Software Development Kit (SDK) is targeted at professional developers and includes an eclipse based ide!

And finally some general thoughts about the Livescribe smartpen.

I noticed that different paper where used for the different paper applications in the online demos. I hope this was just an example and not how it will be implemented. Who will be able to carry around three notebooks to be able to take notes, blog and use a dictionary? I thought the main purpose of paper computing was to be able to express stuff like this through drawing. Like draw a square and write blog on the paper and it will act as a blog. Write translate to swedish and the word will be translated to swedish. Yes, I guess you get it by now...

The focus on making all your notes available everywhere that Jim mentions in the D5 video is what excites me most. It was always my wish when I worked at Anoto that we would release an application like that. It never happend but now I hope that Livescribe will do it!

Sources:
Livescribe (homepage)
Take Note: Computing Takes Up Pen, Again (The New York Times, registration needed)
Livescribe Smartpen Links Your Scribbles with Audio Notes (Gizmodo)
Livescribe Smartpen (D5, All Things Digital)

All images are copyright Livescribe except the one from D5 copyright AllThingsD.

Sunday, July 8, 2007

FLY Fusion Pentop Computer

Is this a competitor to Livescribes smartpen?

Leapfrog has announced it's second generation FLY pentop computer, the FLY Fusion, available fall 2007 for $80 . Now all your notes are recorded and you have the possibility to upload them to your PC. There is also an online store for buying and downloading new applications for the pen. Interesting.

Will we see Logitech launching a successor to the io2 digital pen (io3...) as well this fall?

Tech News June Edition

Image processing and maps caught my interest most last month.

Last month Microsoft presented some pretty interesting stuff! Check out Photosynth and Seadragon. It's the best tech demo so far this year. By leagues. You MUST check this one out. If you're not totally amazed you can hit me next time we meet. If you're not gonna run the demo at least do youself the favour of watching this video.

Google Maps added Streetview. It's also fantastic. What else did you think.

Everyscape is doing something similar but have added hyperlinks as well.

Tuesday, June 26, 2007

SMTP sample from Wikipedia

SMTP (Wikipedia)

S: 220 www.example.com ESMTP Postfix
C: HELO mydomain.com
S: 250 Hello mydomain.com
C: MAIL FROM:
S: 250 Ok
C: RCPT TO:
S: 250 Ok
C: DATA
S: 354 End data with .
C: Subject: test message
C: From: sender@mydomain.com
C: To: friend@example.com
C:
C: Hello,
C: This is a test.
C: Goodbye.
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye

Email sample from rfc 2822

Internet Message Format (rfc 2822)

From: John Doe 
To: Mary Smith
Subject: Saying Hello
Date: Fri, 21 Nov 1997 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".

Monday, June 25, 2007

HTTP sample from Wikipedia

HTTP (Wikipedia)

Request

GET /index.html HTTP/1.1
Host: www.example.com

Response (followed by a blank line and text of the requested page)
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Etag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

Interesting RFC:s

The Tao of IETF: A Novice's Guide to the Internet Engineering task Force

Email
Email, SMTP and message formats (Wikipedia)

The Simple Mail Transfer Protocol
SMTP (Wikipedia)
SMTP (rfc 2821)

Internet Message Format
Internet Message Format (rfc 2822)

MIME
MIME (Wikipedia)
MIME Part One Format of Internet Message Bodies (rfc 2045)
MIME Part Two Media Types (rfc 2046)
MIME Part Three Message Header Extensions for Non-ASCII Text (rfc 2047)
Security Multiparts for MIME (rfc 1847)

S/MIME
S/MIME (Wikipedia)
S/MIME Version 3.1 (rfc 3851)

PKCS#7
PKCS#7 Version 1.5 (rfc 2315)

Cryptographic Message Syntax, CMS
CMS (Wikipedia)
CMS (rfc 3852)
CMS Algorithms (rfc 3370)
Compressed Data Content for CMS (rfc 3274)

Public Key Infrastructure, PKI
Public Key Infrastructure (X.509 v3) (rfc 3280)
Public Key Infrastructure Working Group (PKIX)
Peter Gutmann's X.509 Style Guide

TLS
TLS (Wikipedia)
TLS Version 1.1 (rfc 4346)

HTTP
HTTP (Wikipedia)
HTTP/1.1 (rfc 2616)

AS2
AS2 (Wikipedia)
AS2 (data interchange)
AS2 (rfc 4130)

MDN
Message Disposition Notification (rfc 3798)

OFTP
OFTP (Wikipedia)
OFTP 2.0 (data interchange)
OFTP 2.0 (rfc 5024)

List of RFC (Wikipedia)

Tuesday, June 19, 2007

netsh

Thanks to Scott Hanselman for the netsh tip. ipconfig sucks.

netsh (how-to)

netsh interface ip show config

netsh interface ip set address "Local Area Connection" dhcp

netsh interface ip set address "Local Area Connection" static ipaddr subnetmask gateway metric

netsh interface ip set address "Local Area Connection" static 192.168.0.10 255.255.255.0 192.168.0.1 1

Thursday, June 14, 2007

Windows PowerShell

Here are some links to PowerShell info!

O'Reilly Network

In the previous post I mentioned Perl.com. It's just one of O'Reilly Network's excellent sites. Another one is WindowsDevCenter where there are loads of interesting articles to find.

Learning Perl and Python

Found some simple webtutorials through ProgrammingTutorials:

Wednesday, June 13, 2007

Bjarne Stroustrup FAQ

Bjarne Stroustrup's FAQ is an interesting read.

Consumer development for Logitech io2 and Anoto pens in general

Is there anyone out there developing any consumer/end-user stuff for the io2 pen or Anoto pens in general? And documenting it on the internet? Blogs, sites or newsgroups?

The only source i've found (except the user forums at Logitech) are Scott Hanselman's posts at his blog and Coding4Fun.

Logitech io2 Pen - .NET Support
Blogging with the Logitech io2 Digital Pen

I've you know anyone else (privately) working with the io2 (or any other Anoto pen) add a comment please!

Monday, June 11, 2007

Harvest


Congratulations to Jens and his friends at Oxeye that won second place in the Swedish Game Awards 2007!

Audio Notebook


Thanks to DocBug I found an interesting link to the Audio Notebook system by Lisa Stifelman at the Media Lab. I had never heard about it and thought Livescribe's idea was completely original. Anyway I got inspired to do my own interpretation of this concept and I'll try to do some mockups in the near future do display here and hopefully some applications later on that are actually runnable together with my Logitech io2 pen. The concept is (obviously) do use the io2 for notes recording and then sync it with the built in mic (or webcam mic) on a pc and then present it in some fabulous application where speed and simplicity are the cornerstones. (And extendability to other devices so that I can just plug in the smartpen from Livescribe when it arrives!)

Friday, June 8, 2007

Tech News May edition

Alright! Quite a few interesting news items last month. Top of the list is of course the Steve Jobs and Bill Gates interview at the D5 conference, absolutely fascinating to listen to these guys! And since I'm an old Anoto guy the Livescribe presentation (also at D5) ranks of course second to that. Since Anoto are concentrating on forms processing nowadays (which is a good idea I think) and Logitech are doing absolutely nothing with the io2 product I guess it's up to Livescribe to finally take digital pens to the people! They seem to have an excellent product so I guess it's all up to marketing now... (but I do think that it would have been better with buttons on the pen to control playback instead of paper controls, the paper controls for pen properties and address books we experimented on at Anoto was always stupid). And then there were the presentation of Microsoft Surface. The interface for accessing digital data stored in devices takes it to another level than existing technologies like Perceptive Pixel. Check out the Popular Mechanics article as well. And since this is my first tech blog I must mention Microsoft Silverlight also even though it is old news now. Check out the blogs by Jim Hugunin and John Lam for all kinds of information, including the new DLR and stuff like IronPython! Silverlight will rule!

Tuesday, May 15, 2007

Perforce Essentials

If you are going to use Perforce. Read these articles first:

  1. Introducing Perforce
  2. Getting started with P4V
  3. Getting strted with P4Win
P4V review

P4V is definitely the client to prefer. The GUI manages to convey a lot more information without becoming cluttered like in P4Win.

Both the tree view and the right pane uses tabs to select view. In the tree view there is an easy to understand selection of depot or workspace view (and a dropdown for more filters). And in the right pane you can choose between file view (including a preview), history (drag and drop for diff), pending changelists, submitted changelists, branches, labels, clients(P4Win)/workspaces(P4V), users and jobs.

The file view and history view are exclusive for P4V and they make the user experience so much better than P4Win since you don't have to open dialogs all over the place!

Wednesday, May 9, 2007

Always, Erasure

Friday, May 4, 2007

Web

Found a site about web programming that seems quite good.

Web authoring and surfing, by Jukka Korpela

He's got lots of other stuff as well at his site.

Friday, April 27, 2007

GUI programming

I did a search on Google and found lots of uninspiring articles about GUI programming. But I also found one excellent article!

User Interface Design for Programmers

Of course it was written by Joel, i.e. JoelOnSoftware.

Thursday, April 5, 2007

Win32++

Win32++ is a simple alternative to MFC and WTL written by David Nash. It is based more on basic C++ features and less on macros and templates. I haven't tried it yet but plan to on my next small or medium size windows project.

He's also got it hosted at Codeproject as Win32++: A simple alternative to MFC.

Wednesday, April 4, 2007

Learn UNIX in 10 minutes

$ ls -l
drwxr-xr-x 4 cliff user 1024 Jun 18 09:40 WAITRON_EARNINGS
-rw-r--r-- 1 cliff user 767392 Jun 6 14:28 scanlib.tar.gz

Lush



Oops, got stuck in youtube after the previous post. Found this excellent Lush tune. Nowadays you can find Emma Anderson in the band Sing-Sing. Their tune Lover is actually quite good!

The Reid Brothers





The Reid brothers from The Jesus and the Mary Chain are back with their sister in Sister Vanilla! As you can see above they still rock but as always the original is hard to beat...

Improving on COUNTOF

This is an interesting example of how to improve on the default implementation of COUNTOF in a way that no mere mortals would have thought of.

Paint.NET

Got to check Paint.NET out as soon as possible. Seems like an excellent complement to Picasa.

Ivar Jacobson

"There are many different processes promoted within the software development industry. But are they really that different? If you look closely at their content, you find that there are more similarities than differences."

"Often, there are complaints when a team seems not to be following the defined process. However, these complaints miss the point. The point of software development is to develop good software, not to slavishly follow a predefined process."

Ivar Jacobson just started an interesting article series in Dr. Dobb's called Enough of Processes: Let's Do Practices that I can recommend. I can only assume that it will lead up to recommending his own EssUp!

HeapAgent

The other day I had severe problems locating a bug in a program I'm working with currently. It seemed obvious that it was some sort of memory error because of it's randomness. When I was stepping the code in the debugger sometimes everything worked alright and the next time it segfaulted. And sometimes it worked for a couple of runs and sometimes it crashed immediately. So I installed HeapAgent and found the problem in something like 10 seconds. It was a memory allocation that I thought was global but a 3rd party library deallocated the memory when called!

Wednesday, March 21, 2007

Psychics, Magic and Cryptology

Stumpled upon a couple of excellent blogs today thanks to GameLife!

Check out Table of Malcontents, "Wired's wonder closet of ephemera, spotlighting those highly creative misfits on the fringe of art and culture", and the posts Psychic Fraud, The Confession of james Haydrick and Million Dollar Challenge.

Table of Malcontents linked to the crypto blog Exhaustive Search, by Matt Blaze, and 27 B Stroke 6, "Your daily briefing on security, freedom and privacy in the wired world".

Table of Malcontents and 27 B Stroke 6 is hosted at Wired blogs.

And there is of course James Randi's site as well.

And yes, you are right if you think you recognized that publication number 27B/6 ...

Sunday, March 18, 2007

PKI

When programming crypto you'll sooner or later end up trying to figure out what X509 certificates are all about. Start reading the RFC 3280 Internet X.509 Public Key Infrastructure. And then read Peter Gutmann's excellent article X.509 Style Guide.

Friday, March 16, 2007

Silent Shout, The Knife


Too much programming and no rock'n'roll lately!

Crypto Libraries

I've been posting about OpenSSL earlier since I'm currently using it both for CMS stuff and TLS. And it works reasonable well.

I've started to look into other open/free alternatives as well though. Here is a list of the ones I've found so far:

  1. OpenSSL, homepage
  2. GnuTLS, homepage
  3. Network Security Services (Mozilla), homepage
  4. S/Mime Freeware Library (SFL), (DigitalNet, BAE Systems, for US gov), using Crypto++

I've also found a commercial product that Peter Gutmann is involved in:
CryptLib

Cryptography

Here some articles on cryptography in general:

  1. Introduction to Cryptography, written by Murdoch Mactaggart and hosted by IBM developerWorks
  2. Crypto Tutorial, written by Peter Gutmann and hosted at his homepage

And one more focused on public key:
  1. Introduction to Public Key Cryptography, hosted at Mozilla

And at last some lighthearted guides describing various PKI technologies from Carillon.CA!

SSL Basics

Here are articles on SSL/TLS:

  1. The Transport Layer Security 1.0 RFC 2246
  2. The Transport Layer Security 1.1 RFC 4346
  3. SSL: Foundation for Web Security, by William Stallings, hosted at Cicso
  4. Introduction to SSL, hosted at Mozilla

History of Agile

Here is an interesting article about the history behind iterative and evolutionary processes. It is written by Craig Larman and in it he gives examples of iterative processes being used as early as the sixties by NASA!

Jez Humble had the chance to see Craig Larman doing a keynote about the subject on Agile India 2006 and the presentation is available here!

The opposite of agile processes is of course the everlasting waterfall process. The origin of the waterfall process has mostly been cited as the paper Managing the Development of Large Software Systems by Dr Winston Royce. But in fact he describes this method as "risky and invites failure" and actually recommends to "do it twice", ie a simple iterative process!

One of the major reasons for the waterfall process to get such a tight grip on software development process during the seventies and eighties was the US Defense that in standards like DoD-Std-2167 forced a waterfall process. This was later changed to a recommendation of iterative development in Mil-Std-498, as described here. (498 was later replaced by IEEE 12207.)

According to Craig's article "In hindsight, he (the 2167 author) said he would have made a strong recommendation for IID rather than the waterfall model".

Wednesday, March 14, 2007

Xbox Media Center

Two weeks ago our DVD died and I finally got a reason to mod my old xbox. Been thinking about it for a couple of years now and visiting a friend some months ago demoing xbmc just made me wanna do it more! So I dropped it of at psxcare and got it back a week later with a sweet SmartXX LT OPX chip (with Evox M8 bios), a 160GB drive and some programs including an old version of xbmc installed. It set me back 1600SEK (ie 200$) but so far it is totally worth it! I updated xbmc to the latest release from GasGiver and now everything works perfectly! Watching picures and listening to music stored on our pc (shared on smb), and playing backups of course ripped to the internal harddrive.

So how to update xbmc? Well, I mainly followed the online manual. I had a 1.x version installed that booted on C:\evoxdash.xbe and used the xboxmediacenter.xml (which refered to the application folder C:\xbmc).

  1. So I uploaded the new xbmc to F:\Apps\xbmc2
  2. Dropped the included .xbe and .cfg on C:\ and renamed them to xbmc2.xbe/.cfg
  3. Changed the path in the xbmc2.cfg to F:\Apps\xbmc2\default.xbe
  4. Tested them by starting the xbmc2.xbe from my old media centers file manager
  5. When everything started OK I made a backup of the old evoxdash.xbe
  6. And then renamed my new xbmc2.xbe/.cfg to evoxdash.xbe/.cfg
  7. Now the xbox boots to my new media center (and the old installation is still there as a backup...)
Actually it boots to xbmc when pressing the eject button. When pressing the power button the original xbox dash is booted (C:\xboxdash.xbe). This is configurable on the SmartXX chip! (To boot to SmartXX OS just press first power then eject!)

Tuesday, March 13, 2007

OpenSSL

The best OpenSSL introduction and tutorial is the book Network Security with OpenSSL, by Pravir Chandra, Matt Messier, John Viega.

So far the best online documentation I've found is An Introduction to OpenSSL, written by Holt Sorenson and published at Security Focus.

And of course there is the online manual pages...

Update 20070315
Found another article focusing on using SSL/TLS. An Introduction to OpenSSL Programming, part 1 and part 2 by
Eric Rescorla hosted at Linux Journal.

Agile development processes

The Developer Bill of Rights
• You have the right to know what is needed, via clear requirements, with clear declarations of priority.
• You have the right to say how long each requirement will take you to implement, and to revise estimates given experience.
• You have the right to accept your responsibilities instead of having them assigned to you.
• You have the right to produce quality work at all times.
• You have the right to peace, fun, and productive and enjoyable work.

The Customer Bill of Rights
• You have the right to an overall plan, to know what can be accomplished, when, and at what cost.
• You have the right to see progress in a running system, proven to work by passing repeatable tests that you specify.
• You have the right to change your mind, to substitute functionality, and to change priorities.
• You have the right to be informed of schedule changes, in time to choose how to reduce scope to restore the original date. You can even cancel at any time and be left with a useful working system reflecting investment to date.


The quote above is from Robert C. Martin´s article The Process. I think it describes the purpose of agile processes in an excellent way!

There is quite a lot of material available online about agile development processes, but the best introduction I've read is still a book, Agile and Iterative Developmen: A Manager's Guide, by Craig Larman.

Here are some links to articles and repositories on the internet:

  1. Manifesto for Agile Software Development
  2. The New Methodology, by Martin Fowler and hosted at his site
  3. The declaration of interdependence for modern management (agile project management), by Alistair Cockburn, his site has lots of interesting articles.
  4. RUP resources at IBM, e.g. Top five RUP implementation process killers and RUP in the dialogue with Scrum
  5. RUP resources (and other) at Dunstan Thomas, e.g. More RUP Anti-Patterns
  6. Agile UP, by Scott W. Ambler at Ambysoft, lots of other articles as well
  7. The Process (a minimal UP call dX), by Robert C. Martin, hosted at Object Mentor

Wednesday, March 7, 2007

Goldeneye live-action, N64


Hahaha! Goldeneye rules! Thanks to zakiechan and joystiq for the tip!

Tuesday, March 6, 2007

The Weeping Song, Nick Cave and the Bad Seeds

Monday, March 5, 2007

Patently Absurd

Patently Absurd is a very interesting article about software patents written by James Gleick. It is a couple of years old but I haven't read it until now.

Squash That Fly, Fu Manchu

Sunday, March 4, 2007

Books you need to buy

If you haven't got them already, buy them. Books are still the best source to programming and development knowledge.

General

Software Fundamentals: Collected Papers, David L. Parnas
Code Complete, Steve McConnell 2004

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

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

Another pattern!

Martin Fowler is a smart guy that works as chief scientist at Thought Works.

He has written an article about a pattern called Dependency Injection (a.k.a Inversion of Control) that is really interesting. This pattern can be used to reduce coupling.

And another one about Continuous Integration. Since this is a practice and not a pattern or principle it nicely leads us into the upcoming posts about development processes!

Saturday, March 3, 2007

More about principles

Since the previous post only mentioned coupling and cohesion I thought that I'd make another post on the subject. Robert C. Martin who works for Object Mentor (their blog) has written a interesting series about principles and the following quote is from the Dependency Inversion article.

The definition of a bad design

Have you ever presented a software design, that you were especially proud of, for review by a peer? Did that peer say, in a whining derisive sneer, something like: “Why’d you do it that way?”. Certainly this has happened to me, and I have seen it happen to many other engineers too. Clearly the disagreeing engineers are not using the same criteria for defining what “bad design” is. The most common criterion that I have seen used is the TNTWIWHDI or “That’s not the way I would have done it” criterion. But there is one set of criteria that I think all engineers will agree with. A piece of software that fulfills its requirements and yet exhibits any or all of the following three traits has a bad design.

1. It is hard to change because every change affects too many other parts of the system. (Rigidity)

2. When you make a change, unexpected parts of the system break. (Fragility)

3. It is hard to reuse in another application because it cannot be disentangled from the current application. (Immobility)

Moreover, it would be difficult to demonstrate that a piece of software that exhibits none of those traits, i.e. it is flexible, robust, and reusable, and that also fulfills all its requirements, has a bad design. Thus, we can use these three traits as a way to unambiguously decide if a design is “good” or “bad”.

The Cause of "Bad Design"

What is it that makes a design rigid, fragile and immobile? It is the interdependence of the modules within that design.

A design is rigid if it cannot be easily changed. Such rigidity is due to the fact that a single change to heavily interdependent software begins a cascade of changes in dependent modules. When the extent of that cascade of change cannot be predicted by the designers or maintainers, the impact of the change cannot be estimated. This makes the cost of the change impossible to predict. Managers, faced with such unpredictability, become reluctant to authorize changes. Thus the design becomes officially rigid.

Fragility is the tendency of a program to break in many places when a single change is made. Often the new problems are in areas that have no conceptual relationship with the area that was changed. Such fragility greatly decreases the credibility of the design and maintenance organization. Users and managers are unable to predict the quality of their product. Simple changes to one part of the application lead to failures in other parts that appear to be completely unrelated. Fixing those problems leads to even more problems, and the maintenance process begins to resemble a dog chasing its tail.

A design is immobile when the desirable parts of the design are highly dependent upon other details that are not desired. Designers tasked with investigating the design to see if it can be reused in a different application may be impressed with how well the design would do in the new application. However if the design is highly interdependent, then those designers will also be daunted by the amount of work necessary to separate the desirable portion of the design from the other portions of the design that are undesirable.

In most cases, such designs are not reused because the cost of the separation is deemed to be higher than the cost of redevelopment of the design.


So how do we solve these problems? Well there following principles gives us some guidelines:

The Single Resonsibilty principle (the same as cohesion)

There should never be more than one reason for a class to change.

If a class has more then one responsibility, then the responsibilities become coupled. Changes to one responsibility may impair or inhibit the class’ ability to meet the others. This kind of coupling leads to fragile designs that break in unexpected ways when changed.

The Open-Closed Principle

Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.

When a single change to a program results in a cascade of changes to dependent modules, that program exhibits the undesirable attributes that we have come to associate with “bad” design. The program becomes fragile, rigid, unpredictable and unreusable. The openclosed principle attacks this in a very straightforward way. It says that you should design modules that never change. When requirements change, you extend the behavior of such modules by adding new code, not by changing old code that already works.

The Liskov Substitution Principle

Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.

The importance of this principle becomes obvious when you consider the consequences of violating it. If there is a function which does not conform to the LSP, then that function uses a pointer or reference to a base class, but must know about all the derivatives of that base class. Such a function violates the Open-Closed principle because it must be modified whenever a new derivative of the base class is created.

The Dependency Inversion Principle

A. High level modules should not depend upon low level modules. Both should depend upon abstractions.

B. Abstractions should not depend upon details. Details should depend upon abstractions.

The structure that results from rigorous use of OCP and Liskov can be generalized into a principle all by itself. I call it “The Dependency Inversion Principle” (DIP).

Consider the implications of high level modules that depend upon low level modules. It is the high level modules that contain the important policy decisions and business models of an application. It is these models that contain the identity of the application. Yet, when these modules depend upon the lower level modules, then changes to the lower level modules can have direct effects upon them; and can force them to change.

This predicament is absurd! It is the high level modules that ought to be forcing the low level modules to change. It is the high level modules that should take precedence over the lower level modules. High level modules simply should not depend upon low level modules in any way.

The Interface Segregation Principle

Clients should not be forced to depend upon interfaces that they do not use.

When clients are forced to depend upon interfaces that they don’t use, then those clients are subject to changes to those interfaces. This results in an inadvertent coupling between all the clients. Said another way, when a client depends upon a class that contains interfaces that the client does not use, but that other clients do use, then that client will be affected by the changes that those other clients force upon the class. We would like to avoid such couplings where possible, and so we want to separate the interfaces where possible.

Most of these principles and some others covered in the article Design Principles and Design Patterns as well.

Object Mentors article archive is here and the ones related to object oriented design are here.

Update 090827!
The principles of OOD

Design principles and patterns

Principles and patterns are really interesting to know a bit about. Foremost of course since you become a better programmer when you have some knowledge about how to best solve a problem. Which is the basic idea behind these thoughts. Principles are ideas that are always true and that you should try to abide to at all times. Patterns are templates for solutions that you can combine (which are of course based on the principles).

To have some knowledge about principles and patterns also makes discussions about different solutions and their pros and cons so much easier since you don't have to explain in detail what you doing. You can just put it like "...and then we use a bridge pattern to...". Or "someone totally forgot about single responsibility when designing this and now everything sucks". Excellent don't you think!


So here are a couple of sources:

  1. GRASP (General Responsibility Assignment Software Patterns), Craig Larman came up with these (or do he just refer to them? can someone plaease set me straigh on this issue?) and they are well documented in his superb book Applying UML and Patterns
  2. GoF (Gang of Four) Patterns, the mother of all patterns, these patterns were originally published in the book Design Patterns by Eric Gamma, Richard Helm, Ralph Johnson and John Vlissides
  3. Patterns and Principles, a page that refers to the above and more and links to other excellent sites as well
  4. David Hayden has some nice articles in his archive about the GRASP patterns.

Blogging in the country side

Alright, the network at my parents place that I talked about in the ZyXEL post have actually started working. They have a Telia ADSL .25 Mbit so it's not the hottest line in town. But maybe in the country side. The telephone wires are running in the air the last couple of kilometers so its really old school and I'm quite impressed that it works at all! So now me and my brother can blog instead of watching boring tv in the evening!

UML

It's always nice to know a little bit if UML when you want to explain a design for someone. Perhaps to yourself if no one else is interested?

Here are two nice links:

  1. Guide to UML Diagrams, hosted at .netCoders
  2. Unified Modeling Language Syntax Reference, written by Claudio De Sio Cesari and hosted at his website

Friday, March 2, 2007

Rebellion (Lies), Arcade Fire


Alright, I know I'm the last one to find out about this band...

Friday

Ok so far I've only posted old links that I used in old projects in old jobs so I've got a bit bored. But I'll soon finish off the old stuff with some really interesting links about design, patterns and development processes. That'll cheer me up! And after that I'll dig into the current stuff I'm doing, network security! Wohaa!

Monday, February 26, 2007

Cheek to Cheek, Sahara Hotnights


Finally a new song from Sahara Hotnights and it's fracking fabolous as well!

C++ Coding Conventions

Alright! I love coding conventions. Impossible to follow but a must have! Check out these from Ellemtel that are widely referenced on the internet and can be used as an excellent base for your own set of conventions!

  1. Programming in C++, Rules and Recommendations (pdf)
  2. Programming in C++, Rules and Recommendations (text)
I normally follow my own set of conventions for free-standing applications or libraries. But when coding in some existing codebase or using a framework like MFC I of course adapt to the current conventions. Because as you all already know the absolutly worst thing of all is code with different coding styles in it.

Web

Ok, since I don't normally do any web programming I haven't looked for or found that many great tutorials or sites. But I do understand that this topic should have the greatest number of online tutorials and guides! Feel free to recommend your favourite sites!

Anyway, the site I've found most useful so far is this one that covers topics like html, javascript, xml, ajax, asp, you name it...:

  1. W3Schools

Windows Localization

Windows localization is a fun subject. Have you ever tried to get your application working with more languages than hardcoded english you have probably approached the subject.

Here are two articles that covers the basics, well, even a bit more in fact! I've added them as well as a couple of other resources to the link section.

Character sets, written by Ken Fowles, Personal Systems Division, Microsoft
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets, written by Joel Spolsky and hosted at Joel on Software

Windows Hooking

I didn't now anything about hooking until I started working at my previous workplace. They had a product that included a plugin for Outlook Express, and since there is no official API published for OE the only way to implement a plugin is to use hooking!

Here are some interesting links:

  1. Hooks, at MSDN
  2. API hooking revealed, written by Ivo Ivanov and hosted at The Code Project
  3. Automating Windows Applications, by Igor Ladnik hosted at The Code Project
If you too are interested in hooking Outlook Express you should take a look at OEAPI from Nektra, it could save you a lot of time and trouble. I've played with the demo and it seemed to do what was promised!

Windows C Run-Time Libraries

If you are like me you forget this stuff all the time and have to look it up in MSDN.

  1. C Run-Time Libraries
  2. Win32 Equivalents for C Run-Time Functions

Game shops in Stockholm, Sweden

Tvspelsbutiker i Stockholm, här är dom bästa!

WEBHALLEN (tvspel, pcspel, alla sorters hårdvara, games and all kinds of hardware)
TV-SPELSBÖRSEN (tvspel och basenheter, games and consoles)
PSXCARE (modda din xbox!, console modding)
SPELBITEN (tvspel och basenheter, games and consoles)

Jo, alla stavar med stora bokstäver...

The list above is the best game shops in central Stockholm.

Windows Message Reflection

Windows controls frequently send notification messages to their parent windows. Message reflection allows these notification messages to be handled in either the child control window or the parent window, or in both.

Here are some MSDN articles on the subject:
TN062: Message reflection for Windows Controls
MFC ActiveX Controls: Subclassing a Windows Control

The topic is also discussed in the article Using the ATL windowing classes mentioned in the WTL section.

Windows Shell Extensions

Shell extensions are a real interesting subject to learn if you want to write applications that integrate well into windows. And that integration can be essential for good a user experience!


Another excellent series from Michael Dunn hosted at The Code Project:

  1. The Complete Idiot's Guide to Writing Shell Extensions
Here is a link to the MSDN coverage as well:
  1. Shell Programmer´s Guide
Update 20071120:
The above link doesn't seem to work any longer. Try this one instead:
  1. Shell Developers´s Guide

Thursday, February 22, 2007

World of Spectrum


World of Spectrum is an excellent retro game site covering the Sinclair ZX Spectrum. Check out the JZX or the ZZ Spectrum java emulators as an example!

Long Before Rock'n'Roll, Mando Diao


Yesterday me and my wife Johanna was at the Mando Diao concert at Nalen, Stockholm. It was a really great show and Long Before Rock'n'Roll is hereby pronounced title song for this blog!

Windows WTL

Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more.

Here is a link to an excellent CodeProject tutorial. Only the first part is linked to since at CodeProject it is real easy to navigate through a article series. (If it only could be that at MSDN as well...):

  1. WTL for MFC Programmers, Part 1 - ATL GUI classes, written by Michael Dunn at Codeproject
Andrew Whitechapel has some interesting articles hosted at Codeguru (create an account):
  1. Using the ATL windowing classes
  2. To WTL or not to WTL, that is the question

And then an interesting comparison between WTL and MFC:
  1. A Quick MFC and WTL comparison, by Kenn Scribner hosted at EnduraSoft

Wednesday, February 21, 2007

Windows COM and ATL

Alright! Lots of new links to my favourite windows subject! COM!

The Dr. GUI is the best tutorials ever written on the subject available online. There are a couple of books that may cover the subject better (like Inside COM, Essential COM and ATL Internals) but thats up for discussion.

  1. Dr. GUI. on Components, COM and ATL, written by Dr. GUI and hosted at MSDN
  2. Dr. GUI and ATL
  3. Dr. GUI and COM Automation, Part 1
  4. Dr. GUI and COM Automation, Part 2: COM´s fabulous Data Types
  5. Dr. GUI and COM Automation, Part 3: More on COM´s fabulous Data Types
  6. Dr. GUI and COM Events, Part 1
  7. Dr. GUI and COM Events, Part 2

And then som excellent architectural articles.
  1. From CPP to COM, written by Markus Horstmann, OLE Program Manager at Microsoft
  2. DCOM Architecture, by Markus Horstmann and Mary Kirtland, covers topics like mashalling and apartment models
  3. The Component Object Model: A Technical Overview, by Sara Williams and Charlie Kindel, Developer Relations Group Microsoft
  4. Understanding and using COM Threading Models, by Jason SMith, Software Design Engineer at Microsoft

A resonable good introduction to COM and ATL at MSDN
  1. Introduction to COM and ATL

A simple tutorial
  1. COM Clients: Concepts and Programming, By Robert Oberg hosted at Windows IT Library

And at last a bit off topic a link to MSDN´s ActiveX Controls documentation. The most interesting stuff here is maybe the statment that once and for all (?) tells us what an ActiveX control is!

"A Microsoft ActiveX control is essentially a simple OLE object that supports the IUnknown interface"
  1. ActiveX Controls

Update
I found an article series on DevCentral named An introduction to DCOM when looking into what Marshall Brain had written. It is adapted from the book Understanding DCOM by Marshall Brain and William Rubin.

Update 2
Further reading on The Code Project uncovered the article series COM in plain C which is a great article written by Jeff Glatt

Monday, February 19, 2007

Windows MFC

Added some new MFC links, both references and tutorials. The tutorials are:

  1. Introduction to MFC programming written by Marshall Brain and hosted by DevCentral (you need to create an account to read it). Hmm, DevCentral don't seem to be to active nowadays...
  2. Create your own controls - the art of subclassing written by Chris Maunder and hosted at The Code Project.
  3. Demystifying Subclassing, by Fritz Onion at pluralsight.

SC101

The previous posting got me thinking about hardware and especially my Netgear SC101. Why the hell does someone sell a device that supports mirroring of the disks but not the replacement of a mirrored disk when it fails?? Please tell me!!

And why can't Netgear release mac and linux drivers for it?

ZyXEL

I helped my parents install a ZyXEL 660H triple play modem, 320W router and a G202 USB adapter this weekend. They got it all "for free" when signing up for ADSL from Telia (ie Sweden). The modem was just to plugin. Then I connected the router by twisted-pair to my Dell and did the wizard setup. Somehow their "One-Touch Intelligent Security Technology", OTIST, got started as well which led to that neither my brothers iBook or the Dell using the G202 managed to connect (even though the network was visible but the SSID had some OTIST info string automatically appended to it). I tried to reset the security settings to No Security. But still it didn't work (network visible and no string automatically appended this time). So I started over and did a hard reset on the router. This time I choose the advanced setup and made sure to change no settings at all (since by default the radio should be on and NO security chosen). Still not working... Ok I checked the settings from top down and in Network->Wireless LAN there was a tab for MAC filter. And for some reason this was turned on to only allow the MAC addresses shown. But the list was empty. So I turned this feature off. And now everything worked at once! Both the iBook and the Dell connected effortlessly to the only wireless network in range.

So the correct steps to do this setup would be to choose advanced setup for the router, change default password and then just check the MAC settings so nothing strange is going on! Thats it! Leave everything else to default. (Observe that my parents is living on the countryside with no neighbours so thats why I'm running with zero security.)

The G202 USB adapter was a snap to install. Just follow the instructions and don't do anything to the default settings.

If I wanted to use a secure wireless network I would opt for the advanced setup as well and just change the security settings manually to WPA-PSK. I'll maybe get to try that in the future.

Friday, February 16, 2007

Windows DLL

Added a link to an excellent article Calling C++ DLLs from VC++ and VB written by Hans Dietrich and hosted at The Code Project.

Windows Win32

Ok I've added a Win32 links section to the right with references and tutorials. The tutorials are:.

  1. theForger's Win32 API Tutorial written by Brook Miles and hosted at winprog.
  2. Subclassing Win32 Common Controls written by Jurjen van Dijk.

Thursday, February 15, 2007

Game|Life


Chris Kohler runs an excellent gaming blog on Wired thats called Game|Life. Check it out!

When you were young

Alright, lets kickstart this blog with a Killers song that I've been listening to a lot lately!