devCatharsis

Just sharing some of my inconsequential lunch conversations with you... RSS  

Sunday, December 13, 2009

.NET OpenID

Here’s a cool library: DotNetOpenAuth:

This C# library adds OpenID 2.0 Provider and Relying Party, OAuth Consumer and Service Provider, and InfoCard Selectorsupport to your web site both programmatically and through convenient drop-in ASP.NET controls. Use as much or little of the functionality as you want.

Download it now

Download the latest version

or Get the latest source

All downloads include both the library, samples, and tools to help you get started.

We use GIT for source control, click here to find out more

Features

  • Compiled library that adds support for your site visitors to login with their OpenIDs by just dropping an ASP.NET control onto your page. It's that easy. An AJAX-style login control is also included for a slick, streamlined user experience.
  • Give your site members their own OpenIDs with the provider support included in this library.
  • Sample relying party and provider web sites show you just how to do it.
  • Easy access to all the functionality so you can customize how OpenID will operate on your site, whether you use ASP.NET or not.
  • Classic ASP support
  • Full support for custom extensions. Plus built-in support for Simple Registration, Attribute Exchange and PAPE.
  • Works in partial trusted shared hosting environments.
  • Support for web farms where state persistence, front-facing web servers and ASP.NET may not be standard or even available.
  • OpenID 2.0 and 1.x
  • OAuth 1.0 and 1.0a
  • Superior support for multi-byte Unicode identifiers.
  • Lots of security features
  • 490+ unit tests to verify correctness.
  • Library behind the OSIS OpenID interop testing
  • About 1500 downloads per month. See who's using DotNetOpenAuth

Wednesday, December 09, 2009

Google Chrome just got fatter

Yeap, Google Chrome now has extensions! We can say bye bye to the minimalist approach, but hello to many goodies.

Here are some of the most popular extensions – yes, there’s a basic ad blocker:

Google Mail Checker

(698)

-  115,343 users

Displays the number of unread messages in your Google Mail inbox. You can also click the button to...

AdThwart

(327)

-  70,693 users

Blocks ads on websites. Includes the EasyList ad filter list as of 9 Dec 2009.

Google Translate

(180)

-  69,760 users

This extension translates entire webpages into a language of your choice with one click. By the...

RSS Subscription Extension

(227)

-  49,322 users

Adds one-click subscription to your toolbar

Google Wave Notifier

(123)

-  37,235 users

Displays number of unread Waves.

Xmarks for Chrome Beta

(211)

-  35,478 users

Xmarks for Chrome Beta is a beta preview of Xmarks for Chrome

 

Please note: you’ll have to install version 4 beta.

Thursday, December 03, 2009

Windows 7 Sensor and Location Platform Overview

Uau, I want to play with this!

The Windows Sensor and Location platform, new for Windows 7, enables your computer and applications to adapt to their current environment. With location sensors -- including GPS devices, WWAN radios, and even triangulation technology -- your applications and gadgets can know exactly where they are, enabling them to provide more locally relevant content and functionality. Join Dan Polivy, Gavin Gear, product team PMs, and Yochay Kiriaty, Technical Evangelist, as they explain what the Windows 7 Sensor and Location platform is, what underlying architecture supports its functionality, and how developers can take advantage of this new and exciting platform.

  Get Microsoft Silverlight

Tuesday, December 01, 2009

Installing ESXi 4.0

Here are my notes on my last ESXi installation:

1. Download and burn CD from VMWare – the Dell customized version for a PowerEdge 2950

OPTIONAL BINARY
VMware ESXi 4.0 with Dell Customization
Version 4.0.0 | 181792 - 08/07/09
Binary (.iso) (417 MB)
Image for ESXi Installable that includes Dell customization.
md5sum: 0ff898e830a095abb2275181175e065e

2. Installing ESXi

Not much to say here. Basically set the password and configured the 1st network adapter.

3. Activated SSH (here’s where I’ve learned about this)

  • At the console, hit ALT-F1
  • type unsupported and hit <enter> (NOTE: you won’t see what your typing until you hit enter…)
  • login
  • edit /etc/inetd.conf
  • uncomment the ssh line
  • restart the services (services.sh restart)

We can now get the hell out of the datacenter :)

 

4. Install vSphere client

  • HTTP the server, downloaded and installed vSphere client to my workstation
  • On Windows 7 you have to fix it. Here the long and the short version

 

5. Install ftp server (here’s where I’ve learned about this)

  • Downloaded OEM.tgz
  • Uploaded to the datastore using the datastore browser
  • On an SSH session, copied it to /bootbank/oem.tgz
  • Added to /etc/inetd.conf:
    • ftp stream tcp nowait root /usr/sbin/proftpd proftpd
  • Reboot

And there you go, you’ve got an ftp server on your ESXi! For client ESXi has native support as:

 

6. Install some precious tooling

  • Your favorite ftp client
  • VMWare Converter

 

Please remember:

  • by default, VMWare Converter chooses flat files
  • after uploading to the server your VMWare Server or Player versions, you’ll have to convert it: vmkfstools -d thin -i source.vmdk destination.vmdk.

 

Thanks for the support Rasteiro :)

Monday, November 23, 2009

Error converting Oracle VM

We’ve been converting out VMWare Server 1 and 2 to ESXi4. Today 2 of out Oracle servers stopped working after being VMWareConverted to ESXi. For some strange reason, oracle just managed to screw up the instance, and we got the following error:

ORA-01034 : ORACLE not available
ORA-27101 : shared memory realm does not exist

I had to re-register the service. Something like:

SET ORACLE_HOME=<my oracle home>
SET ORACLE_SID=<my oracle sid>

# delete service
oradim -delete -sid MCH9

# register service
oradim -new -sid <my oracle sid> -intpwd <my sysdba password> -startmode AUTO -pfile <my init.ora>




Friday, November 20, 2009

Running VMWare vSphere on Windows 7

Here’s a cool link to patch VMWare vSphere in Windows 7.

Thursday, November 19, 2009

Just received a new phone: TMN Silverbelt (ZTE Raise)

Finally my HTC 3300 gets to be replaced::

tmn silverbelt

 

Nothing much to say for now, it seems pretty fair for the 219.90€ I’m paying. Here’s what you get with one of this:

  • Windows Mobile 6.5
  • 5 MPixel camera
  • GPS and NDrive
  • HSUPA
  • 3.2’’ screen

 

Here’s the detailed data from PDAdb.net:

 

Brand: TMN
Browse TMN devices
Manufacturer: Zhong Xing Telecommunication Equipment
Browse all devices manufactured by Zhong Xing Telecommunication Equipment
Hardware:Designer: Zhong Xing Telecommunication Equipment
Project;Codename: ZTE Raise
Browse all devices under ZTE Raise codename
Release;Date: October, 2009
Predecessor_Model: ZTE e760
Physical;Attributes
Dimensions 57 x 112 x 12.5 millimetres
(width x height x depth): 2.2 x 4.4 x 0.5 inches
Bounding_Volume: 79.8 cubecentimetres
Mass: 146 grams (battery included)
Software_Environment
Embedded;Operating:System: Microsoft Windows Mobile 6.5 Professional
Browse devices running this OS
Operating:System_Kernel: Windows CE 5.2.2
Microprocessor,-Chipset
CPU-Clock: 528 MHz
CPU: Qualcomm MSM7225
Browse devices based on MSM7225
Width_of+Machine-Word: 32 bit
CPU-Core: ARM1136EJ-S
Instruction+Set: ARMv6
Memory,-Storage;capacity
RAM+type: SDRAM
RAM_capacity: 256 MiB
ROM+type: Flash EEPROM
ROM_capacity: 7630 MiB
ROM+capacity;in+bytes: 8 GB (billion bytes)
Graphical+subsystem
Display+Type: color transflective TFT display
Display:Color_Depth: 16 bit/pixel (65536 scales)
Display+Diagonal: 3.2 " (81 millimetres)
Display-Resolution: 400 x 240 (96000 pixels)
Viewable:Display_Size: 2.73 " x 1.64 " (69.46 x 41.67 millimetres)
Dot+Pitch: 146.3 pixel/inch (0.17364 millimetre/pixel)
Audio_Subsystem
Audio-Channel(s): stereo sound
Analog/Digital Converter 16 bit nominal quantization
(Recording): 44100 Hz sampling frequency
Digital/Analog Converter 16 bit resolution
(Playing): 44100 Hz holding frequency
Microphone(s): mono sound
Loudspeaker(s): mono sound
Audio:Output: Supported
Cellular+Phone
Cellular-Networks: GSM850, GSM900, GSM1800, GSM1900, UMTS900, UMTS1900, UMTS2100
Cellular_Data;Links: CSD, GPRS, EDGE, UMTS, HSDPA, HSUPA
Cellular:Antenna: Internal antenna
Call-Alert: 40 -chord melody (polyphonic)
Vibrating;Alert: Supported
Speakerphone_: Supported
Control:Peripherals
Positioning;Device: Touchscreen
Primary:Keyboard: Not supported
Directional;Pad: Not supported
Scroll:Wheel: Not supported
Interfaces
Expansion_Interfaces: microSD, microSDHC, TransFlash, SDIO
Supports High Capacity (SD 2.0/HC) memory cards with capacity of up to 32GB
USB: USB 2.0 client, Hi-Speed (480Mbit/s)
Bluetooth;(802.15): Bluetooth 2.0, Internal antenna
Wireless+LAN/Wi-Fi_(802.11): IEEE 802.11b, IEEE 802.11g, 54 Mbit/s
Internal antenna
Infrared-Gate: Not supported
Multimedia_Broadcast
Analog-Radio: FM radio (87.5-108MHz) with RDS radio reciever
Proprietary headset as antenna
Digital;Media+Broadcast: DVB-H digital tuner
Pull-out antenna
Satellite:Navigation
Built-in;GPS;module: Supported
GPS;Protocol: NMEA 0183
GPS+Antenna: Internal antenna
Complementary:GPS+Services: Assisted GPS
Built-in;Digital;Camera
Sensor_Type: CMOS sensor
Resolution: 2560 x1920 pixels (4.92MP)
Autofocus+(AF): Supported
Optical+Zoom: 1 x
Macro:Mode: Not supported
Built-in:Flash: mobile light (LED)
Camcorder: 320x240 pixels
Recordable-Image;Formats: JPG
Recordable_Video-Formats: 3GP, MPEG4
Built-in_Secondary+Digital+Camera
Sensor+Type: CMOS sensor
Resolution: 640 x480 pixels (0.31MP)
Camcorder: 0x0pixels
Recordable-Image:Formats: JPG
Recordable_Video:Formats: 3GP, MPEG4
Power_Supply
Battery-Technology: Lithium-ion battery
Battery_Build: removable
Battery+Capacity: 1250 mAh
Additional;Details
Built-in+accelerometer: Supported
Additional;Features: GPRS Class 12
EDGE Class 12
HSDPA 7.2
HSUPA 5.76
Bluetooth stereo audio profile (A2DP
AVRCP)
Related_Page: http://wwwen.zte.com.cn/en/products/mobile/mobile_detail_291.jsp?mobileName=ZT..
Datasheet:State: Preliminary specifications
Datasheet:Views: 5537 times
Datasheet_Added: Jul 28, 09 12:30:17

J2EE error: msg=bad version number in .class file

I’ve been loosing a lot of time with the dreadful:

java.lang.ClassNotFoundException: Unexpected error during load of: <somenamespace.someclass>, msg=Bad version number in .class file



After some googling I’ve soon discovered that this problem was related to compiling with a java version and executing with a different one. And finally our java Gurus (thanks Severino) manage to save the day:



image

Tuesday, November 17, 2009

Development Turnaround Time

Fact of life: in most development environments there’s a latency involved in the development stages of building and restarting. You can argue that interpreted, dynamic and highly untyped environments don’t suffer of this problem, but the sad truth is that .NET and J2EE environments are prone to this menace.

Some people call it turnaround time. It takes developing very expensive time, and introduces an extra payload: it ruins any change of maintaining the developer concentration and focus on the task they are working on.

Now that I’m entering the J2EE world I’m realizing that on these side of the world this problem is by far heavier. Let me give you an example on our project:

  Average time to graceful stop: 0m 30s

  Average time to build and deploy:

1m 30s

  Average time to start:

4m 30s
  Total turnaround time: 6m 30s

I was a little bit worried about this times until I' found that this times are considered acceptable on the J2EE world! Here are the results from a 1100 developer’s survey:

chart2

 

chart3

 

chart5

 

chart6

Oops…

Now the good news is that there may be a solution to cut this times by 8-18%: ZeroTurnAround. I haven’t tried it yet but it looks fantastic. Anyone out there is using this tool?

Please note that this survey was issued by the company that made this tool, so let’s hope that the data is not somewhat biased… One thing is for sure: we have a problem here. At least on our project.

Sunday, November 15, 2009

Combining open-source efforts

I was searching for a linear programming lib on codeplex for one of my geek personal projects when I found FSharp.MathTools and the following change of plans message:

FSharp.MathTools: Change of Plans

In the interest of having one great open source library for the .NET platform we have refocussed our efforts and are now contributing to dnAnalytics. dnAnalyticsnow includes all the functionality that was in FSharp.MathTools and much more. Although dnAnalytics is written as a C# library with the choice of including fast native code, we have added an F# front end to accomodate the functional programming community. The code for FSharp.MathTools will still be available from this site.
Cheers, Jurgen

Ok, lets go to dnAnalytics. Wait, on the first page I have a similar message:

NOTE: dnAnalytics is merging with Math.NET Iridium into a new project Math.NET Numerics - http://mathnetnumerics.codeplex.com/. The 2009.08 release will be the last release of dnAnalytics.

So up to Math.NET Numerics we go. And my task has ended, here’s the final stop. For now.

Why is this relevant? Because although we need diversity, we also need a steady direction and joined forces, and this is what those guys did. And this is probably a problem with the part of the open-source community that tends to prefer branching over merging. Probably not immune to NIHS?

Just how much standard is EPCGlobal air interface?

The standardization of protocols is guarantee of:

  • Independence of hardware
  • Open-loop compliance

These concepts are fundamental for the modern supply chain, particularly for the competitiveness of the solutions and their economic viability. For this reason EPCGlobal defined standards, among them the tag air interface so that complaint interrogators can interact with compliant tags.

In my experience all the interrogators I’ve used can interact with all the tags. But there is an exception: we couldn’t read CAEN Temperature Logger UHF Semi-Passive Tag A927Z when using the IF61 Intermec interrogator. We can read it using a CAEN A928, but not with the Intermec. Not even the EPCID, let alone the data bank.

Ok, this is not your everyday logistic passive tag, but it EPC Gen2 compliant, so it should be read by any EPC Gen2 compliant interrogators.

We’ve being talking with Intermec and CAEN about it and the problem will soon be solved. But the problem still persists: for now, compliant certification is not enough, you’ll still have to depend on testing to guarantee it’s compliance.

Anyone else had this problems?

rfrbNET: RFID track & trace federated network

I’ve being devoting my last year to project rfrbNET, a RFID Track & Trace Federated Network (in Portuguese: Rede Federada de Rastreabilidade de Bens).

This project facilitates the building of a network of supply-chain participating peers over EPCGlobal standards. Objects represented by EPC tags transverse this peers, where these movements and respective business context is first captured and later delivered through a standard EPCIS interface. Although a reality right now, this interface is designed over a point-to-point logic, meaning you can query about EPC events directly against an EPCIS, but lacking the way to ask what EPCISes have information about these tags.

This problem is defined by the EPCGlobal as Discoverability, and is still a work in progress. To address the discoverability we have to solve problems like security, identity, privacy, protection of business data, policy rules and above all the architecture that can support it. To make it work, we have to frame it on a federation model that guarantee scalability and easy provisioning of accounts, and defining it's governance rules.

We are finishing the rfrbNET dissemination site, as soon as launch it announce it here.

Quadro de Referência Estratégico Nacional This project co-financed by the QREN (National Strategic Reference Framework), the framing for the application of the Community’s policy for economic and social cohesion in Portugal.

Development Catharsis :: Copyright 2006 Mário Romano