Sunday 10 August 2014

Going back to the basics (Android)

As I mentioned in my previous post, I decided to revert back to my nandroid backup. I think my battery actually does work longer without CM 10.2. Also no reboots, though some apps don't like to be restored from a backup. I also for now switched to Nova Launcher, still not sure whether I prefer Apex or Nova.

Here's what I was wondering about android 4.1.2 vs CM 10.2 with android 4.3.x
  1. Taking screenshot natively by pressing power+home (I had an app for that in 4.1.2 but I'm not sure if I still could've done that without the app)
  2. Lock screen button actions (not REALLY needed, also doesn't work in the WidgetLocker screen) 
  3. Quick unlock ("Unlock automatically when the correct PIN/password is entered")
  4. Expanded desktop (hides status bar from desktop, but Apex Launcher does that too)
  5. Quiet hours (Llama can do that)
  6. Set allowed screen rotation (e.g. 0 & 270 degrees only)
  7. Blacklist for calls (maybe I could import a blacklist from somewhere)
Here's what I've figured out so far:

  1. I can take screenshots natively just like that, and with Xposed Framework I was also able to add screenshot to the power menu (GravityBox).
  2. I don't really know as I didn't really care about anything other than being able to use the flashlight/torch easily without opening my phone. Which I can do with the Xposed module Xposed Torch, which adds Torch to long press hard buttons. Also GravityBox enables it, but I'd rather use the hard buttons than soft buttons for that.
  3. This I haven't really found a good solution to yet, I don't want to try something that doesn't work 100 %. But I keep reading that it doesn't work in Android 4.1.2, or maybe it does but it's a bit risky to try.
  4. Pretty much any launcher does it so it doesn't really matter. I tried to set the statusbar background transparent in GravityBox (I keep typing GloryBox, argh!) which works, but I can't adjust some of the colors to not be grey, so I'm just hiding it. 
  5. As I said, Llama (or Tasker) can easily do it. Also Xblast Tools has the module, but I preferred GravityBox and you know, Llama or Tasker. 
  6. Haven't found this one yet unfortunately, it was good for not allowing the screen rotate too much when reading in bed, as I only use the phone either in normal portrait or rotated 90 degrees clockwise (which was 270 degrees in CM 10.2 options). 
  7. Blacklist IS there in native 4.1.2 too, just really hard to access. I ínstalled Xposed Call Blocker that allows wildcards and apparently is battery friendly etc, but I'm still looking for something I can import a list of numbers to. 
What was really cool about GravityBox was that it allowed me to hide Tasker & Llama notifications. They require on-going notifications, and it was really annoying to have them waste space in the list and not seeing new notifications in the list properly because Tasker & Llama were always first.

Getting K9 unread mail count for Zooper Widget from Tasker

I decided to revert back to my stock ROM backup, and OMG the nandroid backup actually worked sort of flawlessly. It was as simple as going to TWRP recovery mode and choosing to restore the backup file I'd made before installing CM 10.2.

I think that my phone might like a clean-up from all the crap, but for now I'm just content with how I don't have to setup everything from scratch.

Anyways, to the topic. I wanted to have an accurate e-mail unread count for my university e-mail, like I have for Gmail. So that the unread count actually reflects the number of unread emails I have (in a specific folder), rather than how many notifications I've gotten and clearing the count by opening the app.

Here, are, my, references. The tools to do this: rooted phone, SQLite, a file explorer (I use MiXplorer), SQLite Debugger, Tasker, Zooper Widget Pro, K9 mail.

Disclaimer: I don't know if the detailed steps work for anything other than my Samsung Galaxy S3 mini, Android version 4.1.2. 

For example folder structuring might be different in other android versions. So that's why it's better to actually explore every step in your phone rather than trying to copy-paste something, also I thought it was interesting to see how the SQLite script/query was built in SQLite Debugger. 

Ok let's get going.

0. Have a rooted phone. 

I don't know how to root phones, sorry. Google "how to root [my phone]", XDA developers probably have all different scenarios covered.

1. Install SQLite on your phone and reboot*

I used SQLite Installer for Root. *I don't know if reboot is necessary at this stage but it's better to do it than not do it.

2. Install SQLite Debugger on your phone and reboot*

Here's the link to SQLite Debugger. It asked me to also install BusyBox so I did (Stericson version). I actually first thought I already had SQLite on my phone from all the stuff I'd done previously, and SQlite debugger didn't complain about me not having it, and Titanium Backup always checks for sqlite support or something like that, so that's why I had no idea why my Zooper Widget's Tasker variable wasn't working! So I actually did step 1 last. No harm done! *I don't know if reboot is necessary at this stage, but I know I had to reboot at one point. 

3. Set your K-9 mail to use external storage

Open your K-9 mail and push menu -> Settings -> Account Settings -> Storage -> External storage (SD card)
Note that it doesn't actually mean your external SD if you have one, but the part of your internal memory that's acting as the sdcard where a user can store their stuff.

4. Find your k-9 mail database (file path)

Now you need to search for your db file. Once you've found it. type it either on paper or on a text file in your computer, somewhere where you can see it outside your phone! (I have a bad memory)

Short answer: for me it was in /storage/sdcard0/Android/data/com.fsck.k0/files/9032etcetc-etc-etc.db 

Long answer: It's inside a com.fsck.k9 folder, and for me it was in com.fsck.k9/files/ where there was 1 folder and 3 files (.nomedia, *.db and *.db-journal).

So open miXplorer and check bookmarks for SD card (mine was /storage/sdcard0).

I think the absolute path may vary, and I had several locations where I found com.fsck.k9, probably from 1) when it was in internal storage and 2) as a result from my switching ROMs.  For example I found it in
/storage/sdcard0/0/Android/data/com.fsck.k0/files/9032etcetc-etc-etc.db             AND
/storage/sdcard0/Android/data/com.fsck.k0/files/9032etcetc-etc-etc.db 

The first one was not the correct one. Send yourself an e-mail and in miXplorer switch the list to "detailed list" and then you can see when the file was last modified. If it wasn't modified a couple of minutes a go (when you sent the email to yourself) then it's not the correct folder. If it was updated when you sent the mail, then you have the correct location.

Note. I tried going to the root folder in miXplorer and searching for com.fsck.k9, but after it was finished it actually only found one of the folders and it was the wrong one, so I think manually searching for it might be better, especially since the search takes a long time at least on my phone.

5. Copy the file path to clipboard

Long press the file in miXplorer and pick the menu from bottom right of the screen and choose properties. Click the path text and it should say "copied to clipboard".

6. Open your SQLite Debugger

Choose to open file (browse sd-card for databases) and navigate to the folder where your .db file is. This is why I typed the path on paper, because I have the memory of a goldfish. It might ask for what you want to do with the file, I don't remember anymore. But if it does, choose SQLite debugger and it opens the file inside the app. 

6.1 Find your folder ID

You should have your db file open on your SQLite Debugger screen. Click on "folders". Then click on the right pointing arrow below your statusbar (next to the "bookmark" looking icon). Now you should have a page open where it says SELECT * FROM folders, and a list of folders in your e-mail. Search for your "INBOX" or whatever folder you want to show the unread count to. I had loads of them, so I had to go to the 2nd page (bottom right curvy arrow) and found a line that said 52 INBOX. So that's my folder_id! I typed that on paper as well, 52.

6.2 Find the correct SQLite command to see your unread mail count

Navigate back to the main page of your .db file (where you first selected "folders"). Now open "messages" instead and then scroll down and click on "read (21, integer, default=0)" and choose 0.  Now it opens a list of unread messages you have in your mailbox (it actually doesn't show all folders, as I redirect some newsletters and ad spam on a certain folder and it doesn't show those).

Click on the column (not column header) that is under FOLDER_ID and  choose ... = X (whatever number there is). Then go to the SQLite script line where it says SELECT * FROM etc and change folder_id = YOURID. So I had to change 32 to 52 and press the right pointing triangle arrow on the top right to update your command.

You now have a list that shows unread mail from the folder you specified, but you also might see entries which are just <NULL> in almost every field. I don't really know where those come from, but you don't want to see those in your unread count. So to prevent that from happening, I chose to click on the SENDER_LIST column (not the header) and choose "is not null". The examples I read had something like "subject is not null", but I'm not sure if that also blocks mails with no subject, so I didn't want to use that. I thought it would be safe to assume that if there's no sender then it's not a valid e-mail. Click on the right pointing triangular arrow again to update the command, and now those <NULL>s should've disappeared.

If you made a mistake, hit "back" or clear the newly added text and update with the arrow.

Now your command line should read something like
SELECT * FROM messages WHERE read = 0 AND folder_id = 52 AND sender_list is not null
and see a list of entries that match that query.

Now all you need to do is to wrap count() around *, so that it reads
SELECT count(*) FROM messages WHERE read = 0 AND folder_id = 52 AND sender_list is not null
update with the arrow and now what you should see is just a number.

Select that command/script/query whatever it is actually called and copy it to clipboard.

Note that I use Samsung Keyboard which allows me to see the clipboard, not just paste the most recently copied item. I'm sure all other keyboards support that as well.

7. Let the Tasker fun begin

7.1 Create the task

Open Tasker and create a new task and add new action Script -> Run Shell
Now type or copy-paste to command:
sqlite3 [paste the file path from clipboard] "[paste the command you copied from SQLite Debugger];"
(note the quotes and semicolon)

So this is my full working command (except for the db file name, as I cba to type that and it will be different for everyone):
sqlite3 /storage/sdcard0/Android/data/com.fsck.k0/files/9032etcetc-etc-etc.db  "SELECT count(*) FROM messages WHERE read = 0 AND folder_id = 52 AND sender_list is not null;" 

Then set Timeout (Seconds) to 5 and Store Output in %K9UNREAD, also you might want to Store Errors In %K9ERROR.

Go back to the task and add a new action: Plugin -> Zooper Widget Pro...
Then in Configuration set
ZW Variable: K9UNREAD (or whatever you want to use in ZW)
ZW Text: %K9UNREAD
press save icon.

Now you have a task with 2 actions: 1. Run Shell, 2. Zooper Widget Pro Variable

Press the "play" icon on the bottom left of the screen to run the task (just in case). You can go check the variable list in Tasker VARS and see if %K9RESULT displays a number (if you have unread mail) and if %K9ERROR says anything. Hopefully it doesn't, but it helped me to realize I don't actually have SQLite installed after I saw that there's an error, and just Googling that error helped me figure out what it was!

7.2  Create the profile
Add a new profile: Event -> File ->  File Modified -> [paste the full file path again] and then assign the task you just created to it.
Note that there's a search icon for looking for the file in Tasker, but it doesn't include the whole path and I'm not sure if that's required (I first had it like that but I changed it to full path when I was trying to see why it doesn't work, and I didn't change it back after actually installing SQLite, but no harm done anyways if the full path is pasted).

8. Create/Edit your Zooper Widget to show unread e-mail count

Now all you need to do is to create a Zooper Widget where you want it and insert a (rich) text module. Go to "edit text manually" and type whatever you want to show there. Use #TK9UNREAD# (or whatever variable you chose to use, just note the "T" that means it's a Tasker variable) where you want to insert unread count.

For example, my unread notifications string looks like this:
$#SMCALLS#>=1?MISSED CALLS\: #SMCALLS#
$$#SUSMS#>0?NEW SMS\: #SUSMS#
$$#TWA#>0?WhatsApp\: #TWA#
$$#TLMSG#>0?LINE MESSAGES\: #TLMSG#
$$#TK9UNREAD#>0?UTU\: #TK9UNREAD#
$$#SUG#>0?Gmailº1\: #SUG#$$#SUG#>0&&#SUG1#>0? | $$#SUG1#>0?Gmailº2\: #SUG1#$

Note that ZW conditionals are in the form of $#VARIABLe#=X?Y$ and I have entered a line break before the last $ for each notification. That's why each line starts with $$. This makes it so that every notification is in it's own row, but there won't be any gaps if I for example have one missed call and one missed LINE message, but no new SMS/WhatsApp messages. #TWA# and #TLMSG# for WhatsApp/LINE notifications are created in Tasker (Tasker variables, which you can see from the #T beginning) and the count goes up when WA/LINE push notifications, and the count is cleared when I open those apps (so no real unread control like for GMail/K9 mail).

9. That's it!

Go back to your home screen and admire your work! It actually updates better than the ZW native #SUG# variables, I might integrate my Gmail accounts to K-9 mail too.

Thursday 7 August 2014

Android madness

Summer's almost over and I haven't really gotten anything done. For the past couple of weeks I've also just been melting due to high temperatures (I'd very much prefer a sunny +10...20 degrees Celsius rather than +30).

Literally I have done nothing useful.

I've done research but not on my actual thesis that I'm supposed to be working on. Instead of scientific research I've done plenty of semi-scientific studies on 1) implementing BARF/RAW feeding with cats and 2) customizing my Android phone, the latter of which I'll discuss here now.

It started with a simple question which was "how do I get text menus and remove homescreen icon labels?*" (because I saw a nice theme on LINE Deco and wanted to do something like that). That led to endless hours of testing different launchers, downloading icon packs etc. I ended up with Apex Launcher, which was running smoothest on my not-so-powerful Samsung Galaxy S3 mini. It has no adds and it does everything I need completely free. There are some features that are tempting me to go premium, as well as simply to show support for something that's really great even if you don't pay for it (because I'm very sick of free apps full of ads & locked features that render it practically useless). Others that I tried were too bloated or simply not what I wanted, or had too limited free features + ads (how can I know whether I'll want to purchase the app if I can't actually test most of the features?).

Well that's where the customization started. *SimpleText allowed me to create text icons to replace default icons, so that's text menus for ya. It took some time before I realize how it can actually be utilized to its full advantage (i.e. just create a layout, save that, and then when you save icons you can just use the same layout and type different text and create all icons in one session like that - in the free version background color settings aren't saved so every time I closed and opened the app again, I had to set the transparency again to remove the border/background from sight). Also it would've saved time if I hadn't cursed the app for not saving my icons and re-doing them for 5 times because Gallery didn't show them, but it turned out that the Gallery doesn't always update correctly, and the icons do actually exist in their folder.

Somehow I ended up with a custom ROM. The thought behind was pretty much: I already dropped my phone and the screen cracked from the bottom corner (there's a crack that goes across the bottom of the visual screen, and some cracks where the 'back' touch button is) so warranty's pretty much void anyways. Also only about 6 months of warranty left anyways, and there's no official android 4.3 update coming in the near future, so why not? I installed CyanogenMod 10.2 something by maclaw. Oh dear god it took days to figure out what exactly is needed to first of all ROOT my phone (actually root isn't even needed for installing CM 10.2! but it was my first step before deciding on the custom ROM). Didn't want to strain my phone with Kitkat (4.4+) although CM-version of it is available for S3 mini. Maybe I'll try that next. 

The main reason I wanted to try custom ROM was actually to avoid purchasing one app. HAH! I value my time at 2€/day. Ok ok, I like trying and learning things like that, so it wasn't just being cheap. Anyways, I read that android 4.3 enables lock screen widgets. Sounds so cool right? Who needs WidgetLocker? OH WAIT, someone decided that feature to be "you can add multiple pages with 1 widget/page to your lock screen". Ok, useful for some, but not for me, as I just wanted to make my lock screen match the overall theme. This I figured out after spending hours in reading everything I could about modifying my phone like that and having all the right kinds of backups to revert back to normal if something bad happened, and then actually installing the new ROM. (I was able to restore most of my temporary-promotion-code apps in their upgraded state, I think there was only one that didn't want to co-operate.) So in the end I had to purchase WidgetLocker anyways. And the next day "app of the day" offered C-Locker free, but I'm trying to convince myself that it's not as nice as WidgetLocker. 

Anyways, I sort of like CM, but I'm not entirely convinced just yet. I don't know which parts of that is android 4.3 and which parts are CM, so it's a bit of a dilemma. I've had a couple of sudden reboots so that's a negative, also the button backlights light up randomly sometimes, but I have to go through all apps and their settings for how their notifications work. I might have had reboots with the stock ROM too, though, but I'm not 100 % sure about that. One serious disadvantage is that I can't get Samsung keyboard and none of the app keyboards feel right. Kii keyboard was nice in features, but it lacked the intelligence of suggesting the next word (before anything is typed). SwiftKey handles that, but lacks the customization. And of course it's just a matter of adjustment, but I just can't type correctly with either of those and it feels like their correction suggestions are just bad (probably because I've been using the Samsung keyboard for 1,5 years and it has learnt stuff). So go back to stock or learn another keyboard, or learn another keyboard & pay for it.

Another issue is that my battery gets drained in 4 hours (screen consumes like 80% of that) and I'm not sure whether that's the modifications I've made or that the battery is shit. It's a replacement battery since the stock one died after a year, but it's not that old yet... Also curiously there's no longer a mobile data toggle in the settings menu, so I have to use power toggles to do that (but also something I could automate with Tasker/Llama, have to experiment with that, I already have a profile for Llama that disables mobile data after I've connected to my home Wi-Fi for longer than 30 seconds). 

So I don't know. It seems such a hassle to revert back or to try a new ROM. One good aspect is that I get rid of Samsung's and Google's bloatware. But I guess with root + Titanium Backup I could just freeze those apps?

So I'm trying to figure out which stuff I need android 4.3 for, and which can be done in stock (but rooted) 4.1.2. I need root at least for AdAway, MiXplorer, WidgetLocker and Titanium Backup (those have requested Superuser rights). I'm not sure if I need it for Tasker, Zooper Widget Pro (to do the things I'm doing with them). Rooting is quite necessary, and it's not really an issue. Just gives you permissions to do more stuff. I just can't remember what I can do with android 4.1.2 vs what I can do with 4.3.x. Some of these features I don't know if I can get in 4.1.2 are 

  1. Taking screenshot natively by pressing power+home (I had an app for that in 4.1.2 but I'm not sure if I still could've done that without the app)
  2. Lock screen button actions (not REALLY needed, also doesn't work in the WidgetLocker screen) 
  3. Quick unlock ("Unlock automatically when the correct PIN/password is entered")
  4. Expanded desktop (hides status bar from desktop, but Apex Launcher does that too)
  5. Quiet hours (Llama can do that)
  6. Set allowed screen rotation (e.g. 0 & 270 degrees only)
  7. Blacklist for calls (maybe I could import a blacklist from somewhere)
Here are screenshots of my phone's theme currently:





Monday 2 June 2014

Arrivals

I got the first batch of the items I ordered. I waited over the weekend, and instead of just 1 package I got to pick up 4. Three I had tracked via Itella's tracking system, but the 4th one was a nice surprise (most surprising was that there were 3 delivery notices in our mailbox, so those had to be with the mail carrier already in the morning). :)



The orders that had the same tracking code did actually arrive in that same package, so no problem there! Though maybe some message to the customer would've been a bit better customer service.  I sorted and counted all the alphabetic/numeric beads because I'm nerdy like that. There were a couple of extras in both totals (even excluding the duds), although I was certain that such a small looking bag couldn't hold 500 beads.Number beads were distributed quite evenly: 60x1, 50x2, 55x3, 31x4, 53x5, 102x6/9, 50x7, 60x8, 48x0. There was more dispersion(? deviation?) in the alphabetic beads, for example I got 8xJ (+3 bad Js) or 11xW, but 40xL. Wires were fine also.

The J shaped cable needles aren't that great. The plastic has those rough bits that look like they were joined together when manufactured and then cut apart, so yarn will definitely snag on those parts. The cable needles that are straight but there's an "u" shape in the midldle are fine though. Also only after I got them did I realize that 3 sets, 10 pieces meant 10 pieces altogether, in 3 different sets. Not 3 sets of 10 pieces. Which is of course better, because I wouldn't have any use for the extra ones.

The split rings are of course split so I think I need to get some very small beads (seed beads) to glue into that opening, like shown in this tutorial. But before I do anything, I need crimp beads, which are still on their way. I don't have any jewelry tools, but necessity is the mother of invention, as they say.

Problem number two was also solved! I messaged the shop and they replied:

Dear (insert my name here)

Glad to hear from you.
We already contact with my postoffice.
They said it will be arrive to Finland.
The web show wrong message.
Please don't worry.
​Best Regards :)

And today I was able to add the tracking ID to Itella's tracking system, so the foam mats are indeed on their way here. Also the yarn winder was registered in Finland, so now I only don't have the slightest clue where the crimp bead are as they have no tracking ID. Overall, very happy me!

I also got a new mouse (Razer Naga 2014) at a discounted price, because someone had bought it, ripped the packaging and then returned it. I don't care, it has normal warranty and the cheaper I can get a Razer mouse the better. Quite poor quality at a high price*, but that's what you pay when it's the only mouse that fits my smaller hands yet still has more than 5 buttons. I'm still not sure about the 2014 version though, as it's bigger than the original Naga (sigh, they made it "more ergonomic", for men I assume) and buttons 4&5 are behind the scroll wheel. I liked that I could easily press those with my forefinger. But the scroll wheel tilts so I substituted those to mouse 4/5 buttons. My cat was a bit possessive about it.




Not enough to give you extra food again!

*We've had lots of Razer products (different mice, keyboards. even speakers). All the Nagas have started double clicking after 1 year of use approximately. There are tutorials on the YouTube as how to fix that, I have to try that sometime because we have at least 2 double-clicking Nagas currently. The middle button click of my boyfriend's Hex stopped working only a couple of days ago. From other products the keyboard (Lycosa) wasn't good but I can't remember all the exact issues with it, Mamba's battery swelled, Orochi has some sharp edges and wake-up lag etc.The main issue is though that in everyday use something breaks down quite quickly, and I really wouldn't like to spend so much money on mice.

Saturday 31 May 2014

Acquisitions

I went on an internet shopping spree a couple of weeks ago (22.5. to be exact). It began by searching for cheap, small stitch markers. I already bought a package from a local yarn store that contained a bunch of two(?) different sized markers that are soft (those green and purple ones, don't know the manufacturer) but I found that I need more of the small ones. And the price is just awful (was around 6,5-7 € for the package that had 10 small + 10 larger ones), so I wanted to see if I could find the same things from the amazing internet with free shipping.

I found something on the Amazon (.com) but got extremely annoyed, like I usually do with Amazon. It's fine if you want to order 1 specific item, like a book, but if you'd just like to shop around and gather items, it's just near impossible. Every store has its own shipping policies and the site doesn't even filter those shops that don't ship to Finland, and all advertisements about free shipping only applies to the certain states of USA. Even if I'm logged in and have told the site where I live...

I stumbled across Aliexpress.com to which I've chuckled on multiple occasions, or mostly to its mother site alibaba.com. Because of the name, and because alibaba is a wholesale store so when you're looking for something you go oh, that's cheap, if I order 3000 of those items at once... Aliexpress.com is pretty much the Chinese equivalent of Amazon. Anyways, peculiarly I didn't manage to find the sort of stitch markers that I was looking for on Ali, but boy did I find all sorts of other things I had in mind. And after the Amazon frustration, I just loved all the filters on aliexpress. It's still a bit annoying to browse through some categories, but majorly better than Amazon.

So I purchased:

  • Those safety-pin looking stitch markers (or small stitch holders) packs of multicolored ones, I'm planning on giving some of them to my mother :)
  • Plastic cable needles (different shape/size) 3 sets = 10 pcs 
  • Pin cushions x3 that have a strap to attach it to your wrist. (I've made a hedgehog before, but it's difficult to tie around your wrist tightly and it's quite big, I must admit I just got these because they were cute)
  • Some wires, crimp beads, alphabetic/number beads and jump rings to make my own stitch markers, inspired by this post and some other tutorials there are. I'll be able to make quite many...
  • Foam mats for blocking. Stupidly expensive around here. I was contemplating between colored and plain beige color, and decided that while colored would be more fun, I shouldn't spend extra money on that, plus the color might bleed to blocked garments (though KnitPro mats are colored as well) so better safe than sorry. Free shipping was quite an essential filter. 
  • A yarn winder! My mother laughed out loud when I asked if she had a yarn winder. They're not at all common here, though I don't know if they are elsewhere either. Anyways, this one had postages but it was cheaper in total than the ones that had free shipping, so sometimes it's worth checking that too. Also, it seems that it's exactly what people have ordered from Amazon, and if you order it directly from China, you get it for less money. It's going to be made in China anyways.
The foam mats and the winder were obviously the most expensive items on my shopping list. I probably wouldn't purchase "quality" items from there, but the things that I did order were on the category that no matter what the label is, they are going to be the same items anyways, but with just a random retailer and "label manufacturer" in between. 

It was nice to see that there is a time limit (different for different shops) to how long it can take before the shop has to process my order, and so all my in total 8 different orders were processed within 2 days. Buyer's protection was  ~40 days for all orders and I can ask for extension if the item doesn't arrive on that time (shipment could take up to 60 days), or open a dispute. Also a messaging option for the shop. and a button to confirm that I've received the order so the shop/site can too keep track of how long it took. Everything was shipped via China Post Air Mail and I got tracking codes for all but one order (that one was a 0.99$ order). The first one has arrived on our local post office 30.5. so it only took 8 days! And I noticed that by inserting the tracking codes to the local mail tracking, 2 others are currently in Finland also (cable needles and pin cushions). Tracking the China Post Air Mail code from the Chines point-of-view isn't that informative, but better than nothing.

There are two issues currently though. First one I noticed was that the destination country for the foam mats was Poland. I'm not sure if that one will make it to Finland, but at least Poland's in Europe, so there's still hope? I can also see it in Poland's post tracking but it's an "economy registered letter" and for those only dispatch & delivery dates are displayed, no tracking info. I sent a message to the shop asking about this. And in the worst case scenario I open a dispute. 

Second one was that two of my orders had the same tracking code. And actually the first that arrived was with that code, so I don't know yet which one actually arrived. I'll send a message to the other shop once I get around going to the mail office. They were separate shops at least on paper, but the orders were very similar so I don't know if there's a connection between the shops (in that they are identical) and one order hasn't been sent at all. I don't know if I've been lucky, but I haven't had problems with internet orders before, so I'm quite optimistic that everything will turn out ok.

In terms of knitting, I finished the cardigan I was knitting to my 2-year-old niece as a birthday present. Are those blueberries she's eating?



Wednesday 21 May 2014

First things out of the way

Last Sunday we had a cleaning day. We didn't really get everything sorted out, but at least we got some things on the walls at last. We moved to this flat in the beginning of February? March? (can't even remember), so it's still a work in "where-do-all-these-things-go" progress. This flat is 9 m^2 smaller than our previous flat, but differently organized, so we have a lot of stuff on our kitchen table that don't seem to fit anywhere, but also empty kitchen cupboards, which is really weird.

First object is a 80 cm GRUNDTAL rail  from IKEA with some hooks and two "flatware caddies" that act as flower/herb pots (there's a grate(?) at the bottom so extra water will go there, perfect!). I had to install some photo filter editor to my laptop because my phone (Samsung Galaxy SIII Mini) has mind bogglingly bad camera. So you get these fancy-artsy-fashionable pictures! You being my imaginary readers. Notice the row of Converse shoes. Shoes are expensive here, so when they were on sale, I just had to get 2 new pairs besides my blue and pink ones. The pink ones are the oldest and the rubber toe part has a crack, the blue ones are quite new but I spilled some sodium hypochloride on them at work, the first day I was wearing them at work IIRC. So there's one bleached spot. I think that coats will hang there after summer.


Second object is a bathroom sign I ordered from somnambulant in Etsy. It took 4 weeks and a couple of days on top of that to arrive (I was already thinking of contacting the seller, and also checking the mail at our old apartment, but thankfully it came). This flat isn't the most perfect option for this sign (due to how all the doors work at the entrance), but maybe in the future it will shine even more. It's at the inside-side rather than the outside-side of the door, because our cats' litterbox is in the bathroom as well, so we always have to keep the door open (if no one's using the toilet).

Third one is a poster I ordered from Allposters.fi. It cost around 3-4 euros and the frame is from IKEA (RIBBA) and cost 20-25 euros. I had to cut the poster with a scalpel to fit the frame (also did that for another Dalí poster and I have one more expensive one waiting for treatment). Hooray for non-standard measurements, or maybe rather the lack of US standard sized frames in Europe. Well, I still like the poster on top of the toilet seat! Although there's now a hole in the tiles and I'm not sure how that will work out when we move out...

From the picture above you can get a glimpse of object number 4, a key rack. I designed it for our old flat! The paper print I got somewhere online... might have been Paperella.fi. I got the hooks from a hardware store and also some sort of sprayed adhesive to attach it to the wooden frame that my boyfriend made at work. The only problem is that it used to be attached to a coat closet's side through the closet wall, and it doesn't have a proper attachment mechanism for hanging on a nail/screw on the wall. So currently it falls on the floor quite easily. I love steampunk things, though I haven't done any research on the subject. 



The beginning. Again.

I've had a few blogs. Most of them only have a couple of posts, because I've never won the popularity contest and it feels like that the only reason to write a blog is to get a million followers and make it your day-job. Well I might be exaggarating a bit, and if I were to be totally honest, I've never managed to update something like a diary regularly. I'm first enthusiastic, and then I just forget about it.

BUT HEY MAYBE THIS TIME IT WILL BE DIFFERENT?

I recently, in the beginning of April 2014 to be more exact, started knitting. And was thinking that it might be fun to also blog about it. I did post a couple of posts already in another blog that I started  (haha!) in Finnish, but for some reason I prefer English. I'm not saying that I can write or speak English anywhere near to being a native, and probably I'll translate things such as phrases from Finnish to English in a way that only makes sense to me...

Let's move on. This won't be a fancy artsy craftsy blog, because I'm not really creative. I don't take inspiring/inspired photographs with a fancy camera and I don't do interior designing nor come up with clever ideas. (Our household is usually a mess with cat litter and cat hair all over the floors and carpets, and HOW DO I FIT ALL THIS STUFF HERE?). At most I try to recreate what someone else has created and will mostly fail. In terms of handicrafts, if I can do it, anyone can do it. And I suppose that's the point of view I will try to have here.

I have a lot of things in my mind I'd like to write about in this blog. Lets see if I can make it.