19 Eylül 2019

2017 yılında iş değişikliğinden dolayı gelen vergi tebligatları hakkında

Selamlar,

2017 yılında bir iş değişikliği yapmıştım. Geçen haftalarda adresime vergi dairesinden tebligat geldi. 2017 yılına ait tüm bordrolarınızla vergi dairesine gelmemi söylüyordu. Vergi dairesine gittim, bordrolarımı incelediler. Şu ortaya çıktı: iş değişikliğinde yeni iş yerim "yıllık kümülatif gelir matrahı" (YKGM) kısmını sıfırdan başlatmış. Bu durumda ödediğiniz gelir vergisi en düşük vergi diliminden hesaplanıyor. Normalde olması gereken yeni iş yerinin YKGM'yi kaldığı yerden, yani eski iş yerinden aldığınız son bordroda yazan rakamdan başlatması gerekiyormuş.

Kanunda yazan bunu çalışanın bilmesi gerektiğiymiş. İş verenin bir yükümlülüğü yokmuş. Tabi, bir çalışan olarak ben kanunları okumuyorum ve bilmiyorum. Sanırım, neredeyse tüm çalışanlar da benimle aynı durumdadır. İş verenin kanunları daha iyi bilmesi gerektiğini düşünüyorum. Çünkü mali denetleme vs. gibi devlet kanalları ile daha çok ilişki içerisindeler. Yanlış bir şey yapmamaya dikkat ederler.

Velhasıl, öyle yada böyle ödemem gereken gelir vergisini hesaplamam gerekiyordu. Dikkat edin, kendimin hesaplaması gerekiyor. Bunu vergi dairesi yapmıyor maalesef. Dolayısıyla bu konuda tecrübesiz olduğum için yanlış yapma ihtimalinden dolayı serbest mali müşavirden danışmanlık aldım. Tavsiyem başınıza böyle bir şey gelirse danışmanlık almak. Yazının sonunda danışmanlık aldığım mali müşavirin iletişim mail adresini paylaştım. Mali müşavir ödemem gereken vergiyi hesapladı ve bunu Gelir İdaresi Başkanlığı'nın online sunduğu hazır beyan sisteminden girdik.

Şöyle bir durum var, sistem bir de size pişmanlık zammı diye bir kalem çıkarıyor. Çok garip ama çıkarıyor. Bilmediğim bir şey için pişman olmak da enterasan bir durum doğrusu. Bilginiz olsun.


Danışmanlık alınabilecek serbest muhasebeci mali müşavir mail adresi:

yildirim.danismanlik.smmm@gmail.com

09 Nisan 2019

How to Call A Number Programmatically Using Amazon Connect Service API?

Let’s think a scenario like this:
You have a CI tool and there exists a serious pipeline in it. This pipeline makes some tests for your production system. Failing any of the tests means that there is an urgent issue about production. Immediately someone has to be notified. So, you want your CI pipeline to call your support guy automatically when there is a failure in your pipeline. How? 

Please read my latest article on Medium.

16 Mart 2013

Google Hesap Makinesi

4 senelik bir aradan sonra akademik hayata geri dönünce matematiğe de geri dönmek zorunda kaldım :) Yazılımın içinde olunca matematik olarak 4 işlem bir de mod alma olmak üzere toplam 5 işlem yapıyorsunuz :) Bu nedenle bazı şeyleri unuttuk tabi. Örneğin 0! = 1 miydi, değil miydi emin olamadım?
Google'a sorunca 0! nedir diye sonuçlar aşağıdaki gibi oldu:


Çok basit ve güzel bir fikir bence. Sonra 3*4 yazdım, sonuç yine aynı şekilde hesap makinesi görünümünde belirdi. Google'ın bu tarz basit ve kullanışlı fikirleri popüler olmasında bir etken bence. Bu özellik eski olabilir, fakat ben yeni karşılaştım, eline sağlık Google...

08 Eylül 2011

JBOSS 6'da "Adding multiple last resources is disallowed" hatası

EJB'nizde bir transaction içerisinde birden fazla JPA entity manager kullanarak işlemlerinizi gerçekleştirmek istediniz. JBOSS 6 kullanıyorum. Hiç bir ayar yapmadan bunu denediğinizde aşağıdaki gibi bir hata alabilirsiniz:

ARJUNA-12140 Adding multiple last resources is disallowed.
...
Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 0:ffff0acc0a36:12ce:4e6754eb:142 status: ActionStatus.ABORT_ONLY >); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 0:ffff0acc0a36:12ce:4e6754eb:142 status: ActionStatus.ABORT_ONLY >))



JBOSS 6'da varsayılan ayarlar olarak bir transaction'da tek datasource kullanabiliyorsunuz. Bu nedenle two phase commit gereken işlemleri yapamıyorsunuz. Bunu yapabilmek için deploy dizini altındaki transaction-jboss-beans.xml dosyasını açınız ve aşağıdaki değişikliği yapınız.


<bean name="CoreEnvironmentBean" class="com.arjuna.ats.arjuna.common.CoreEnvironmentBean">
  ...
     <property name="allowMultipleLastResources">true</property>  
  ...
</bean>

Bunu yapınca uygulamanızı çalıştırdığınızda konsolde aşağıdaki bir warning alabilirsiniz:


WARN  [com.arjuna.ats.arjuna] ARJUNA-12141 Multiple last resources have been added to the current transaction. This is transactionally unsafe and should not be relied upon. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@63a188

Bunun nedeni jboss datasource xml'inizde kullandığınız datasource tipi local datasource olmasıdır. Bunun yerine two phase commit imkanı sağlayan xa datasource kullanınız.

06 Ekim 2010

Gönüllerin Feryadı "Ney"

Ney sazı ile maceram devam ediyor. Saz üzerindeki çalışmalarım yaklaşık 3 seneyi buldu. İnsan sevdiği şeyler üzerine emek harcıyor gerçekten. Ney benim için rastgele bir uğraş olmadı, devamı geldi, Ney ile ilgili ney yapım ustalarının ve hocalarımın yardımları ile farklı bilgiler edindim. Sanki benden bir parça haline geldi diyebilirim. Sıkıldığımda, neşelendiğimde, bunaldığımda yada hüzünlendiğimde destekçim olan yegane unsurlardan birisi oldu. Abartmıyorum eğer evde olursam:) elimden bırakamıyorum diyebilirim.
Geçenlerde iş arkadaşlarımdan Asım'ın teklifi üzerine kurumumuzun dergisinde neyzen arkadaşım Elif ile birlikte bir yazı hazırladık. Çeşitli kaynaklardan bilgileri derleyerek ve kendi tecrübelerimizi de katarak bu yazıyı oluşturduk. Aşağıda bağlantısı mevcut. Yazı derginin son sayfalarında yer almaktadır:

02 Şubat 2010

Süper Netbeans Woodstock Hatası!!!

Bildiğiniz gibi Netbeans görsel web uygulamaları geliştirmek için ICE Faces mimari çatısını tercih etti. Woodstock'ı geride bıraktı. Çok yerinde, çok mantıklı bir karar. Projemizde bir web uygulamasında Netbeans 6.0 kullandım. Doğal olarak Woodstock ile uygulamayı geliştirdim. Netbeans'in yavaşlıkları zaten deli ediyordu, woodstock'ın da o diktatör, esnek olmayan yapısı iyice deli etti kodun bakımını yaparken. Neyse bugün uygulamayı bir gözden geçireyim dedim. Bir sayfada "Calendar" bileşenini kullanmıştım. Daha düne kadar yani Ocak ayında çok güzel çalışıyordu bu bileşen. Fakat Şubat ayına geçince bileşen sapıttı. Bileşene tıklayınca o her zamanki date picker açılır penceresini göreceğimi ümit ederken hiç bir tepki alamamam ilk önce bir afallamama sebep oldu. Sonra bir kaç kez daha tıkladım, sanki bir şey olacakmış gibi, ve yine bir şey olmadı. Sonra bir baktım ki javascript hatası vermiş bileşenimiz. "this.lastRow has no properties" yada "this.lastRow is null" şeklinde. Sonra düşündüm bu geçen hafta, yani Ocak'ın son haftası, düzgün çalışıyordu. Ne oldu birdenbire. Sonra sistem tarihini Ocak ayına çektim. Bir de ne göreyim, çalıştı. Tarihi Mart ayına çektim, yine çalıştı. Ama tarihi Şubat'a çekince, sapıttı. Muhtemelen geliştiriciler Şubat ayının hususiyetini unutmuş, Şubat 28 çeker hemşerim. Neyse sonra google amcama bir sorayım dedim bu durumu. O da bana şu linki verdi:


Birisi daha karşılaşmış olacak ki hemen nasıl çözeriz diye soru sormuş, hem de geçen sene şubat ayında sormuş bu soruyu. Neyse ben hiç çözümünü sormayacağım, zaten adamlar Woodstock'ın pabucunu dama atmışlar. Sağlık olsun, ne diyelim...

30 Haziran 2009

JPA'da Bir Problem mi Var?

Çalıştığım projede EJB 3.0 ve JPA'yı kullanmaktayız. Uygulama sunucusu olarak JBoss 4.2.3 GA kullanıyoruz. Bu sabah bir native query yüzünden 1 saat oyalandım durdum. Query native yazıldı çünkü karmaşık bir query idi. JPA API'sindeki createNativeQuery metodu kullanıldı. Sorun şu: query'de çekilen kolonlara isim vermeyince otomatik olarak kolon ismi atanıyor. Bunu da çekilen alanın ismine göre yapıyor. Örneğin; "... d.id, p.id ..." şeklinde kolonlar varsa sonuç listesinde "ID, ID " şeklinde bir görüntü oluşuyor. Bu durumda da normalde d.id değeri 120, p.id değeri 130 ise ikisi de 120 geliyor. Daha sonra query'i "... d.id AS ID1, p.id AS ID2 ..." şeklinde değiştirince sorun gözükmüyor. JPA kolon isimlerinden dolayı bir karmaşaya düşüyor galiba. Çözüm bulmak sevindirici fakat böyle bir saçmalıktan dolayı 1 saat boşa uğraşmak üzücü...