iOS Notes Sync Problem Solved

Back in the days, I had a problem regarding Notes not syncing with iCloud, and I solved it myself following the steps here: Apple Notes Sync Problem + Solution . However, the same issue re-occurred on iOs 10, and the steps here didn’t really help.

After I tweeted about my sync problem with iOS Notes, @AppleSupport DM’d me and solved my problem over Twitter! I’m not sure which step solved the problem; but nevertheless, here is the message log for people having trouble with Notes sync.

Apple Support@keremkoseoglu We’re here to help. DM us some more information on the issue and we’ll take a look with you.

Dr. Kerem Koseoglu: hello there, my mac notes syncs with icloud perfectly, iclous notes syncs with mac perfectly as well. however, my iphone notes app doesnt sync with icloud  since 10.0.1.  i tried everything; turning icloud notes off & on, deleting & re-installing notes on my iphone, etc – doesnt help

Apple Support:  We want to team up and be sure you have access to all your notes. If you go to  your Notes app on the iPhone and choose “Folders” what do you see there? A screenshot may help. You get to folders by clicking the options in the top left of the Notes app. We’ll go from there.

Dr. Kerem Koseoglu: Thats all i see. i have like 10-15 folders in icloud

Apple Support: Based on the screenshot, it appears that your notes are loading still with the spinning icon next to the word iCloud.  How long has it been since you’ve noticed the notes were missing? Also, have you tried different Wi-Fi networks?

Dr. Kerem Koseoglu: 2-3 days. Yes, different wifis, 4g, doesnt work. Other icloud services work fine (such as calendar)

Apple Support: Great, thanks for the clarification!  We’re happy to see that you’re taking the initiative and trying a few troubleshooting steps on your own. In the screenshot you sent, we see a note that was made.  Does that note show up on http://iCloud.com  or on your Mac?  If you create a new note, does that sync to iCloud?

Dr. Kerem Koseoglu: no, i created that test note on my iphone. doesnt show up anywhere else. my mac <-> icloud syncs perfectly. iphone, not so.

Apple Support: We understand, thanks for checking into that for us!  Typically, turning Notes on and then off again in iCloud will resolve the issue.  But it seems in this case, we’re going to have to do things a bit differently. We’d like to isolate the behavior a bit before before troubleshooting.  Let’s try force closing the Notes app, then turning off iCloud Notes. Once done, if you open the Notes app, does it still show iCloud is trying to sync, even with it turned off?

Dr. Kerem Koseoglu: i have followed your instructions (tried that before already). didnt help. feels like a bug.

Apple Support: Thanks for checking into that for us, we understand you’ve tried that step before.  At this time we’re attempting to isolate the issue to a connection to the server or software behavior on your iPhone.  Can you tell us if the ‘Notes’ app still showed iCloud was attempting to sync when iCloud ‘Notes’ was turned off?

Dr. Kerem Koseoglu: Yes it did, shows all notes on my mac nicely

Apple Support: We understand you’re able to view the notes on your Mac.  What we’d like to try is isolating the behavior on your iPhone.  When you turn ‘Notes’ off in iCloud on your iPhone, then force close the ‘Notes’ app and open it, does it still show it is attempting to sync to iCloud?  Can you send us a screenshot of what it does after you do that step?

Dr. Kerem Koseoglu: i followed your exact steps. since icloud is disabled, it shows local notes only now, no sync attempt.

Apple Support: Great, thank you!  Before we continue on our next step, do you know the password for your iCloud Apple ID?  Now, let’s sign out of iCloud on your iPhone, by going to Settings > iCloud > Sign Out (at the bottom).  It will give you an alert letting you know that ‘Notes’ will be deleted on this iPhone, that’s alright since we don’t have any.  The rest should give you an option of ‘Keep on my iPhone’.  Once we’ve logged out, let’s restart the iPhone, then we’ll log back in and click ‘Merge’.  What does ‘Notes’ show now?

Dr. Kerem Koseoglu: Followed exact orders. infinite sync is back 😐 i vaguely remember a similar problem from the older notes app, can it be due to the high number of folders i have? its like 10-15 folders though, not that much.

Apple Support: We want to take a look at this. What country are you currently in? What is your Apple ID? What is your devices serial number?

Dr. Kerem Koseoglu: country: turkey. apple id: (hidden). serial: (hidden)

Apple Support: Just to confirm, after signing out and back into iCloud and restarted the iPhone, are you still having the issue?

Dr. Kerem Koseoglu: Yes

Apple Support: No worries. At this time, we’d like to have you set up with a callback from a Senior Advisor. With the information you have provided, we’ve created a case for you. That case number is (hidden). Can you give us a few dates, and times you will be available for the call back, as well as your preferred contact phone number?

Dr. Kerem Koseoglu: Strangely enough, the notes just synced! Folders and all! Thanks for the guidance!

Apple Support:  That is spectacular! We’re happy to hear that the issue has been resolved. Feel free to reach out should you need our assistance again.

My Afrotolia Bass Solo Tone

I have recently published a video, where I take two short bass solos: https://www.youtube.com/watch?v=Q1B1Cb6JK_c . I received a few questions about my bass solo tone, so here is the answer.

I was using a Fender American Jazz Bass V with alder body & rosewood fingerboard, all stock. The neck pickup was about 25% off, bridge pickup was on full, and the tone was about 50% off.

The signal ran into the EHX Freeze pedal, which I used to freeze the bass note before starting the solo. That ensures that the bottom end doesn’t get lost during the bass solo. Note that the pedal can be used in chord change situations as well. In my case, I was soloing over a single chord.

After that, the signal ran into the most vital element of the chain: Mr. Black Supermoon. It is a hauntingly beautiful reverb / sway pedal, and this pedal is probably what you were wondering about. That’s how I create the atmospheric sound of the solo. Reverb was pointing at 1 o’clock, and sway & decay were pointing at 3 o’clock.

Finally, the signal ran into my Mark Bass amp. The EQ was flat, VLE pointing at 8 o’clock and VLC pointing at 10 o’clock.

The combination of Freeze & Supermoon can really open up new horizons. I highly recommend tinkering with them.

For the record, here is a picture of my entire pedalboard from that gig: https://www.instagram.com/p/BGYVVZZrgnB/?taken-by=keremkoseoglu . Before you ask, yes, the cat is also part of the board and is named as “ToneCat”.

Using Pointers to Increase ABAP Performance

1464-ppt

Clients always want faster ABAP programs. And for a good reason too. If programs work faster, less time is wasted and the overall productivity would be increased – in theory at least. In practice, it might mean “More time to loaf on Facebook!” to some employees but hey, it’s their own Karma – they can mess it up if they want to. Our purpose is to love others and give them more time – the most scarce and irreplaceable resource of nowadays – by making our ABAP programs faster.

One of the methods to speed things up is to have faster internal table operations. In classic ABAP, we tend to use header lines or work areas to access a certain line in an internal table. However, this method has a high performance cost. In this article, I will show you how to use pointers in internal table operations for much faster execution.

Here is a simple loop written with classic ABAP:

data: gt_itab type table of ztable,
      gs_itab type ztable.

perform read_ztable.

loop at gt_itab into gs_itab.
write:/ gs_itab-matnr.
endloop.

Technically, that works. However; if you have 5.000 records in gt_itab, it means that you are copying the contents of each record into gs_itab once – 5.000 times in total. You can avoid that performance cost simply by using a pointer instead:

data: gt_itab type table of ztable,
      gr_itab type ref to ztable.

perform read_ztable.

loop at gt_itab reference into gr_itab.
write:/ gr_itab->matnr.
endloop.

In this approach, no data is copied. The pointer gr_itab simple points to a line within gt_itab. We can directly access a field using the operator -> . Therefore, it is *much* faster. Pointers can be used with other table operations as well; let’s see some examples.

You can “read table” using pointers:

read table gt_itab index 1 reference into gr_itab.
check sy-subrc eq 0.
write:/ gr_itab->matnr.

You can “append” using pointers:

append initial line to gt_itab reference into gr_itab.
gr_itab->matnr = 'M123'.

Please note that we don’t need to use the command “modify” any more. When we modified gr_itab->matnr , we modified the actual “cell” within the internal table directly. Very unlike and much faster than using a work area.

Don’t get too creative and use the “append initial line” all over the place though.This doesn’t work on ITAB’s with hashed / sorted keys for obvious reasons. If it’s not too obvious for you, stick to my blog – I might be talking about hash / sort stuff in my upcoming posts. Let’s stick to our subject for now.

Following the same logic, it is also possible to access & modify internal table “cells” directly with loop & read commands:

read table gt_itab index 1 reference into gr_itab.
if sy-subrc eq 0.
   gr_itab->matnr = 'M123'.
endif.

loop at gt_itab reference into gr_itab where werks eq p_werks.
gr_itab->flag = ‘X’.
endloop.

If you need to access the entire line (like a regular work area), you can easily achieve that by using the star token:

“ Set pointer
read table gt_itab index 1 reference into gr_itab.
check sy-subrc eq 0.

“ Example 1: Move-Corresponding
move-corresponding gr_itab->* to gs_temp.

“ Example 2: Use as parameter
call method show_itab_lin
exporting
im_s_line = gr_itab->*.

Did you notice that I always “check sy-subrc” after a table operation? That has a good reason in terms of stability. If, for example, gt_itab is empty and gr_itab is not assigned; it means that a nice big short dump is coming your way. Check the following example:

refresh gt_itab.
read table gt_itab index 1 reference into gr_itab.
gr_itab->matnr = 'M123'. " Here comes the short dump!!!

To avoid that, you can either check sy-subrc, or check the reference variable directly.

refresh gt_itab.

“ Method 1
read table gt_itab index 1 reference into gr_itab.
if sy-subrc eq 0.
gr_itab->matnr = ‘M123’.
endif.

“ Method 2
read table gt_itab index 1 reference into gr_itab.
if gr_itab is not initial.
gr_itab->matnr = ‘M123’.
endif.

Sometimes, you “read table” just to check if there is a corresponding record or not. You don’t actually need the data in the internal table. In that case, you can increase the performance even more by not even using a pointer. Check the following examples:

read table gt_itab transporting no fields 
                   with key matnr = lv_matnr.
check sy-subrc eq 0.

Same applies to loops as well:

loop at gt_itab transporting no fields where werks eq p_werks.
   add 1 to lv_count.
endloop.

Pointers will help you write faster ABAP programs – and impress your friends as well. Seniors will surround you drooling & asking how you managed to turn a turtle-program into a race rabbit; and debugging juniors will go to the corner in tears, wondering why & how you managed to avoid the “modify” command and still changed the data. Be nice, humble, and share the know-how. Otherwise, you would be serving your ego and not the universe; which ultimately leads to disconnection (bad Karma alert).

Feel free to post a comment if you have questions.

Victor Wooten Groove Workshop

This DVD focuses on the widely overlooked aspects of music. All music education is based upon notes. But does it end there? What about timing, groove, dynamics, tone, listening, and all the other aspects that define the difference between an average player and a great player? Those aspects aren’t taught anywhere. Actually, Victor doesn’t really “teach” those aspects either. But he successfully demonstrates them and widens your point of view about being a musician. This video would widen your horizon and make you find out what to focus on for the following years of musical growth – and what you shouldn’t overrate meanwhile. For example; he plays a solo in Gm with all the notes NOT included within the Gm scale, being careful about the aspects mentioned. Then, he plays a solo in Gm with all the notes included within the Gm, intentionally ignoring the aspects mentioned. And guess what? The first one sounds better. His insight about evaluating music as a language and the necessity of having people approach to learning music like learning a language was also very good. Like; did we start learning our language by memorizing the rules first? Probably not. So why learn music by memorizing rules first? I highly recommend this DVD to any musician at any level. Check it out at http://www.amazon.com/Victor-Wooten-Groove-Workshop/dp/B001DPC4I2/ref=sr_1_1?ie=UTF8&s=dvd&qid=1266396645&sr=1-1 .

ASP.NET Menu MouseOver Problem Solution for IE8 and Safari

If you are using ASP.NET menus which open when you drag the mouse over them, you may experience difficulties in Internet Explorer 8 or Safari. They simply won’t respond to your mouseover action.

The workaround for Internet Explorer 8 is simple: Use the compability mode. However; the “solution” has been explained in http://www.daniweb.com/forums/thread244363.html . Here is the excerpt:

Setting the z-index property (HTML) using CSS can address this problem. The CSS class would look something like this:

  1. .adjustedZIndex {
  2. z-index: 1;
  3. }

And the Menu should look like as below

    1. asp:Menu ID="Menu1" runat="server"
    2. DynamicMenuStyle CssClass="adjustedZIndex" /
    3. /asp:Menu

The z-index has to be something higher.

I have set the z-index property as 99, and it worked like a charm.

The solution for Safari has been explained in http://forums.asp.net/t/941229.aspx?PageIndex=2 . Here is the excerpt:

What I did to enable the asp:menu for Safari was to add a file called safari.browser to the App_Browsers folder. The contents of safari.browser are as follows:

<browsers>
<browser refID="safari1plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
controlAdapters>
browser>
browsers>

Basically the refID matches a browser id in the original browser configuration files for the .Net framework. In our custom .browser file we override the control adapter settings for the asp:menu control for this specific browser.

I have tested this on Mac OS Snow Leopard, and it worked like a charm.

Both of these solutions can be implemented together.

Cisco VPN + ESET NoD32 Uyumsuzluğu

Bir süredir yaşadığım bir sorun vardı; Cisco VPN’ e bağlanınca, bağlantı kurulduğu anda bilgisayarım kilitleniyordu. Aslında hardisk vs. çalışıyor görünüyor fakat touchpad ve klavye gibi donanımlar etkisiz hale geliyordu. Harici mouse takınca ise mouse kullanılabiliyor fakat bu sefer de klavye çalışmıyordu, mouse u çıkartınca ise bilgisayar dump yiyiyordu. Neyse daha fazla uzatmayayım. bunun sebebi Nod32 antivirüs programından kaynaklanıyormuş. VPN e bağlanmadan önce Nod32 yi disable moduna getirirseniz ve daha sonra bağlanırsanız herhangi bir problem olmuyor. Benzer sorunu yaşayanlar/yaşayacak olanlar olursa faydalı olacağını düşündüğüm için paylaşmak istedim.
Cisco VPN Sürümü: 5.0.01.0600
(Kaynak: Onur Vatansever)

I Have Quit World of Warcraft

I have quit WOW. I am not a World of Warcraft player any more. If you don’t know what World of Warcraft is, visit http://en.wikipedia.org/wiki/World_of_Warcraft for starters.

Before I move further, let me give you some information about myself. I am a well educated person with a nice career, and a decent social life. I am a software engineer, and a semi-pro musician as well. I have a girlfriend too.

Therefore; I provide a live evidence to negate the argument “World of Warcraft players have no life”. Even if you do have a life, you may become a player – and get addicted as well. Have I ever been addicted? I wouldn’t say that, I was more of a casual player. I never had enough time to spend on the game anyway. However; in the past three years of my WoW life, I seem to be able to spend enough time to make three epic Level 80 characters. This means; I have spent a serious amount of my free time playing World of Warcraft. The fact that the time was dispersed over the years doesn’t change the fact that it was spent.

Before you start judging me about spending time on some video game, consider how much time you spend watching TV, reading useless newspaper columns, chatting about insignificant subjects, or similiar stuff. Video games are yet another way of killing time passively. The time spent there is actually a precious time out of my real life. However; was the time spent for something good? Or was it just wasted for nothing?

Well, that’s a good question with no correct answer. WoW can teach and provide beautiful things, but it has a dark side as well. I guess that the same applies to many online games; but in our case, I’m focusing on WoW.

One of the things you can learn from WoW is to appreciate diversity and teamwork. WoW gives each player the chance to select a different class, and different players need to work together to achieve greater goals. This is a nice example of the fact that different people may have different roles in life. Supporting the same idea; WoW also gives players the chance of being members of guilds – which could roughly correspond to sports teams or corporate companies in real life. Having a different class and race, each member of the the guild contribute in a unique way to achieve greater goals. Sounds simple, but may teach young people a lesson or two while entertaining them.

The balance between different classes of WoW is usually a topic of great discussions. Ask every single player, and he/she will tell you that one of the other classes within WoW is overpowered. But the fact that there is a balance of rock – scissors – paper in WoW is widely accepted. This means; every class can kill some other class very easily, and get killed by another class very easily as well. This approach keeps the game interesting and may teach young people that the weakness in one situation may turn into a strength in another. Losing in some scenarions doesn’t necessarily mean being incompetent in general.

The distinction between specialization and generalization is another aspect of the game. Many characters may be specialized through talents and gear to specialize and become the best in one role (healing, tanking, damage dealing, etc); or they can become hybrids and fulfill multiple roles at the cost of not being as good as specialists in the roles they may take. However, to be accepted to teams aiming at the high end contents of the game, you usually need to become a specialist and focus on one aspect. Hybrids are generally support classes or play more casually. This also corresponds to the fact that high end teams (like bands, companies, sports teams, etc) aiming at the best achievements in real life would be looking for the best people out there – which usually are specialists. If you divide your time into multiple professions, you probably won’t be as successful as someone who focuses on one single profession within the same time span – ceteris paribus.

I’m sure that I can find one more real life lesson or two if I think hard enough. However; I believe that you got the general idea. Now, let’s move on to the dark side of WoW.

First, I want to crunch some numbers. As of 2008, WoW has more than 10.000.000 subscribers worldwide. Each subscriber needs to pay a monthly fee of 14.95$; which corresponds to a shiny minimum income of 149.500.000$ right into the pocket of Blizzard every month. Yeah, this is huge. And income from initial game purchases, toys, merchandise, additional virtual services, etc is not calculated at all. To keep the cash flow running, Blizzard must keep the game interesting and the players addicted. This is something Blizzard was able to sustain since the very early times of WoW. They buff classes over others, invent new mounts, provide additional challenges, ruin the epic Warcraft lore, destroy former homelands – they do whatever it takes to keep people connected to the game. Let’s inspect some sample elements of Blizzard’s way of keeping people pay the monthly fee.

First of all, WoW has a “Carrot on stick” approach. When you start to play with a character for the first time (level 1), you have simple tasks to achieve. But since your character is weak and you don’t know your character very well, your tasks give you (as human) a moderate challenge. As you advance in levels, your character grows strong and you know your character better. Therefore, harder tasks in higher levels give you (as human) the same moderate challange. You make bigger damage, you kill larger monsters, you overcome more complicated difficulties – however, they give you (as human) the same moderate challenge. You strive for better gear and better stats in hope of having an overpowered character. However; no matter how strong you get, former tasks will be too easy for you and new tasks will be a little too challenging – pushing you to strive for even better gear and stats. This is a never ending loop, keeping ever unsatisfied players online and turning them into loyal debitors.

WoW is full of time sinks as well. Taxis (flying mounts) are slow, arenas and battlegrounds have long preparation times, characters run very slowly without mounts. Facing such time sinks, players end up spending more time in the game without playing – which means, paying more on the long run. Blizzard provided WoW players some tools to (apparently) help players minimize the effects of some sinks. You can get your mount earlier for faster movement, and some heirloom items provide you more experience for faster level progression. However, this is also part of a larger strategy. The path to the max level (80) is too long now. Without having such time savers, a player wouldn’t consider rolling a new character; and without having alternative characters, players would get bored of the game sooner or later. Therefore; the time savers are actually money makers as well.

Another element of the dark side of WoW is; it consumes time which should supposedly be spent on real life. Of course; we are humans and we need our free time to break away from the daily life sometimes. We go to the movies, watch TV, play football, have chat, read books, etc. There is no reason why WoW shouldn’t be another subject of entertainment. However; it is so addictive (even for adults) that it can easily become preferred over other real life elements – school, friends, hobbies, even spouses and families. How do I know that? I witnessed it, believe it or not.

Spending real life money on WoW is also another issue. Virtual WoW goods and services are sold by third party companies. Although Blizzard announces from time to time that trading virtual goods (like gold) and services (like power leveling) is against the game policy, people keep spending hard earned cash on virtual junk. Which is, obviously, not the best economic decision ever.

The last (but not least) point I’m going to mention is the mental and emotional masturbation that WoW provides. Yes, “masturbation” – did that word offend you? Yeah right, as if you never did it. Anyway… According to the famous APA motivation theory, people have three motivational incentives: Achievement, Power and Affiliation. Following that theory, WoW virtually provides all of those elements in a relatively easy way. In terms of achievement; all you need to do is to push some buttons in the correct order and you can kill a very large monster – for which you can fool yourself about having a great achievement. Isn’t that mental masturbation? In terms of power, all you need to do is to play the game long enough and you will get great stats and gear to kill other players or monsters more easily – for which you can fool yourself about being very strong. Isn’t that mental masturbation? In terms of affiliation, all you need to do is to join a guild, lead some raids and spam the trade channel or something – you will eventually have some virtual people who have never seen or met you before, but think that you are cool – for which you can fool yourself about being a cool person. Isn’t that mental masturbation? You know that it is, and it may lead you to a point where you prefer WoW over real life for APA which you maybe never experienced in real life at all. But the truth is, which you also know deep down inside, achievements in WoW doesn’t really mean that you have achieved something important at all.

At later stages, your character may even give you a false identity. If you find yourself running around in real life fooling yourself that you are a paladin or warlock, you may have a slight problem in your psychological balance.

In summary, WoW can be a source of great entertainment to have a blast with (preferably real life) friends, and teach young people a thing or two. But it also has a dark side – it may become addictive very easily, and start to do intangible harm.

So what’s it going to be? Should we praise WoW, or mark it as a tool of the devil? The answer is very subjective and personal. However; since alcohol can also be fun but addictive and dangerous at the same time, I would like to share a Surah of the holy Quraan about alcohol as my conclusion:

“They ask Thee concerning Wine and Gambling, Say: In them is great sin, and some profit, for men; but the sin is greater than the profit.” (Surah Al-Baqarah:219)