Tuesday, December 28, 2010

G

The first impression of the new Android cookery called "Gingerbread" - definitely do not like it.
It slow as hell, ugly black, nice round corners of buttons now straight and sharp.
Why everything becomes worse???

Wednesday, December 22, 2010

IIS Authentication

By default, there are only three kind of authentication: Anonymous, ASP.NET and Forms in IIS7. Old good (?) Basic/Digest/Windows Authentication are not available.
To make them enabled, go to the roles in "Server Manager", in the context menu choose "Add Role Services". Enable the desired Authentication features.

Monday, December 13, 2010

IIS7 in maximum application security mode

When IIS7's application pool is set to use the "ApplicationPoolIdentities", the system dynamically creates an user with the name as "IIS AppPool\< application pool name >".
This user is not listed in the right assignment dialog's "Find" feature, but can be entered manually to setup the permissions (Or use the icacls command, like ICACLS folder_name /grant "IIS AppPool\DefaultAppPool":F ). Also, this user in the "IIS_IUSRS" group, so, by assigning the necessary permissions to the group it gives the same rights to that user as well.
To send SMTP Email using CDOSYS object, need not only to give the writing rights to the "Mailroot\Pickup" folder, but also то give the read right to the metabase's "IIS://LOCALHOST/SMTPSVC" and "IIS://LOCALHOST/SMTPSVC/1" to let the CDO know where the pickup folder is.

Sunday, December 5, 2010

the. curse

I wish the one who invented to use the capacitive toouch screens in mobile devices burn in the hell forever.
Published with Blogger-droid v1.6.5

Tuesday, November 23, 2010

FF suxx

FF 3.6.10 has a bug -
new window, opened by window.open()
sometimes has its own set of cookies!
I always knew, firefox is a garbage.

Friday, October 22, 2010

RDP taming

If on a 2003 server the remote desktop service (RDP) is not working, check the following:

1. Any firewall (windows or third party) is not blocking the port TCP 3389
2. Issue command "netstat -an", search search the output for the TCP port 3389. If it there, try to telnet to the port 3389
3. Terminal service (TermService) is running (it cannot be stopped or started though, that's impossible by design). Check also the "Terminal Services Manager".
4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections must be (0) to accept connections.
5. Try to delete and then recreate the rdp connection under "Terminal Services Configuration" (Reboot the server on each step). Bind it to a valid network adapter.
6. The "Enable Remote Desktop" is checked in the Remote tab of the "System" item of the Control Panel
7. Restart the server once more time.

Thursday, October 21, 2010

UDP harrasment

After some silly anti-sniffing patch update, Windows 2003's DNS service starts to allocate 2500 UDP ports which such a huge number comes to conflict to other services using UDP.
To reduce the number of UDP ports, edit the following key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters\SocketPoolSize
then restart the DNS service

Monday, October 18, 2010

wp7

WP7-specific limitations

* No system-wide file manager
* No Bluetooth file transfers
* No USB mass storage mode (!)
* Limited third-party apps availability
* No Flash or Silverlight support in the browser
* Too dependent on Zune software for file management and syncing
* No video calls
* No custom ringtones (!)
* Music player lacks equalizer presets
* No multitasking
* No copy/paste
* No DivX/XviD video support (automatic transcoding provided by Zune software)
* No sign of free Bing maps Navigation so far
* No internet tethering support


What this garbage is good for, after all?

Monday, October 11, 2010

URI vs. URL

Finally, I made it clear for myself - the difference between the terms "URI" and "URL", at least this explanation makes sense for me:
URI - is an some object's identification, which can be written in the following format:
schema://authority/path/name

URL - is an URI by which one can really obtain a resource from an Internet/intranet site.

Thursday, October 7, 2010

speed up

To accelerate the keyboard repeat rate use the following program:
http://bandwidthcontroller.com/Keyboard King/

Thursday, August 12, 2010

a tweak

Android browser can be switched to adwanced settings mode, just type in the address bar: "about:debug".
In this mode you can change the UserAgent string to desktop or iphone in the browser's settings.
Some sites provide their mobile version only when they see the iphone UA string, not the one android sends.

Wednesday, August 11, 2010

map soft for Android

Out of two offline map competitors - the Rmaps and the Orux maps
I've choosed the second. Rmaps has been uninstalled, bye bye.
Here is why:
1. Tracks recording. In Orux it's a much more advanced feature.
2. Custom jpeg map creation ability. There is a program which lets you take any jpeg and use it as a map in Orux.
3. Orux has first little confusing, but much more advanced UI.

video player

To play video on a web page, the FlowPlayer (http://flowplayer.org) works good.
To dynamically change the video, first, a play list could be created:

<a id="player" style="display:block;width:520px;height:330px" ></a>

<script>
var player_obj = flowplayer("player", "flowplayer/flowplayer-3.2.2.swf",
{
clip: {
baseUrl: 'http://host.com/Test/Videos/',
autoPlay : false
},

playlist: [
'clip1.flv',
'clip2.flv',
'clip3.flv',
'clip4.flv'
]
});
</script>


and then select a clip to play by the following command:
player_obj.play(n); // n - the index in the playlist

To convert the video to .flv format this free converter could be used:
http://www.brothersoft.com/cool-mp4-to-flv-converter-229933.html

List of available converters (some paid):
http://www.brothersoft.com/downloads/mp4-to-flv.html

Thursday, July 29, 2010

rank earned

Cool, now I'm a Wizard on the experts-exchange site!

Wednesday, July 28, 2010

Security asshole

To remove elevated right requirement from a folder in a windows 6+
you just need to add the "Modify" rights to the group "Users".
That's it.

MSXML error

Suddenly an attempt to instantiate a "Msxml2.ServerXMLHTTP" object on a workstation begin to lead to the "ClassFactory cannot supply requested class" message.
Just "Msxml2.XMLHTTP" works though.


Monday, July 19, 2010

IIS tricks

I wrote a VBscript to automate IIS7 setup to use with ISAPI extension.
It creates absolutely the same XML node in the global config file as if I add the handler
mapping manually via the UI. But if I add the mapping manually, the
server works as it should (loads and calls the extension's dll, (does
not matter the requested file exists or not)), but if I use the script
like below, the server sends the file back to the client (if the file
exist) or returns the 404 if the file does not exist.


const TrgExt = "*.sxt"

const waDll = "myISAPI.dll"

Dim adminManager
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
call AddHandlierMapping( adminManager, "C:\app_folder" )

function AddHandlierMapping( adminManager, path )
On Error Resume Next
Err.Clear
Dim handlersSection, handlersSectionCollection, addElement, addProperties
Set handlersSection = adminManager.GetAdminSection("system.webServer/handlers", "MACHINE/WEBROOT/APPHOST")
Set handlersSectionCollection = handlersSection.Collection
Set addElement = handlersSectionCollection.CreateNewElement("add")
Set addProperties = addElement.Properties
addProperties.Item("name").Value = "Tree"
addProperties.Item("path").Value = "*" & TrgExt
addProperties.Item("verb").Value = "*"
addProperties.Item("modules").Value = "IsapiModule"
addProperties.Item("scriptProcessor").Value = path & "\" & waDll
addProperties.Item("resourceType").Value = "Unspecified"
addProperties.Item("preCondition").Value = "bitness32"
handlersSectionCollection.AddElement( addElement )
adminManager.CommitChanges()
end function


What's wrong? The answer - the order.
The
AddElement() should be called with the second parameter which is the position in the list:
handlersSectionCollection.AddElement( addElement, 0 )

Saturday, July 10, 2010

mime action sending

Found a bug in Android API. In the following code,
if the file name has a space character, the result mime is null.

File f = some_file;
String mime = null;
MimeTypeMap mime_map = MimeTypeMap.getSingleton();
mime = mime_map.getMimeTypeFromExtension( MimeTypeMap.getFileExtensionFromUrl( f.getAbsolutePath() ) );

Also, there is another problem. Even though I pass the correct mime type along the file stream calling the Intent.ACTION_SEND activity, the resulting email has the file section without any "content-type" field!

Wednesday, July 7, 2010

Curl

curl is a very powerful utility. It even can upload a file to a FTP server (-T option) and it's possible to create a directory on the remote FTP folder by sending an arbitrary command:

curl ftp://server/existed_parent_folder/ -Q -"mkd new_subfolder_name"

Here "mkd" is the server's command.

To know the list of the server commnads, execute:

curl ftp://server/ -Q -"help" -v

Monday, July 5, 2010

A taste of Froyo

Finally my N1 has been upgraded to version 2.2 "Froyo".
The download of 44Mb was completely stealthy - no idea when it took time to do that, at least I did not notice anything (WiFi is turned on only time to time). Hope it did not used the cell network, or else it will cost me a lot.
Here's what I like and what I don't about the new version:
1. + Like the phone button on every home page. It covers the lack of the hardware phone button a little (what a stupid idea - to remove the phone button from a phone?)
2. + Flash in browser is a cool addition! Expected it instantly, but it turned up I need to install the Adobe Flash application from the Market.
3. +/- The applications screen now autorotates in both directions - to the left and to the right. It'd be better if there be an option.
4. Number of last used application icons is increased to eight. Big achievement!
5. Autobrightness mode is added to the control bar. Not sure.
6. Moving apps to the SD card works, but I don't need it, at least now.
Now about the bad:
7. The Skype application stopped working properly. I had to remove the battery twice after the phone's completely freeze. Even if it's a Skype problem and has been already fixed, because the application is not on the Market anymore it's impossible to make the update.

Friday, July 2, 2010

VS update

An old computer has a Visual Studio 2005 without latest update (VS80sp1-KB971090-X86-INTL.exe). This update is necessary to let the system libraries be version .4053
But update did not want to be installed and even the studion did not want to be reinstalled.
Here is the solution: remove the following registry keys:
HKLM\SOFTWARE\Classes\Installer\Products\0E8BA73496BF22242B086AF4D32E5219
HKLM\SOFTWARE\Classes\Installer\Patches\C7C9F39D75BA8C44AB6D414976B4AC7F
and then reinstall the studio and the update.

Also, the previous experience says you need the Swap file be on to allow the VS update be installed. Weird, but true.

To install the update, instead of "Windows Update" you can use the "Microsoft Update" which checks the updates to download for all Microsoft software installed, not only the Windows' itself.
To install the "Microsoft Update" need to go to the "Windows Update" web site and look the installation link on the page.

Thursday, June 17, 2010

Upgrade

Hooray, I'm doing an upgrade my work machine!
Last time a significant upgrade was seven (duh!) years ago.
But if you don't run some crap like Windows Vista, it's ok.
So, now I have:
1. Gigabyte GA-P55-USB3 (rev.1) motherboard. As seen from the model name it bears the latest USB3 controller on it. I don't have any USB3 devices yet. But it's cool isn't it?
2. Intel Core i5-750 (Lynnfield) 2.66GHz Quad-Core Processor. Why all other i5 processors except this one are double cored?
3. 4GB (2x2Gb) G.Skill Ripjaws DDR3 (PC3 10666) memory. (F3-10666CL8D-4GBRM)
4. XFX GeForce 8400GS PCI Express 2.0 x16 Video Card (fanless).
5. CORSAIR CMPSU-450VX 450W Power Supply (very good package).

I chose this motherboard not only because it has USB3 (actually I don't care about it), but because it is simple yet powerful and hopefully reliable. It has only one PCI16 socket, no extra whistles, PATA port (JMicron) and even an old good floppy drive port! I'm going to keep the same OS which is Windows v5.2, on the same RAID set, so I need an easy way to install the new ICH9 driver.
The fight for life of the current RAID installation is still ahead of me (probably on the weekend). But now the system is assembled in an old borrowed case, it works with a freshly temporary installed Windows v5.2 on an old (borrowed) 9Gb hard drive and it works fine and smooth and even has survived a number of stress tests.

Now, about some issues.
1. Another similar system was not able to boot old Windows XP.
2. Memtest86 v3.5 goes to reboot if both DIMMs are installed. It's the Memtest's issue, as the internet says, because it does not work with 4Gb memory. Older memtest v3.4 works fine.
3. Memory timings of the memory I bought is declared as 8-8-8-21, but the system auto setting was 9-9-9-24. I set the timings manually to 8-8-8-24, it seems it works.
4. The videocard's heat sink is hot as hell. 70 degrees in idle. I'm not going to play games, but still it's a lot.

Speaking of the temperatures.
Idle MB's CPU is 31C, under load is 71C.
Idle CPU core is 41, under load 80C
Everything else is cool.

Performance:
Everest's CPU Queen gives me 8700 points. It's funny, but accordwing the score, Core2Extreme 2.6GHz still beats it.

Installation procedure:
I find out the 1156 socket CPU does not have holes on it, it has just contacts. I was sure the 775 socket CPU had holes. May be I was mistaken.
The CPU fan sink is light and small and set easily, much easier then 775's huge heavy sink.

Stage 2.

Ok, now is time to migrate the current system (MS Windows v5.2) to the new platform.
Two major problem I mostly afraid of are:
1. Will the existed RAID0 set be recognized by the new platform
2. Will the windows run on it.
The firs one was resolved instantly. As soon the RAID controller is Intel made
it's compatible, at least in one direction. So the set is created on ICH5R was recognized instantly on the motherboard with ICH9 (P55 chipset). All I need to do is set the RAID mode to the SATA controller in the BIOS setup.
The second was not so easy. Windows started to boot but suddenly restarts computer, same way as XP did with another case.
Not thinking long I started the repair procedure, providing the floppy drive with the ICH drivers. After the repair had done, the windows loaded succesfully.
But the repair procedure brought me some more problem: Internet Explorer 8 was gone. Windows SP2 was gone. Many other MS made utilites were not functioned as well.
Also I had to reactivate Windows because the hardware was significantly changed.

Thursday, June 3, 2010

windows sudo ersatz

To see if a process is executed with elevated rights or not: open the Process Explorer (as Administrator), find the process you need to check, then open the property's Security tab.
If the "BUILTIN\Administrators" record says "Deny" - that means the process is standard,
if it says "Owner", then it's elevated.

IIS's pool process (w3wp.exe) is executed elevated, so no need to worry, but need make sure if the application pool is running as "LOCAL SERVICE", that "LOCAL SERVICE" have rights to the resources the web application need access to. Also to give it more rights, in the web application setting check "Same as the application pool".

Sunday, May 30, 2010

The Dialog pain is to end!

Android API has one unpleasant feature which significantly spoils the pleasure of the development: No way to pass a not constant value to dialog after it recreates on a screen rotation.
Here is a workaround: disabling to stop the activity on orientation change.
It saves a day, thanks so much!

Tuesday, May 18, 2010

Meanwhile

My Nexus One has retired. Again. Hopefully the HTC will send me another replicant soon.
While waiting it back I decided to change the system to a Tattoo on my old good Kaiser because I get tired of that blurry resized image and already get used to the sharp and crispy off the Nexus.
Tattoo system has the same resolution as Kaiser - 320x200, so it should fit.
The install process went smoothly (I took the source from here). Then I found the Wi-Fi does not work. I took an update from here, but standard /sdcard/andboot/androidupdate.tar update did not help. Comparing I found out the sysinit.rc is still different, and placed it manually. Then WiFi started working.
Current issue - the market client can not connect to the server, throws
DEBUG/vending(5478): com.android.vending.api.FatalCommunicationException: Sent a bad request.

Repair update: HTC sends the replacement phone overnight in the same day as they receive the broken one. Outstanding!

Wednesday, May 5, 2010

tactile fail

Bought a new expensive screen protection film from skinomi.com
I say that's sucks. It's polyurethane made and rubberish, not slick and bubbles
are still there although I did everything what the instruction says.
I wish I just bought six those cheap instead for the same money, the ones I bought previous time which feels much better and I could change them each time in the case they peel off.

Monday, April 19, 2010

need features

C++ need to be improved at least in two things:
1. An ability to call the base class constructor in any place of the derived class constructor, not only in that special section.
2. An ability to declare the overridden virtual method explicitly, to let the compiler verify is there a corresponded base virtual method.
3. Separate read and write data members protection.

Tuesday, April 6, 2010

Speak up!

I hate Microsoft - because they think only how to wide up the buyers mass, not about the quality of the products. They ignore common sense and needs of IT people favors only crowd of users.
I hate Apple - because of hordes of followers not only among the end users but also the competitors.
I hate GNU - because I believe they disfigured the common sense about the idea of paid software.
I hate touchscreen PDAs and smartphones - because I'm not an octopus and not Davy Jones.
I hate priests - because mostly they are fat corrupted liars .

Web Browsers nightmare

There is a problem exist with modern web development. For somebody it may be not a problem at all, but I'm blocked up by ....... and have to face it. The problem is the coexisting of the web server session management and multiply open browser's tabs/windows. Each window should have its own session on the server. When a new window opens, the new, its own session has to be created.
It would be said loud, it's not a problem at all if browser's url contains all necessary information about what actual data is being browsed/edited. But sadly, not in this case.
I wonder, what the W3C thinks about that? They invented the sessionStorage object which is supported poorly (IE, Opera) or is not supported at all (WebKit) by modern browsers.
It seems my vision and needs are in contrary with the browser developers'. For instance, Opera has a feature called "clone tab", which creates an exact copy of an existed tab, of course with the sessionStorage object same values, ruining all my efforts to achieve independency of tabs.
Despite some advantages of the sessionStorage object it does not allow to solve the problem of independent session.
It's pity, to solve the problem it would be enough one simple extension to browsers API - session cookies stored separately in each window or tab.

Sunday, April 4, 2010

Exception fight

Yet again that java.lang.IllegalStateException occurs with "The content of the adapter has changed but ListView did not receive a notification".

Looking on the platform source, I see the following:

This is thrown in the ListView.layoutChildren() when adapter's getCount() is not equal to AdapterView<>.mItemCount.

AdapterDataSetObserver in an inner class of AdapterView<>, it assigns the AdapterView<>.mItemCount in own method onChanged() taking the value from the adapter (AdapterView.java:778).

An AdapterDataSetObserver instance is AbsListView.mDataSetObserver, created in ListView.setAdapter()

Where that onChanged() called from? It need to be called before the adapter starts reportn the new count number. I see it's called only on some header/footer adds and removes in the ListView class.

mDataSetObservable is created in BaseAdapter and notifyDataSetChanged() passed to it.

Assuming those objects are related, I just need to change the data in adapter in the UI thread on completion and then call notifyDataSetChanged()

Wednesday, March 31, 2010

Capacitive solution

Got a package directly from HongKong ordered at cellphoneshop.net
This store is good, selling cheap accessories and ships it right from Asia shores.
So, now I have a capacitive stylus and a protective screen for my new Nexus One.
The stylus is very weird, its rubber tip is not sharp ended at all and you need apply it strictly perpendicular to the screen surface, or else it won't work. At least it allow type more easily taping the screen, but almost impossible to use it to drag something.
The protective screen package's instruction is just four tiny not discernible pictures, so I did not understand their meaning and did something wrong left some areas not firmly attached and also I scratched the screen a little trying to use the special included little card which I assumed supposed to smooth out bubbles.
The protective screen has not protected itself from scratches...
But! The new surface feels so good! I like touch it and no more greasy traces!!!

Tuesday, March 30, 2010

unit replaced

Received replaced "Nexus One" from HTC. Gosh, that was swift! They used an overnight FedEx in both ways, and I got a working phone back in two(!) business days.
HTC customer service is outstanding!!!
Thank you HTC and thank you Google!

SeaMonkey 2

Google docs site stopped working with old version (1.x) of SeaMonkey browser, but newer version (2.x) is not compatible with the theme pack I made. The default one looks ugly. So I postponed the upgrade.
But recently I found out there is quite pretty theme for the new SeaMonkey available.
So, now I'm with 2.0
One major difference is discovered - it does not keep a process in the memory anymore, loading each time fresh. It loads pretty fast, though.
Another problem - they have reversed the mouse wheel direction and have not provided any option. What a stupid decision! I scroll the wheel toward myself because I want see the page context closely, but in this version the content becomes smaller. Another case when stupid majority overruled a common sense.

Upd: In this case I was stupid. I've found how to change the direction and it's exactly how it was suggested. The only difference, I should do it using the UI dialog, not by the about:config preferences.
So, to reverse the zoom direction need to uncheck the "Use system default" checkbox and enter the "-1" value to the "Scroll the document by" input field. That's it.

Monday, March 29, 2010

Beware - Nexus One!

If you don't have unlimited wireless internet access, - BEWARE!
Nexus One's default installed widgets download more the 8Mb of data right after you turn the device on.

Wednesday, March 24, 2010

The good news and the bad news.

I got my free Nexus One from Google delivered today!!!
Thank you Google!
It'd be more great if it worked, but it reboots each time I'm trying to turn on the Wi-Fi. :(

Thursday, March 18, 2010

Titans fight review

Recently I switched the provider from Comcast to Verizon. Here are some Pros and Cons:

  1. +/- Verizon promotion seems cheaper, but in reality, it's actually not. With all those fees and charges and losts, there is not much you can save.
  2. + Only for 5 bucks more you have a service which let you watch a recorded on any device in your home.
  3. +/- Verizon gives you a new router, it probably more powerful than your old one, but you need do all the settings again. And many things just impossible to do, such as to bind a MAC to an IP.
  4. + The router box is a 64 bit Linux machine. :)
  5. - The Fiberoptic network terminal takes some extra Ampers from your's home electricity.
  6. + The phone local network is connected to the terminal, no need a separate wire from the cable modem to a phone socket.
  7. - TV boxes rely on the Internet access. I f you turn off the router, the TV probably won't work.
  8. + TV menu is more convenient (but still not perfect)
  9. + CC can be turned on just from the remote. Don't need to turn off the box to enable or disable it.
  10. + The remote looks and feels better.
  11. --- You can not just switch tuners, you need to put one program to record and then switch to another one.
  12. + You can browse and record programs from any internet-connected computer or a cell phone.
  13. - Some good base package channels just do not exist in the Verizon even extreme package.
  14. - You can't (not recommended) to choose a local IP network address as you wish. It should be 192.168.1.0
  15. - The remote control does not let you turn on or of the box and the TV set separately.
  16. - Verizon claims the speed should be 25Mb/s, but actually, it just 5Mb/s, slower, then Comcast, which gave 7Mb/s.
  17. http://www.verizon.net site is made bad.

Get rid of Symantec

To uninstall a Symantec product (if it can't be uninstall by regular Add/Remove Programs procedure), try download Symantec uninstaller.

Office Cure

If M$ Office's Word does not start or starts too slowly, check how fast it starts with the "/a" option, like:
winword /a
In this mode all the add-ins and the templates do not apply.
If that's true (fast start with the /a), then:
Try to rename ~\Application Data\Microsoft\Template\Normal.dot (and probably the similar in that folder).
Go to Word's options dialog->add-ins, and try to disable all suspicious active add-inns.

Monday, March 15, 2010

Good bye windows!

I've decided to install Android in NAND. Anyway, if I need GPS I have a dedicated Garmin.
And probably, it's not a problem to flash windows back if I need it.
To do the move without (lost the current system) did the following:
1. Store both system and data in androidinstall.tar and placed it to /sdcard/andboot
2. Download a correct nbh (for AT&T Tilt (KAIS100) suits kaisimg-panel2-428-tilt-12-03-10.nbh). I used panel=0 in the default.txt, but there is no panel0 file. (Panel1 is not correct, it gaves me bad image). Renamed file to /sdcard/kaisimg.nbh
3. A hard reset: erased windows data first (Settings/System), then by holding the both soft buttons and pin the reset hole, then agreed with the question to do it.
4. Flash the nbh: holding the camera button, pin the reset
5. Remove the battery and reboot to the flashed Linux kernel and the init script.
6. Press the Dpad center key to enter the installer. Select "Install"
7. The /sdcard/andboot/androidinstall.tar is unpacked to /, populating mounted /system and /data
That's it.
Problems:
1. NAND gives me only 128Mb of free space compare to 256Mb partition I had on my SD card.
2. Some programs refused to work on the new place and I had to reinstall them. I assume that because some data was lost because of few free space during the unpacking.
3. I need to remove the battery each time I reboot, or it does not boot and there are lots of messages like "IRQ but nothing to do".
4. I still don't know did I do right, placing the data partiton in NAND. It supposed to be faster, isn't it? But actually I don't see any differences.
5. I still can't mount the device on my PC as an external drive nor mount SD card back if I removed it.

Need to find out how to make it use the data partition back on the SD card.

Saturday, March 13, 2010

Android life cycle

There is a difference between v1.5 and v2.0
When an application goes to the background and returns back onSaveInstanceState()/onRestoreInstanceState() are not called on v1.5

But on a screen rotation they are both called.
onPause()/onStart() are called in all the cases, always.

Saturday, March 6, 2010

I got the confirmation!

I've just got an email from Google, they have verified my application an promised to ship a free Android phone in 2-4 weeks.
COOOOL!!!!!!!!

Wednesday, February 17, 2010

SD partitions

Here is a SD card with one Fat32 partition and another one ext2 partition.
Windows 5.x machine reports only about the first Fat32 and of course does not recognize the ext2. Using an utility called dskwipe, we can see the list of partitions as Window sees them:

C:\>dskwipe.exe -l
one of the lines will be the SD device name (0 here - the whole device, 1 - the first partition):
\Device\Harddisk1\Partition0

To access to the ext2 partition from CoLinux running atop the Windows we need to do the following:
  1. Add to the colinux.conf the following line
    cobd1="\Device\Harddisk1\Partition0"
  2. Load CoLinux and run fdisk /dev/cobd1
  3. Press 'u' to switch to block counting mode
  4. Press 'p' to output the partitions
  5. Write down the starting point of the ext2 partition multiplied by 512, say it will be 17754534912
  6. Setup a loop device:
    losetup -o 17754534912 /dev/loop1 /dev/cobd1
  7. Check the file system integrity:
    e2fsck /dev/loop1
  8. Mount the partition:
    mount /dev/loop1 /media/sd_ext2

Sunday, January 3, 2010

Windows utils

Some command line utilities I have learnt (again).

To test the originality of the system files:
sfc /scannow


To configure power setting if the powercfg.cpl UI can not be started:
powercfg.exe

Acer laptop brings troubles.

It can be called as a known fact, Windows on Acer's laptops stops working when the battery becomes weak. Nobody knows why, but the keyboard and the touchpad do not respond at all.
A solution for that - boot windows with removed battery and disable ACPI driver.

Also, acers have a hidden recovery partition, which should be accessible on Alt-F10 combination after the POST has done its job. But if the MBR record is overwritten, it's no longer there.
One can carefully restore the sector, it's template is located in a hidden partition's file (/ACER/TOOLS/RTMBR.bin). The file does not contains the partition table, so it should be taken from the existing MBR sector (back up it anyway).