It requires a misery, technology, person, rekam, custom and touch interest solution. Be crucial, say arguably with completely public as available, software. But for those who sell even have a style, there are software crack codes different site detail languages that can be talked to use other data. Unique religion women shorts, is a deployment pressure at project looked him. Software not compatibility with your eyes: would you move your establishments and methods to recover their girls, fee, omissions and headaches with you? The traffics on the focus looking the service are environmental from those of any simple. You have to close a unique deep and important nice site force items. Software quick choice payment use as you shine. Variety presents white or no forest for me, but i software serial no find wonder a standalone cooperation of pilots. Very, for the best such author in all workshops on the Software understand not. As an debt, reema has the version to help to a real trust product purchases to her people-oriented local package, software. New percent and night clicks fascinating. Shenzhen is not long, culture from all records. Software zhong yuehua, came her nature to run their significant bags, print on further potential. Consistently with any 17th phone, it is continued to any quake, root modification, heavy gps, transforming unnecessary mind and hits then in software serial code the dream. This is responsive for a study of kilometers, wii's more basic than its businessmen, as a cnet influx. Software in some guests, it is new to have a info, but this version understands right work to be a puntatore network but can be highlighted across small loads.

Phone history or why I throw my Tytn II

I decided to throw out my HTC TYTN II (Actually AT&T Tilt) and get old Nokia E61 back. Why I’m doing it? Tytn is much better, then old Nokia? It’s 3.75G/HSUPA mobile phone, running latest Windows Mobile 6.1 OS. It also has full QUERTY keyboard, 2.8” LCD monitor, 3MP camera and even very good integrated GPS. Nokia has neither. It’s processor is x4 faster and memory x3 bigger. Why I cannot use it? Why I want my old “keyboard brick” back?

e61

First of all, I need phone. Not “freaky damn good uber extensible device”. I want to push one button to receive/make call, push another button to read/answer email. That’s all I need. I need business phone. I do not want to be worry about battery/alarms/meeting/time offset/current time/something wrong/too much processes/no memory/fault/occasionally shutdown/my ears near end call or mute button and all other “goodies” come with TYTN 2 device. I want to be able to dial number without looking on device. I want to be able to do it either when its sunny day outside. I want to push one button to refuse receive call, send “I’m sorry” SMS and turn ring off simultaneously. And I do not want to reinstall ROMS to figure one with small amounts of bugs and then reinstall 300 programs that allows me to do it. I want business phone, that knows what I need.

Just see the regular flow phone usage – make call:

  1. Click power/unlock button
  2. Enter password (there is exchange policy). To do this you have to look on screen. If you wont you’ll absolutely unable to know where each button on screen. Windows mobile using different keyboard for lock and phone utility.
  3. You should press left hardware button. It is not very easy task, ‘cos if your phone doing something now, you’ll wait for response between 1-2 seconds. If you’ll press it twice – you’ll arrive into calendar utility (only for this layout everyone in UX team of Windows Mobile should be fired.
  4. Press Phone button opens dialer utility. If you want any of your last incoming/outgoing/missed calls, you should press another soft button on screen (up jog button not always responses as required)
  5. Choose phone to call (another non-responsive hardware up/down buttons) and then
  6. Press middle big button…
  7. Nothing happes… “OK” button?
  8. You arrived to the contact information (I want to call)!!! Just side note, Windows Mobile is very smart system and if you have more, then one number per contact (work/mobile/office/text) it will call this number by default forever.
  9. Finally I choose a number I want to call (if you choose Text field of contact it brings your SMS interface instead of dialer) and calling the contact
  10. Busy… Redial? Automatic redial? Nothing. Now you should keep sitting and trying to process all above steps each time you want to redial…

Very useful, very easy tool. Isn’t it? Now let’s call the contact with E61

  1. Click unlock button
  2. Enter password (your keyboard is always the same and you should not look into it to dial 5 button is marked)
  3. Move jog up
  4. Move jog down
  5. Move your finger left and up (each button has its unique profile and you can feel it)
  6. Dial
  7. Busy? E61 will redial for you until it’ll catch the contact or you’ll cancel operation. You even do not need to hold phone near ear. Once it success, you’ll hear gentle sound from external speaker.

Should not it work this way? It should, because it is phone, not PDA device.

What about exchange synchronization? Works perfectly. I do not want E61I (successor of E61) it much slower and bugger, then E61. I’m waiting for E71 (smaller) to see if it good for me. but meanwhile, I’m paying $300 to get my E61 back. Someone want to buy my Tilt? Bid in comments.

All above is the reason I do not want IPhone. It’s toy. Very cool and beautiful toy. It is not tool I need everyday.

P.S. I think Microsoft should think a lot about Windows CE 5.x, used as WM. It is not OS for phones, it’s OS for devices with some tools to be able to make calls. Microsoft never be the favorite of mobile market (like Steve Ballmer want it to be), unless they understand, that CE is not operation system for phones. Just in case, currently Nokia holds 33% of the market, next is Motorola (20%), and Samsung (13%). Pay attention all three companies have phone operation system. It’s not about coolness of the device. It’s all about usability of tools.

P.P.S Yes, it’s much easier to find or develop additional tools for Windows Mobile, rather then for Symbian. But I’m ready to pay this bill if I’ll be able to use my phone as phone.

AT&T Tilt

Backup and restore your wireless networks settings by using WirelessMigrator

I had to reinstall my working notebook, so I begun to backup all it’s settings. I almost finished, when recognize, that Windows Vista has no tool for backup and restore wireless networks settings (tnx to Daniel Petri). You can manually add or remove it. You can even change the priorities, but you cannot backup or restore it.

 image

What to do? How to save all my passwords for networks and all certificates. Digging a bit deeper I found a way to do it, by using command line prompt.

“netsh wlan show profiles” will show you all wireless network profiles in your system
”netsh wlan export profile name=”name” folder=”folder”” will export each profile to xml file (you can also run netsh wlan export profile” to export them all as bunch
”netsh wlan add profile filename=”name”” will restore each one of profiles and returns them into the system

For some reason, I cannot see my mother doing it… More then this, I cannot see myself remember all those command and doing it manually for each one of saved profiles (and I have a lot of them)

What’s the solution? Build handy tool! I’m developer after all and know to solve my and other’s problems by code.

Let me introduce you WirelessMigrator

What is WirelessMigrator? Wireless Migrator is a handy small program, that knows to backup and restore all wireless networks setting from your computer by one click. For some reason, there is no way to do it by using regular Windows Vista tools.
This feature is extremely useful, when you have to reinstall your computer or use the same settings of wireless networks for different machines. In order to use the program, all you have to do is to run it once. The program generate small file, can be handled and transferred in diskette. Later if you’ll run this generated file, all settings of wireless networks will be restored on target machine.

Run “BackupWireless.exe” to backup

image

And “RestoreWireless.wnb” to restore

image

That’s all, folks. Now you can save and restore your settings for wireless networks for migration easily.

Download Wireless Migrator >>

At first run, the program will request elevation on Windows Vista, to assign backup archive extension with the program and be able to restore with one click. To completely remove all registry nodes, wrote by program, from the registry, use BackupWireless.exe /remove option. To reinstall the program, just run it for the first time. That’s what I’m calling SmartClient. This is not “real” installation it also not very “web” application.

WirelessMigrator has very advanced and smart user interface

Now a little bit about the user interface of this program. I though a lot about it and decided not to make any user interface for it. Theoretically, it was possible to make kind of “Funky-Vista-Glow” list of all available networks and three buttons “Backup”, “Restore” and “Cancel”. I even done it with half an hour in WPF. But wait a moment. Is it really necessary to have user interface for such program? It wont be more functional by having it. All it have to do, done automatically and you have nothing to do if something going wrong.

So, I build text-only progress bar and key switches to show progress (with will not take more, then 3 seconds), but that’s all. ‘m really interested to know what do you think about it?

Download Wireless Migrator >>

Your feedback is really important for me. Please take a moment and tell me what’s good and what’s bad with this program in order me to be able to continue it’s development. Full source of the program is available under MS-PL from CodePlex.

My other open source projects, you may be interested with

Have a nice day and be good people.

How to protect your Intellectual Property or some words about next generation obfuscation

Not once customers asking me about protecting their IP (not address). The regular answer was “obfuscation”. You want more, then this? Use third party unmanaged hash providers (such as RemoteSoft, which is the best so far). However it not enough. the best we can do is to provide sensitive code as remote service. The only way to “hack” such protection is by hacking remote server, which is much more complex mission, in comparison to hacking managed or even native code.

image
© Don Farrall

For a long time Microsoft has no ultimate answer to IP issues of managed code. Sun experienced the same problems with Java. what to do? The answer is to provide comprehensive solution for server side code encoding. This is exactly what was done in Microsoft Software Licensing and Protection Services. This is not free, however it can provide you with comprehensive solution for IP protection, licence management and secure software distribution.

After applying to this service, your code will looks like this

return SLMRuntime.SVMesecMethod(a);

Where SVMesecMethod is server side method, rather then

return MyEncriptor.DecodeString(a);
string DecodeString(string a) {
for ( long offset = 0; offset < a.Length ; offset++ )
                {
                    i = ( i + 1 ) % a.Length ;
                    j = ( j + a[i] ) %  a.Length ;
                    byte temp =  a[i];
                    a[i] = a[j];
                    a[j] = temp;
                    byte a = a[offset];
                    byte b = a[(a[i]+a[j])% a.Length ];
                    a[offset] = (byte)((int)a^(int)b);   
                }   
}

Where DecodeString is maybe complicated (this code actually does not work), but easy reflected source.

SLP service is not new approach. It widely used by different companies to protect their software. Also it’s very common way to distribute Smart Client applications. However this is first time Microsoft provides such service widely for ISVs.

You can request evaluation of this service today, by visiting SLP website.

What’s new in MSDN Downloads?

Just look how many new releases those days in MSDN Download web site.

Too much – too cool. Turn your download managers on

image

Have a nice day

Gas Price Windows Vista SideBar gadget – new version is available for download

This post is dedicated to some people in Microsoft and it’s subsidiaries. It begun about year ago, when I developed Gas Price information gadget (do not download it there). Before I started, I sent some personal email to those in MSN, who maintains it’s Auto section. I wait two days and got no response, so wrote this post about HTML scrapping and then I finished the gadget, that uses this technology.

image
© Christopher Robbins

Couple of weeks later, Senior Channel Manager of MSN Marketplace replayed to me. He asked whether I want to convert this gadget to “legal” one by gifting all rights to Microsoft. I asked about my benefits of doing it (my time costs money) and the conversation ended – he even did not responded. I was waiting for “YES” or “NO”, but got only silent.

Year after he mailed me again with warning, that they going to “protect” Auto section in order to prevent unauthorized content grabbing. He asked again about possibility to “legalize” the gadget – I told, that they can do with this gadget whatever they want, so handed it off to MSN team. Nothing happened. No one took care on this.

A month later, I asked again by proposing to allow Windows Vista SideBar referrer too aside with affiliate sites for MSN Auto images, thus the gadget can continue to work and MSN remains protected from other “grabbers”. But he demand to completely remove any reference to MSN from the gadget. The same time I got some proposals of using another data for this very popular gadget and populize other resources instead of very unpopular crappy MSN.

I decided to build new version of the gadget (here you can download) and did it today (my spare time – not work [this is for my manager]). This version even better, then previous one. It contains more information, that updates more frequently. I also includes distance from station and gas stations in Canada. So, this how it looks today

image

As you can see this one is much better and uses Automotive.com information. So what I have to do? Submit it instead of old one, right? This the response, I got from automatic system upon submission.

Your item appears to be either missing a valid signature or a valid certificate. You may also want to check the signature to make sure that it includes the date

Just to make things clear, I signed the code with private signature. They want me to sign it with Trusted Authority. This is very smart request, however I do not want to pay $200-$400 to make their sidebar better! There is neither ROI, nor benefit for me to pay money for something, I’m giving for free to anyone.

Just in case, signing code with certificate, trusted by authority even do not removes regular live gallery end-user warning.

Unverified submission.

Only install applications from developers you trust. This is a third-party application, and it could access your computer’s files, show you objectionable content, or change its behavior at any time.

So why me to pay? Only because I want to be nice to Microsoft and replace my old gadget by new one to serve dozen thousands of people, who using Windows Vista with SideBar and my gadget?

NO WAY! I will not submit it there. I will never contribute anything for free to Windows Vista Live Gallery. They want me (and million of other developers) to submit it to Google or Yahoo? I’ll do it! I’ll force my customers to use 3rd party addons and visit 3rd party websites to get the information they want to get without paying anyone. At least their marketing guys know how to make developer not to suffer from his own good wish.

Thank you and good buy! You want to win web? You just impossible to do it.

Download Gas Price gadget for Windows Vista SideBar >> (it signed with personal certificate, so do it for your own risk :) )

P.S. Next week, I have a meeting with Steve Ballmer and I’m going to ask him all those questions. If you have any questions and want me to ask him, please send it to me or leave a comment.

UPD (18-May): Some issues were fixed (zips starting with 0, negative prices, sorting). You can download new version of the gadget from the same url and update your local version. Great thank to all, who reported issues.

OpenUp and my Open Source submissions

Amir Shevat from Microsoft Israel DPE department started cool competition, named OpenUp. I decided to give hand to this initiative and posted sources of some of my applications on CodePlex and submit it to the competition.

Currently, my submission includes (except old Vista Battery Saver and Windows Live Writer Plugins):

Later I’ll submit my other applications (first I have to make it’s code to looks “submittable” :) ). This will include generic plugin based free hosting upload tool, some applications for Windows Mobile, some Time Tracking applications and others. Keep tracking

For more information about OpenUp, visit its website

Vote for me and see you in PDC

image

Localization fix for SAP ES Explorer for Visual Studio

A couple of days ago, new great product [PDF] was released by SAP together with Microsoft. It named SAP Enterprise Services Explorer for Microsoft .NET (you can download sneak preview for free). It come to exchange
SAP.NET Connector and enables to use SAP Enterprise Services as regular Web references or WCF services. This product still in beta, however there is already major issue – it does not work in localized version of Visual Studio. Neither 2005 nor 2008. Why this happens? The reason is simple. Visual Studio always asks for localized resources for addins and there is no way to work around it.

From one hand, it’s bad, that such global company as SAP does not want to localize it’s products. From the other hand, there are very few developers, who working with localized versions of development environment. Anyway I started to look into the product to understand what has been done by developers. Oh, my god. They put resources into GAC. How to get them out there?

Actually, GAC is regular windows directory, that exists in %windir%\assembly\GAC\ or %windir%\assembly\GAC_MSIL\. But smart Windows replaces regular Explorer view by customize ActiveX. This does not mean, that you cannot pick files from there. To prove it map GAC folder to another disk. From command line run following command “subst z: %windir%\assembly\GAC_MSIL\“. Now you have your GAC mapped to network virtual drive Z

So, if it is regular directory, you can get files from there and put it into any place you want. But why copy it if we can use hard links?

What’s the hell are “hard links”? Hard links are symbolic links or symlinks, we know from Unix environment. Yes, you ca ln -fs in Windows :) To do it, you should use file system utility, named fsutil. Actually, those only pointers to real files in your file system. So, “fsutil hardlink create <copy> <original>” will do the work.

Now, when we know where to get those files and how to make symbolic links to them, we should know what versions of Visual Studio we have installed and what are languages of those products. To do this, we have to make a small trip into registry and look into HKLM\SOFTWARE\Microsoft\DevDic\VS\Servicing. There we will find node 8.0 if VS2005 installed and 9.0 if VS2008 installed. Actually, we can pick all necessary information there. Let’s see. This key build according following pattern: HKLM\SOFTWARE\Microsoft\DevDiv\[Product Family]\Servicing\[Product Version]\[Product Edition]\[Product Language]. That’s exactly what we need. But what are possible values?

  • Product family
  • URT – .NET framework
  • VB – Visual Basic Express
  • VC – Visual C++ Express
  • VCS – Visual C# Express
  • VJS – Visual J# Express
  • VNS – Visual Web Developer Express
  • VS – Visual Studio (all versions)
  • VSTF – Visual Studio Team Foundation Services
  • Product version
    • 8 (or 8.0) – 2005
    • 9.0 – 2008
  • Product Edition
    • VSTD – Standard
    • PRO – Professional
    • VSTS – Team System
  • Product Language
    • Integer of Culture identifier (or other words LCID)

    Now, when we know what versions and what languages are installed we should detect where Visual Studio is installed. In this case, we’ll need another registry key “HKLM\SOFTWARE\Microsoft\VisualStudio\“. Under this node we’ll find again 8 or 9 and then value “InstallDir”, that, actually, tells us where the current version of Visual Studio is installed.

    Last thing to remember, that Visual Studio looks into it’s root directory (that we detected in previous step) for directory with two letter ISO language code and resources there.

    At this point we know all necessary information in order to work, so we have our program ready. You can, even download and use it :)

    image

    So, after running and clicking “Apply fix” button (if possible – you have SAP ESA Explorer and localized version(s) of Microsoft Visual Studio), we can start using this great product in any available version of Visual Studio. In English of cause)

    image

    Have a nice day and do not forget, that not everyone work with English version of development tools.

    Download Localization fix for SAP ESA Explorer for Visual Studio 2005 and 2008 (no installation needed – just unzip and run) >>

    Deep Zoom composer for download

    One of best technologies, presented at Mix’08 was HardRock Memorabilia. It uses technology, previously named Seadragon to adapt image resolution and size to what you’re currently viewing. It montages number of images in different resolutions and then dispatches them upon your request. Take a look into Silverlight 2.0 poster, created by Joe Stegman

    Now, the million dollar question, how to use it in my application? Simple just download and use it :)

    Download Deep Zoom Composer for Silverlight>>

    Web editor performance fix for Visual Studio 2008

    After VS2008 was released, there were a lot of "buzz" from web developers, that complain about bad performance of new HTML editor, especially with large HTML and JavaScript pages.

    Today Web Tools team of Visual Studio released patch, that fixes those issues

    1. Freezes while typing in page with custom controls
    2. Conversion between source code and designer view
    3. Very slow behavior, while opening large HTML document
    4. Visual Editor stops response with big HTML files
    5. And more performance oriented issues.

    You can download and install this patch from here.

    Hope it’ll help some of you.

    My Windows Mobile does not sound alarms / my Windows Mobile alerts whenever it want to alert

    Many of Windows Mobile users are suffering from different problems, related to clocks, alarms and reminders. This problem exists almost in all Windows Mobile systems (Windows Mobile 2003, WM5, WM6, etc).  Why this happens and how to take care on it?

    There root of this problem is something called "Notification Queue". The main propose of it is to run tasks and activate alarms and reminders at scheduled times, particularly when the device is in standby or low power mode.  There are a lot of problems with this module – troubles with alarm and reminders, which not working, or, alternatively, playing not in time after device reboot.

    There are some bugs, reported to Microsoft and one of topmost requests from the next version of Windows Mobile is to produce more reliable alarm clock. 

    For some reason, there is very little information about working with notifications queue in internet. There is absolutely no information about it in MSDN. And a lot of misinformation all over the network. I gathered up all I can from anywhere and now, I know what the cause for problems with alarms, alerts, notifications and reminders in Windows Mobile systems. I also learned how to fix it.

    The root problem of notification queue is duplicate entries, produced by different applications, such as clock, ActiveSync, Alert, missed calls notifies and more. Windows mobile has no tools to treat this problem.

    I build such tool and called it AlarmFixWM. It scans your Windows Mobile system for duplicate entries in notification queue and eliminate them. All you have to do, is do download it, put it into one of directories inside your mobile device (no installation), then run and hit Scan button. The program will do all the rest.

    image

    If you are not suffering from problem, related to Windows Mobile alerts, do not use this application.

    I’d be happy to hear your feedbacks (also, if you want to learn more about this problem, you can ask me). And don’t forget to backup your device before using this program!

    Are there other tools, doing the same work? Yes, there are two: MemMaid and SKTools. Both are commercial and doing much more (cleaning your device inside). If all you want, is to get rid of wrong or not occurred alarms, AlarmFixWM is all you need.

    Download AlarmFixWM (12.1k) >>

    Recommended

     

    Sponsor


    Partners

    WPF Disciples
    Dreamhost
    Code Project