Posts

Showing posts from 2018

Sailfish OS update v. 2.2.1.18 Nurmonjoki

Image
Yet another update!

Marshalling/unmarshalling struct containing array of structs

While handling a change request I stumbled into this very peculiar scenario. I had a structure which had array of structs and I had to read/write this in a file. So to and from buffer conversions, I knew marshalling will be most effective. I had previously used it very effectively for CAN communication. So I had to google a bit n found how to handle this peculiar case. Below is the code. [StructLayout(LayoutKind.Sequential)] public struct tagX { public UInt32 a; public UInt32 b; } [StructLayout(LayoutKind.Sequential)] public struct tagY { public UInt32 x; public UInt32 y; [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct, SizeConst = 20)] public tagX[] stX; } To initialize this: tagY stY = new tagY(); StY.stX = new tagX[20]; // Ensure size of array is equal to size const supplied in marshalAs directive. Then on this object we can run marshalling / unmarshalling routines.

Adventure with ZTE Blade C (ZTE V807)

Got hold of the ZTE Blade C after almost couple of years. Last thing I remember doing with this phone is flashing shit load of custom roms and then none of them working out the way I wanted. Every ROM had some issues. The last one I flashed was called PNG v5 and had a battery bug - but that may have creeped due to some other offbeat roms I flashed earlier. Anyway, coming back, what I wanted to do was to get this phone back to Stock state.    Unfortunately being 4Year old I could not get anything. First I started with ZTE's official website, but it's down due to US sanctions. Actually I had almost all the tools but stupidly I deleted about six months back.    Anyway so I started digging around to find a stock ROM. Needrom came through and I found someone's ROM backup there. To download that I'll need SP Flash tools and since I formatted my laptop a year or so back, will need MTK USB and MTK PreLoader drivers. Ok, took me couple of days of hunting around the net to get ...

Paytm games

I am not on any digital payment bandwagon. In fact I started using debit card only when the merchants stopped charging the stupid 2% transaction charge. And since I'm cautious about my money I have stayed away from payment wallets and the new app based payment methods.  I primarily use cash for small payments. And shop where the merchants don't charge extra for using debit card. Anyway last week I tried to use Paytm app. It's a popular payment app. Many of my friends do use it for small payments. My feedback from them was positive, so I decide to take plunge. Also another major reason was - paytm food wallet.  In india we get about 50Rs per day tax free out of salary for food. This you can collect monthly as Sodexo coupons. If you don't take sodexo coupons then this becomes taxable and you lose 10/20/30% depending on your income bracket.  Anyway, coming back to Paytm, I tried to install the app. My poor panasonic was not a match - google play store said - device not com...

Sailfish OS update v2.2.0.29 Mouhijoki released

Image
I installed the update yesterday. I had to go via ssu re and version --dup route since its not yet available for AquaFish. Anyway the download was having issues. It gave up the first time after downloading about half the things after nine tries. I once again fired upbthe same command. And this time it was done. I rebooted the phone. And on restart I was on 2.2. Overall there are not many big changes -mostly bug fixes and enhancements. Only bigger change is with fullscreen view of gallery items. Now they open in a new popup and you can swipe left right in this same popup to see next or previous image/video in fullscreen. I noticed slight lagging when the new image is displayed. But overall the usability improvement is good. There are many other small improvements that polish the apps further. I did not notice any slowdown or performance issues in this one day. Lets hope it keeps going as smoothly. Thats it for now. Adios!

About the three kind-of crappy phones I have...

I actually have four phones with me right now. They are in order of age - Nokia C5-00 5MP, Karbonn Titanium S1 (re-badge of Cherry Mobile S1), Panasonic T44 and Intex Aquafish. Sometimes I think that if I sold these all, then I can afford a decent mid-range mobile. But they each have their own character points due to which I find hard (or in case of Carbonn Titanium S1, since it's junk,) impossible to part with. I mentioned 3 in title because, the Nokia I can't use anymore even though it supports 3G and can technically still be used, is not smart. it does not have whatsapp or any other apps for that matter. Google contacts can almost not be synced with it. And ultimately it's just a glorified MP3 player right now. As to the Karbonn Titanium S1, it's a phone that I bought in I think Oct 2013. It's not dead yet is a miracle. Though looking at its current condition - power button almost dead, screen with white lines and it's ancient Qualcomm S4 play chipset is just...

ZTE is not shutting down anymore....

Apparently Donald Trump cares more about Chinese jobs than American, and so in exchange for a dowry of about a Billion $s, ZTE is being allowed to keep the shop open!!! Three cheers for capitalism!!!

ZTE is shutting down due to sanctions...

It was a striking news. ZTE is indeed shutting down major operations due to US sanctions. We have a Nubia Z9 mini in house. So I'm thinking what effect could it have on this phone? Thankfully it's already served us about 2.5Yrs and with recent reset of stock firmware, it's going well as my sister conveyed. I have also given my sister a flip cover for decent protection. So it looks like the phone should last another year. I had doubts about the internal battery, but so far it's going decent. The health is around 80% which is not bad at all. But this is a good lesson in purchasing hardware. I guess I'm not buying any Huawei hardware anymore, since they are also named in a number of spying and data theft scandals. Thankfully with the vibrant phone ecosystem, that still leaves us a number of options like Samsung, LG, Sony etc. And then there are smaller players like OnePlus etc. I'm thinking what about Xiaomi? Has anybody found if they are spying on the customers? I...

An Upgrade report on Ubuntu 18.04

I had Ubuntu 17.10 on my Office Laptop. And I managed to get couple of hours of free time on my hands. So decided to upgrade it. I had 2-3 DE's on it i.e Unity, Gnome, Mate etc. The upgrade went well. It downloaded ~2300 packages and took about 45 minutes to wrap up everything. Of course I had quite a few things installed. Then I rebooted and used it for 3-4 hours. I am pleased to tell that almost everything works fine. It has even retained Unity and it's working fine via Unity session. The Ubuntu session loads Unity themes Gnome. It's mouse movement is a bit wild, but it's smooth. Of course not as smooth as Unity but still good enough. Everything else is good. Congrats Canonical on another solid release!

My favourite websites

1. ArsTechnica 2. The Verge 3. GSMArena 4. Fonearena 5. eSakal 6. Maharashtra Times 7. Distrowatch 8. Anandtech 9. LiveMint 10. Phoronix 11. Slashdot 12. Engadget 13. OMGUbuntu

The search for a better phone

There are so many great phones around at some great price-points right now. My current android phone Panasonic T44 is a totally budget affair. I got it for INR3200/- That's about $50. Thing is - it's quite enough for me right now. I can't game on it, nor it can do any heavy duty office work and because of it's limitations I just don't bother. The main issue is - because it's such a low end phone, I just can't think of using it for some things like taking photos when I'm out riding or use it for navigation(because it does not have inbuilt GPS). Anyway, the thing is with a better phone I could do all these things and more. I could game, could edit docs on the phone, basically do a lot more. And therein lies the problem. The mid-range phones don't do all these things well enough. And the phones that do all these things cost much more.  Plus there's the other issue of getting replacement batteries. With non-replaceable battery a phone is dead ...

Tips to optimize the battery life of your Android Phone

Collected this from below links: in.pcmag.com/smartphones/64040/feature/11-tips-to-boost-your-android-phones-battery-life https://www.techrepublic.com/article/10-tips-for-improving-android-battery-life/ https://www.androidpit.com/how-to-save-battery-life https://www.cnet.com/how-to/how-to-get-better-battery-life-on-android/ https://phandroid.com/improve-battery-life/ Battery life of your phone is almost always a pressing issue. That's why these days phone batteries have reached 4-5000mAh from the measly 500-600mAh back in the days of Symbian phones. Android is a heavy, feature-rich OS, but it sure is not battery friendly. Android was quite crappy in battery department till v4. But from then Lollypop and Marshmallow brought great changes in reigning hungry apps and bringing down overall power consumption of the Software part of the equation. These changes, coupled with modern hardware with efficient modems, and big batteries means the battery problem is almost non-existent these day...

C#.Net Static Linking Adventures

My app uses two DLLs - say Lib1 and Lib2 from a CommonDll folder. With normal linking these DLL's also need to be placed with App executable. But previously we have been providing only App exe only. Hence to keep the compatibility and to lessen deployment headaches, the above 2 DLLs will be statically linked in the executable. In .Net world this not so straightforward as setting a static linking flag in linker. Here we need to provide following steps. I have added the rationale for each step alongwith. 1. Add the DLL's to project as resources - preferably in a Resources folder. Go into these DLLs properties and change "Build Action" from "Content" to "Embedded Resource". Now the DLLs shall get embedded in the exe. 2. Provide a handler for AssemblyResolve event. This new handler looks for assemblies in Resources and if found, loads them there. This handler is like below: private static Assembly ResolveEventHandler(Object sender, Resol...

ROM adventures on Nubia Z9 mini

Remember this one I gave to my Sis last year... Well since last month it started giving problems. What happened was the phone would get stuck in starting apps phase and zombie out. Only way to bring it back from zombie mode is to factory reset from recovery. But after a few days, some things related to Google Play Services would update and the phone would zombie out again. Sister got fed up and gave me the phone to fix. So I went through a number of hoops to fix this issue and it's still not fixed. To start with, the phone ran Mokee ROM v6.0 - marshmallow based with open gapps. Now all this is about two years old - things from 2016. And it all worked fine for last two years. So what I did was reflashed everything and tried to see what's wrong. Worked fine till play services are updated. as soon as play services are updated, phone zombies out. Ok. Get new version of gApps. Got it but after clean flashing that too, no change. Same issue. So maybe the Rom is gone. So I download la...

.Net Solutions, DLL's, Build orders etc

Got to learn some new thinigs about Visual Studio today. Basically I wanted to build a library and integrate it into an existing solution.  Steps: 1. Open Solution, Add new project of type "Class Library". Then create namespaces, classes, static library functions etc. Build it. Build OK, DLL ready. Step 2: In other project ( where DLL is to be used), Add reference, Browse, Select Newly created DLL. Add using for DLL namespace. Call function in DLL. Call OK. Build this project.  Hiccup! Issue no 1: DLL project was using newer .Net version while other project (Lets say App project) was using slightly older version and so it's build was giving error - Type or namespace for Library namespace not found.  Bit of googling gave me solution. So set Lib's .Net version to same as App. Build OK.  Next step: Verify solution is building correctly. For this there's something called build order to consider. For this in VS there's a setting - "Project Build Order..."...

Maybe nothing can fix it [SailfishOS Enterprise WiFi]

So yesterday I re-updated my AquaFish from 2.0.4.3 to 2.0.5.6 and then to 2.1.3.7. This halfway update was because 2.0.5.6 is a major update and we can't directly update from 2.0.4.3 to 2.1.3.7. So instead we have to update in steps.  Anyway, just reached office and checked the connection. Sadly nothing! I checked dmesg output and there was a boatload of vos_malloc errors. So looks like there's some bug somewhere where something critically dies and the connection fails.  Anyway my curiosity is satisfied. Maybe the one working connection instance I observed was a fluke, a mere chance, an aberration and looks like the universe has fixed it!  Alas! Sometimes we can do with some error! Cheers!

Jolla Recovery - last resort for Enterprize WiFi bug

So today I decided to take the plunge and completely reset my Aquafish to recovery image to see if I can get the enterprize WiFi working. A bit of background: SFOS did not support Enterprize WiFi using TLS etc back in 2.0.5.6. In 3.1.2 I guess, they added support for that. I have Work WiFi at office that uses TLS with MSChapV2. And on 3.1.2(or whatever that release was), I did manage to connect to my Work WiFi once. The Captive portal login appeared in SFOS browser, I logged in and was able to access the internet. But after that one time it never connected. So I reset Jolla, upgraded once again and tried but to no avail. Now Recovery image reset is something else. It does not just reset the settings. But rather wipes out the partitions and writes partitions from recovery image. The process is straight forward. Remove the battery and after inserting use [power] + [vol+] button to power device in Recovery Mode. The phone displays message to conenct to PC using USB cable and ssh to it...

(Meld, Gnome, Crap) All in one sentence

I have been using Meld for about 3 yrs. And it has been solid. Until today! Actually what happened is I have not been using Linux and Meld for last 3-4 months. Today I required some code merging in Linux. So I fired up Meld and started going at it. I was about halfway, when suddenly my laptop hung. Wait! Ubuntu never hangs! So after struggling to open a System Monitor windows for five minutes I went through the apps and voilla. It is meld! WTF! Then I saw that Meld has opened separate threads for all the docs I have opened and merged and closed. But it conveniently forgot to kill those threads and each thread was eating about 120MB memory and there were about 30+ of them. Gods! Anyway, I killed Meld and the system recovered from the butchery. Then just to coonfirm I opened the folders in merge and confirmed that my analysis is correct that indeed for each opened file a new thread is getting created and when file is closed it's not getting closed. Ok, I check the version - it's ...

SFOS new update, SFOS 3 and new tablet in family

Image
Last week a new update for SFOS is released to early subscribers. Thats v2.1.4 Lapuanjoki. I have been using v2.1.3 kymijoki on my Intex Aquafish for a while as my main phone. And I think SFOS is god enough for daily use. I have a few android apps like - WhatsApp for communication, WPS Office for PDF EBooks, A Better Camera as better Camera app, todoist as TODO app and that's it. I'm getting decent battery life on an average of two days. Of course I had to shoot down couple of problems of errant android apps and downgrade Play Services version. So now the android apps display an annoying pop-up for upgrading Play Services, but they work fine beside this. The upgrade breaks a lots of things - causes battery drain, instability etc etc. So I'm better off with older version and few annoying pop-ups.  Of course I can always get rid of android apps, but right now that's not possible, so I live with compromises. On system front the few things I miss are - apps should be ab...

Case of issues with Google Play Services on Sailfish

So few days back I started using my Intex Aquafish as my daily driver. The phone is great at a basic phone. Calling and internet works fine. Whatsapp also works fine and so does Google Drive. That's almost all the use cases for me. But something threw a spanner in the works. I tried installing few more apps, and they get stuck at Installing screen. Then couple of days back I started seeing large battery drains by gms.persisttent. After a lot of googling and searching I did not find much. But then today I hit the lottery. Found out that I someday mistakenly upgraded Google Play Services and that caused all this. Anyway, how to revert back. Big question. After fiddling out here and there, I found out that I have to search for Google Play Services in Store app, and from there I could downgrade Play Services. Once that done and after testing half a dozen installs and checking battery draws in Battery Log app, I confirmed that this indeed fixes the works! Cheers!!!

Using an Android phone with busted power button

I have a number of old phones. Mostly they just hang around in a box of all other computer hardware. I have two smartphones, one feature phone and one dumb phone.  First one is Intex Aquafish. Great phone, but since it can't connect to my office network (Crazy!!!), can't really use it.  Next one is Karbonn S1 Plus which is ancient now. Gifted this to sister, she used it for 2.5Yrs., and by then it was quite busted. Battery gone, frame cracked, power button barely working, and horizontal white lines on screen. I gifted another phone to sister. But this phone is not totally dead. I replaced the battery for 300Rs and reset the phone. Turns out it works fine as a standalone GPS navigator. So that's it. Its hanging around like that.  Next one is a Nokia C5. This was the first phone I gifted to sister, before the Karbonn. It works fine, but no it's quite obsolete. No wifi, Symbian etc etc. But the thing is it's still a fine phone. I use this as mp3 player these days. Work...

Not using Firefox anymore

Never thought I'll say bye bye to Firefox ever. But this week I did say bye bye.  On pc Firefox is too slow and often unresponsive. Clearing profile and fresh install didn't help.  On the other end, Vivaldi is so much more responsive, fast and light. Damn good.  On mobile Firefox often won't connect to net. Don't know why. I'm using dolphin browser. Not as polished and with some weird preferences. But it works faster and is much lighter.  So that's it. Adios Firefox. 

The case of a slow browser

I am an exclusive user of Firefox. Recently I got the Quantum upgrade. Firefox seems to have become faster. But it seems to have become more bloated. On my 1GB RAM entry level android, it often seems to be crawling. Same situation is on my laptop with 2GB RAM. The sites load fine but it just gets unresponsive once in a while. I have only one plugin - that is uBlock origin. And it's a necessity. So I have decided to try other browser - something that's light and doesn't eat away the RAM like it's donated freely. Lets see if I find anything. The first one I tried out is Vivaldi. It's from Opera's former team. And it looks promising. I loaded gmail and google drive. It loaded quickly since I have good internet here. And the browser did not seem to be all that slow. Then I opened my tech blog and later opened one planning sheet which has quite a few excel formulas. At this point Firefox starts hitting RAM ceiling and starts getting slow. No such thing for Vivaldi. T...

Happy new year 2018

Not many posts for Dec 17. Well, 2017 was a good year for tech in my perspective. Not many things broke. The Lenovo G580 is still going strong, so is Sennheiser HD439. The pair of Soundmagic ES10's is holding out. Damn! They are one of the best cans I got hold of. These days I use them with an old Nokia C5 and they work beautifully. So that's it! Bye bye 2017. Resolutions for 2018? Well, a lot of things need to change. I need to fix my health. That means getting couple of festering health issues treated. And start exercising. Well that's all for now. Adios!