Showing posts with label technology. Show all posts
Showing posts with label technology. Show all posts

Mimar

 
Şişli/İstanbul

Mimar olmak, mimar gibi düşünmek ve üretmek konularına uzun zamandır kafa yoruyorum. İnşaatla ilgili bir kavram olmasına karşın, inşaat harici birçok sektörde hem bir kariyer yolu, hem de bir yaklaşım tarzı olarak yer tutuyor mimarlık. Buna karşın, sadece inşaatla ilgili bir disiplin olarak formel eğitimi veriliyor hala. Kavramın günlük hayattaki yansımaları ile akademik yeri arasında bir ilişki kopukluğu var. Bu nedenle, mimari yaklaşımın ana hatlarını belirleyip, onlar üzerinden, inşaattan bağımsız bir mimari çerçeve çizebilmek üzere okumalar, konuya ilgili arkadaşlarımla tartışmalar yapıyorum bir süredir.

Mimar kelimesi, Arapça'dan gelmiş dilimize ve "imar eden" anlamını taşıyor. Kelimenin İngilizce'si architect ise Latice archiectus, o da Yunanca arkhitekton kelimesinden türemiş. Arkhi usta, üst seviye; tekton ise zanaatkar, üreten, marangoz gibi anlamlara geliyor. Yani işin içinde bir üretme, yapılandırma ve üstatlık var.

Bizim meslekte veri mimarı, yazılım/uygulama mimarı, çözüm mimarı, kurumsal mimar, sistem mimarı, bilgi mimarı, hatta iş mimarı gibi yaygın unvanlar var. Ayrıca, bu durum "isim+mimarı" formülüyle sonsuz biçimde türetilmeye de müsait. En basit gözlemle, bir konuda kıdeminiz artarken, bir noktada kendinize o konunun mimarı demeye başlıyorsunuz. Kurumunuz da buna dair bir unvan devreye alıyor ve olaylar gelişiyor.

Peki, mimarları mimar yapan nedir? Mimari yaklaşımın özünde var?

Klasik mimari ekolden derleyebildiğim başlıklar şu şekilde:

  1. Hacmi tanımlama: Ana akım mimarların yaptığı başlıca iş bu... Boş bir hacmi bir amaca hizmet eder biçimde bir yapı olarak tasarlamak. Bir nevi, yoktan var etmek. Dolayısıyla, inşaat sektörü dışında kendine mimar adı veren kişilerin, bu olmayanı tasavvur etmek ve amaca uygun bir tasarım ortaya koymak konusunda ustalaşması beklenebilir.
  2. Malzeme bilgisi: Mimarlar, tasarladıkları yapılarda kullanılacak malzemeler ve bileşenler hakkında derin bir bilgiye sahipler. Amaca uygun biçimde, ilerici, önceden denenmemiş yapı elemanlarını kullanma cesareti göstermek, bazı durumlarda da işe özel, niş yapı elemanları ve malzemeler üreterek kullanıma almak gibi öncü hareketler de yaparlar. İnşaat dışı mimarların buradan alacakları ilham, kendi tasarım malzemeleri hakkında bilgili olmak ve bazen de standart olarak el altında olmayan bileşenleri üretebilecek beceri ve cesarete sahip olmak denilebilir bence.
  3. Etkileşim tasarımı: Bir mimar, bir yapı tasarlarken o yapıyı kullanacak insanların içerdeki deneyimini, ayrıca o yapıyı konumlandırdığı yerde, yapıya girmeyip yanından geçecek olsalar dahi, insan topluluklarının yapı ile ilişkisini, merkezi ve çevresel olarak tanımlıyor ve çok boyutlu olarak tasarıma dahil ediyor. Bütün bu değerlendirmeler ışığında, yapıya son halini veriyor. Bu noktadan çıkarılabilecek ders oldukça net: İnsanı ve insanın sistemle olabilecek tüm etkileşimlerini merkeze koyarak tasarım yapmalı inşaat dışı mimarlar da. Bilgi sistemlerinde kullanılabilirlik adı verilen kavramın sadece ekran tasarımında kullanılan CSS bilşenlerine indirgendiğini hatırlarsak, mimarlara burada büyük sorumluluk düştüğünü ifade etmemiz gerekir.
  4. Uyum ve estetik: Mimarlar tasarladıkları yapıların estetik bir ifadeye sahip olmasına, ayrıca, çevre yapılarla ve unsurlarla uyum içerisinde olmasına özen gösteriyor. Uyum anlaması ve tanımlaması daha kolay bir kavram ama estetik, başlı başına derin bir konu. Zamana göre estetik algısı tamamen değişebiliyor. Klasik dönem estetiği daha kesin ölçülerle tarif edilebilirken, popüler kültürde estetik kurgu bazen birbirine taban tabana zıt olgularla kendini gösterebiliyor. Fakat, şu veya bu şekilde, bir mimarın estetik konusunda bir kültürel birikimi, algısı, yorumu olmalı. Bu anlayış ile ortaya koyacağı eserin içinde yer alacağı bağlamla örtüşüyor olmasını güvence altına alabilmeli. Yarattığı dokunun niteliğini ve o dokunun genel manzaradaki yerini tahlil konusunda uzman olmalı. Bizim sektördeki mimarların da kurgulayıp hayata aldıkları yapıların çevre sistemlerle uyumunu sağlamaya ve estetik değer yaratmaya özen göstermeleri, bu konuda bilgi ve beceriye sahip olmaları gerekir.
  5. Bakım kolaylığı ve dayanıklılık: Mimarlar, eserlerinin yıllara meydan okuyacak bir sağlamlıkta olmasına özen gösterirler. Zamanın yıpratıcı etkilerine dayanıklı yapılar üretebilmek, bir yanda kullanılan malzeme ve yapı elemanlarının niteliğine, diğer yanda kolay bakım ve yenileme imkanlarına bağlıdır. İnşaat dışı mimarların da kurdukları yapıların dayanıklı olmasına, bakım işlemlerinin düşük maliyetle halledilebilmesine dikkat etmesi, kalıcı eser bırakmaya gayret etmesi oldukça önemli.
  6. Koordinasyon: Mimarlar üretim dinamiklerinin merkezinde yer alıyor ve üretim süreçlerinde görev alan farklı uzmanları tam bir eş güdümle idare ederek yapının zamanında ve tasarıma uygun biçimde inşa edilmesini sağlıyor. Ortaya çıkan problemlerde kalıcı çözüm üretiyor, gerekirse başa dönüp tasarımı geliştiriyor. Mimarın eli daima taşın altında... Mesaj net.   

Benim mimari ortak yaklaşım eksenlerini belirlemekte gelebildiğim nokta şimdilik bu şeklide. Bilgi sistemleri üreten ve yöneten profesyonellerin bu başlıklardan esinlenerek işlerini daha iyi bir mertebeye taşıyabileceklerini düşünüyorum.

Akademi tarafında da mimarlık ve inşaat bölümleri dışında "mimari yaklaşımın esasları" başlıklı dersler olması, genç meslektaşarımızın bu kavramlara hakim olarak sektöre atılabilmeleri açısında büyük değer yaratacaktır.

Tabi ki bilgi sistemlerinin kurumsal mimari yönetimine dair Zachman ve TOGAF gibi yapılar yıllardır var. Fakat, bu mimari çerçeveler klasik mimariden ilham almıyor... Kendi içinde tutarlı ve birbiriyle ilişkili katmanları; bu katmanların zaman içindeki değişimine dair yönetim ilkelerini tanımlıyor. Belki de ana akım mimari ile kurumsal mimari yönetim disiplinlerini ortak bir potada eriterek bazı yeni öneriler yapmalıyız... 

Denemeye değer.

Maçka/İstanbul

Fotoğrafların yarattığı göz acıması için kusura bakmayın ama hayatımızın içindeki birkaç tatsız mimari gerçeği tarihe not düşmek adına paylaşmak istedim.

Üretken Yapay

Geçen hafta Cumhuriyetimizin 101. yılını kutladık. Artık kutlamaların sosyal medya yansımaları da kendi içinde bir gelenek haline geldi... Hatta sokaklardan, alanlardan daha hareketli oluyor sosyal medya bazen.

Bugün hala rahat, medeni, özellikle kadınlar için söylüyorum, 'normal' nefesler alabiliyorsak bu cidden Atatürk'ün kurduğu yapının güçlü doğası sayesinde: Laiklik sayesinde, hukuk devleti sayesinde, demokratik cumhuriyet sayesinde. Baskıcı teokratik rejimlerin olduğu ülkelerde toplumdan soyutlanmış kadın manzaralarını, eften püften sebeplerle karakollarda ve hapisanelerde geçen hayatları ibretle görüyoruz. Şükürler olsun Atatürk'e ve kurduğu cumhuriyete. Bin yaşa Atatürk, bin yaşa Cumhuriyet.

Geçen hafta, bu ruhla yapılmış birçok Atatürk temalı paylaşım gördüm. Hepsinin de coşkusu, niyetinin güzelliği, samimiyeti bence tartışılmaz. Fakat, ilginç bir manzara da vardı: Benim dikkatimi çeken paylaşımların yaklaşık üçte birinde yapay zeka ile üretilmiş Atatürk avatarları vardı. Çok çirkin, estetikten uzak, sadece yapılabildiği için yapılmış... Özensiz. Alakasız kıyafetler, renkler, pozlar...

Dünyanın gördüğü belki de en yakışıklı, şık, ve iyi poz verebilen devlet adamı olan Atatürk'ün orijinal fotoğrafları veya tabloları yerine böylesine zayıf avatarlarını üretmek ve bayramda paylaşmak çok anlamsız. Bana göre, Atatürk'ün anısını da yıpratır nitelikte.

Yapay zeka kullanımının bazı bilişsel tembelliklere yol açacağı aşikar. 'Model collapse', yani yapay zeka modellerinin bir süre sonra sadece kendi üretmiş oldukları verilerle eğitilmek zorunda kalarak sığlaşacağı da aşikar. Belli ki bu teknoloji vasatın elinde yayıldıkça sanatı, tarihi, tekniği, estetiği büsbütün yozlaştıracak. Ve birkaç nesil sonra doğruyu teyit edebileceğimiz referanslar da yitip gidecek. Özgünlük bir hayalden ibaret olacak.

Hala orijinal bilgi ve belgelere erişebiliyorken şahsi arşivlerimize yatırım yapmak zaruri görünüyor.

Fiziki arşiv hem de!

CIO

 

Mimisbrunnr image by Rim Baudey

Data has always been in the center scene. Information processing, including communications, has always been the primary purpose. Different types of computers have been developed. Different layers of software have been devised. We put the computers in dedicated facilities and called them data centers. It was not by chance, data has always been the prima donna.

Of course, in time, we needed to formally define organizational bodies for governing data centers and computer systems. Normally, it began in different state departments first such as one computer for Military Ballistics Research Department, another for US Census etc. Then it became enterprise level and we needed central, enterprise level planning, execution and control of computer systems within public and private legal entities. At this point in time, Chief Information Officers emerged (CIO).

The name CIO were suggesting everything about its responsibility area. A role, built around information. Computer and communications systems’ importance got higher and higher every day which resulted in the increased power of CIOs. They were not just managers of cost centers but major business partners. Beyond that, they were business enablers. CIOs were prevalent in governmental bodies and private companies, and they still are.

However, in the last decade, especially in private sector, CIO visibility has been deteriorating. What happened to CIOs? Where are they?

CIO role is splitting and giving birth to other roles. 

One is Chief Technology Officer (CTO). If you give the right meaning to the term “technology”, CTO role must be superior to CIO role because information and communication technologies referred in the name CIO is just a subset of technology. But in practice, in private sector, if you are managing information technology infrastructure (e.g. servers, network, data center, platforms, client computers and peripherals) you are the CTO. Some CTOs also handle software development function, especially in relatively smaller companies. CTOs commonly don’t carry profit generation responsibility. These were all CIO duties…

Other is Chief Data Officer (CDO). It is the most interesting, actually. When this role was invented, most of the CIOs could not figure out the organizational location and the responsibility perimeter of CDOs. They thought CDOs should report to CIOs. It is understandable. CDOs are usually responsible of data governance, data analysis, business intelligence & critical reporting, education & culture, data architecture, data privacy, database management and data platforms, data engineering. They are supposed to have P&L accountability but in practice, usually they do not. The list can be shorter or longer depending on the setup. Looking at the topic of CDO definition from that point of clarity, it was right for CIOs to be confused and to feel their premises lost to CDOs because all those have always been CIO tasks.

The other role is Chief Information Security Officer (CISO).  As the name suggests, CISOs are taking care of all information security tasks such that information protection & confidentiality, identity and access management, investigations, information risk management, information incident management, regulatory security compliance etc. These were all CIO responsibilities actually but CISO roles mostly have been established by regulations as an independent senior position for preventing conflict of interests between CIOs and information security directors under them.

As a result, in the private companies, number of CIOs are declining; CISOs are increasing in a robust way; CDOs are vaguely surviving, there are reasons for this but these are beyond the scope of this post; CTOs are increasing as the new form of CIOs. At the government side (I follow USA structure, both civilian and military organizations) CIOs are powerfully going on their mission.

That’s the question: Why? Why are CIOs losing their castles? In theory, there were “data” centers, enterprise level management needs for “information” & communication systems and perfectly matching role description as the CIO… What happened in a sudden?

Frankly, I don’t know all the answers but I can put one or two things: Characters of CIOs have an effect. Most of the CIOs could not contribute to company profit through business development. Being an enabler was not powerful enough anymore. It was very hard for a CIO to over-achieve. Managing a bunch of engineers and very complex information systems became a sterile factor within companies.  Burden was so heavy on the shoulders of CIOs… CEO and CFO were considering them as cost black holes; moreover, it was very difficult to be compliant with regulations, growing daily. Being a good CIO has been like being a sort of super hero. On top of all those, accelerated change in information technologies required more specialized managers… 

But… But. 

At the end, it is business, it is life.  Things happen, there is entropy in the universe and increase in complexity is inevitable. That’s for sure, one man could not solve everything but if CIOs could have showed bolder character on their domains, things would be different.

Personally, I still am supporting the notion of CIO rather than other Cs emerged from CIO lndscape. Because, to me, life is information processing and the "I" in the middle of CIO represents a lot. 

Think.

Teknoloji

 

Antikythera Düzeneği, M.Ö. 2. yy.

Teknoloji Okuryazarlığı

Mart ayında Çağdaş Yaşamı Destekleme Derneği üyesi üniversite öğrencileri ile, dilim döndüğünce, teknoloji okuryazarlığı hakkındaki görüşlerimi paylaştım. Buna hazırlanırken Amerikan National Research Academy ve National Academy of Engineering tarafından kaleme alınmış Tech Tally adlı kitaptan yararlandım. Bir konu hakkında görüşlerimi toparlarken yaptığım hazırlık daima benim için de öğretici ve zihin açıcı oluyor. Bu nedenle, şahsen merak duyduğum, mesleki olarak ilgimi çeken veya uzmanı olduğum konularda uygun ortamlarda anlatım yapmaya çalışıyorum.

Referans aldığım kitaba göre teknoloji okuryazarı birinin sahip olması gereken 3 nitelik var: (1) Bilgili olmak, (2) eleştirel düşünmek ve rasyonel karar verebilmek, (3) Teknoloji kullanımında becerikli olmak. Tabi ki bu başlıkların her birinde ayrıntılı tarifler de var ama ana başlıklar yeterince fikir verdiğinden alt başlıklara değinmeyeceğim. Bir ülkedeki teknoloji okuryazarlığı mertebesi o ülkenin genel başarısını belirleyen temel faktörlerden biri ve bu konuda her seviyede eğitim kurumuna birçok görev düşüyor. Teknoloji okuryazarı olmadan teknoloji üretebilmek, üretmek bir yana, eldeki teknolojileri verimli biçimde kullanabilmek pek mümkün değil. 

Tabi teknoloji deyince geniş bir alana işaret ediyoruz. International Technology Education Association (ITEA) gruplamasını baz alırsak, 7 ana teknoloji sınıfı var: (1) Tıbbi, (2) Tarım ve ilişkili biyoteknolojiler, (3) Enerji ve güç, (4) Bilgi ve iletişim, (5) Ulaşım, (6) Üretim teknolojileri, (7) İnşaat. 

Buradan hareketle, bir dil kısırlaşmasına dikkat çekmek istiyorum. Bilgi ve iletişim teknolojileri gündelik hayatın doğal akışında o kadar yaygın kullanılıyor ki teknoloji denildiğinde birok kişinin aklına sadece bilişim teknolojileri geliyor. Bu bakış açısı, gerek teknolojinin anlamı ve algılanması, gerek kullanımı ve öğretimi, gerekse üretimi açısından görece zayıf bir zihin durumu yaratıyor. Eğer teknoloji okuryazarlığı yüksek bir toplum hedefleniyorsa, kelimenin anlamı ve tanımın zenginliği yerli yerinde ortaya konmalıdır ki referans yapımız sağlam ve verimli olsun. Fakat, bu ideal durumdan uzağız gözlemlediğim kadarıyla. Büyük firmaların bilgi ve iletişim teknolojilerinden sorumlu departmanlarına dahi kısaca teknoloji adı veriliyor. Hatta, sadece bilgi teknolojileri alanında faaliyet gösteren firmalara  "marka + teknoloji" formülü ile isim veriliyor ve bu ismi gören herkesin aklına yazılım, bilgisayarlı otomasyonlar vb. geliyor. Kimse "acaba bu firma ulaşım teknolojileri alanında çalışıyor olabilir mi?" sorusunu aklına getirmiyor. Pratikte şimdilik bir sorun yaratmıyor ama teoride problem var ve bence gelecek için risk taşıyor. Global ölçekte başarı yakalamış bilgi ve iletişim teknolojileri firmalarının isimleri incelendiğinde sözlerimde haklılık payı olduğu görülecektir kanısındayım. 

İnternet Tarayıcı

İşlemci kapasitesi ve bağlantı hızı yüksek taşınabilir cihazlar sayesinde bireysel yazılım dünyasında mobil uygulamalar ana akım oldu ve bu durum uzunca bir süre daha sürecek gibi görünüyor. Sadece ileri seviye veya profesyonel bilgisayar oyuncuları, yazılım geliştirenler ve şirketlerinde kurumsal yazılım kullanan çalışanlar masa üstü veya diz üstü bilgisayar (PC) kullanıyor.

PC dünyasında kullanılan uygulamaların çoğu İnternet tarayıcsı üzerinde çalışmak üzere geliştirilmiş n-katmanlı, web uygulamaları. Mobil uygulamalar ise kullanılacak cihaza özel geliştirilmiş native uygulamalar. 

Doksanlarda, PC üzerinde kullanılan uygulamalar da native idi. Bunlara "rich client" derdik. Zengin kullanıcı deneyimi sağlayan, istemci/sunucu mimaride çalışan uygulamalardı. Daha sonra, 3 katmanlı mimari devreye girdi: PC üzerinde "thin client", İnternet tarayıcı içinde çalışan uygulamalar, ortada uygulama sunucusu ve arkada veri katmanı. Bu mimari, istemci tarafında yüksek ortam bağımsızlığı (portability) ve yazılım dağıtımı operasyonlarında etkinlik sağlıyordu. Artık her uygulama sürümünün istemci katmanına dağıtım yapılmasına gerek kalmamıştı, istemci bilgisayarda belirtilen standarda uygun bir İnternet tarayıcı olması uygulamanın çalışması için yeterliydi. Fakat, zamanla bir sorun baş gösterdi: Kullanıcı deneyimi çok düşmüştü. HTML bazlı uygulamalar istemci/sunucu mimarideki native uygulamalar kadar esnek, renkli ve zengin içerikli değildi. İşte tam burada bence bir hata yapıldı ve tarayıcı içinde çalışan, "script" adlı verilen programlama dilleri ile HTML uygulamaların esnekliği, görsel zenginliği ve veri alışverişi dinamikleri sağlanmaya başladı. Devamında CSS, XML, XSL, XSLT, Ajax, comet programming vb. yepyeni meslekler ve uygulama alanları doğurdu.
O zamanlarda İnternet tarayıcısı savaşları çok hararetli olduğundan, işletim sistemi seviyesinde n-katmanlı native uygulamalara doğru ilerlemek yerine tarayıcıyı neredeyse kurumsal ölçekte uygulama çalıştıran bir platform haline getirmek yöntemi tercih edildi ve günümüzde PC dünyasında hala bu yaklaşım devam ediyor. İnternet tarayıcılar uzun zamandır tarayıcı değiller, karmaşık bellek yönetimi, eklentiler üzerinden donanım erişimi, bağlantı yönetimi gibi temel işlevleri yürüten birer unsura evrildiler. Hal böyle olunca, bir yazılım uygulaması için tarayıcı uyumluluğu, uygulama değişikliği yönetimi ve yazılım dağıtımı açısından kritik seviyede bağlayıcı oldu. Eski günlerde, istemci bilgisayarın işletim sistemine uyumu gözetilirken, artık hem işletim sistemine hem tarayıcıya uyum gözetilmek durumunda. İstemci olarak PC yöneten kurumların sancıları bitmek bilmiyor... Tarayıcı ortamı asla işletim sistemleri kadar sağlam olmadığından, birçok güvenlik açığı barındırıyor ve çoğu bilişim güvenliği vakasında tarayıcılar ve web tabanlı uygulamalar yıllardır kötü anlamda baş rolde.

Bu hikayeye sonradan katılan mobil uygulamalar, hem yazılım mimarileri, hem işletim sistemleri, hem de gelişmiş donanım kabiliyetleri açısından kurulu ve daha olgun bir düzene yerleştikleri için İnternet tarayıcılarında çalışan yazılım uygulamaları furyasına uyum sağlamak yerine, işletim sistemlerine uyumlu "rich client"/native uygulamaların dağıtımı ve kullanımına dayalı bir tercih ile ilerlediler ve başardılar. Günümüzde, milyarlarca kullanıcıya, milyonlarca mobil uygulama başarıyla yükleniyor, yazılım sürüm yönetimi yapılıyor, işletim sistemi bakımı oldukça sağlıklı biçimde yerine getiriliyor.

Peki, kurumsal dünyada neden hala PC kullanıyoruz ve İnternet tarayıcı için yazılım geliştiriyoruz? Bu durumun, geleneğin devamlılığından öte, rasyonel bir açıklaması var mı? Donanım olarak çok güçlü ve güncel işletim sistemine sahip, sadece ofis uygulamaları için kullanılmakta olan bir istemci bilgisayarı standart yama ve güncellemeler ile ancak 5 dakikada açılacak yavaşlığa getiriyoruz. Düzenli olarak güncelleme alan cep telefonları neden 5 dakikada açılmıyor? 

Ben, kurumsal dünyada, mobil işletim sistemleri, mobil uygulama yazılım mimarisi ve mobil uygulama yazılım dağıtım yöntemleri ile daha sağlıklı ve rahat yönetilebilir bir manzara oluşacağını düşünüyorum. Milyarlarca kullanıcıda tatmin sağlamış bir yaklaşımın kurumların iç kullanımında başarısız olması çok düşük bir olasılık bana kalırsa.

Kararlı olunursa, kültürel dönüşümde sorun yaşanacağını sanmıyorum. Web programlama ilk çıktığında sadece dış müşterlere yazılım hizmeti geliştiren uygulama geliştirme departmanları bu teknoloji ve programlama dillerini kullanıyordu ve zamanla web programlama ana akım oldu ve her departman İnternet tarayıcısı için yazılım geliştirmeye başladı. Hala bu devam ediyor. Günümüzde de sadece dış müşteriye yazılım hizmeti geliştiren departmanlar mobil ortamlarda yazılım geliştiriyor ama emin olun gelecekte, aynen web programlamada olduğu gibi, tüm yazılım geliştirme departmanları mobil platformlar için gereken düzende iş görmeye başlayacaklar.   

Bulut

Bu konu popülerliğini yitirdi ama bence son derece kritik bir saha burası ve acilen ülke çapında bir takım inisiyatiflere ihtiyaç var. Öncelikle bildiklerimi sırayla yazayım:
  1. İşletmeler kendi veri merkezlerini yönetmek istemiyorlar çünkü maliyet yükü her gün artıyor, hizmet sürekliliği ve enerji etkinliği açısından konsolidasyonlara yönelmek gerekli görülüyor
  2. Bulut hizmet sağlayıcıları (BHS) Amerikan ve Çin firmalarından oluşuyor. Avrupa Birliği'nin Gaia-X gibi alternatif girişimleri var ama henüz pazarda görünürlükleri yok
  3. Siber egemenlik, tanımı net olmamakla birlikte, tüm ülkelerin gündeminde. Fakat, filli durum ile egemenlik talepleri bambaşka noktalarda. Örneğin, batı dünyasının ürettiği dijital verilerin %90'ından fazlası Amerika'da saklanıyor; küresel yazılım ve BHS pazarında Amerika uzak ara lider, iletişim teknolojileri, özellikle 5G GSM,  donanım üretiminde Çin son derece hızlı biçime büyüyor
  4. Yazılım tedarikçisi firmalar her geçen gün ürünlerini %100 bulut uyumlu hale getiriyor. Yakın gelecekte bulut harici ortamlarda, kurumların yerel veri merkezlerinde, kurumsal yazılım uygulamarı çalıştırmak sorun teşkil edecek
  5. Kişisel veri mahremiyeti siber egemenliğin bir gereği olarak yasalarla düzenlenen ve ticari sonuçlar doğurmaya başlayan bir kavram 
Bu tabloya bakınca, eğer Amerika veya Çin'de bulunmuyorsanız ürpermeniz gerekir. Belirttiğim gibi, siber egemenlik, Avrupa Birliği, Çin, Rusya dahil birçok kritik aktör tarafından önemsenen bir konu. Siber egemenliğin bir boyutu verilerin ve sunucuların lokasyonu, diğer boyut iletişim ağlarının kontrolü ve siber güvenlik, bir başka boyut vatandaş verilerinin mahremiyeti ve son olarak vergilendirme. O kadar karmaşık bir alan ki yasalar, teknolojik altyapı, uluslararası ticaret dinamikleri, ulusal güvenlik, finansal bağlayıcılıklar gibi çetrefilli başlıklarda eylem gerektiriyor. 

Böylesine zorlayıcı bir mevzuda daha ileri analizler yapamam ama bize dair hassas vaziyete işaret edebilirim: (a) Ülkemizde de kritik verilerin yerelliğini gerektiren yasalar var. (b) Yazılım tedariği ve BHS noktalarında bütün dünya gibi biz de dış ülke bağımlılıkları taşıyoruz. (c) Yukarda belirttiğim gibi birçok kurumsal yazılım yakın gelecekte yerel veri merkezlerinde çalışmaz hale gelecek ve birçok kurum BHS hizmeti almaya mecbur kalacak. (d) Global BHS firmaları yakın zamanda ülkemizde yüksek kapasiteli veri merkezleri kurmayı planlamıyor. Dolayısıyla, alternatif adımlar atılmazsa, biz yakın gelecekte, ya kritik verilerimizi ülke sınırlarının dışında saklamak durumunda kalacağız, ya da mevcut kurumsal yazılımları (ofis uygulamaları dahil) kullanmayı durdurmak zorunda kalacağız. Yani ya siber egemenliğimizden, ya yazılım otomasyonlarımızdan taviz vereceğiz, ya da adına hibrit denen sürdürülmesi imkansız bir ara formüle tabi olacağız.

Gördüğüm kadarıyla, ortaya koymaya çalıştığım tablonun çözümü için yeteri kadar tartışılmıyor. En azından, gündeme bakınca, bu önemli konuya ayrılan kısım çok dar. 

Çözüm önerene ise rastlamadım.

Yapay zekaya sordum :) cevabı aşağıda:

You:
What should Türkiye do for establishing digital sovereignty?

ChatGPT:
// Establishing Digital Sovereignty for Turkey

// 1. Develop National Digital Infrastructure
Invest in:
- High-speed internet access
- Data centers
- Cloud services
- Cybersecurity measures

// 2. Promote Indigenous Technology
Encourage:
- Development of indigenous software, hardware, and digital services
- Reduce dependence on foreign technology

// 3. Data Protection and Privacy Laws
Implement:
- Strong data protection and privacy laws
- Regulations on data collection, storage, processing, and sharing
- Data localization where necessary

// 4. Cybersecurity Measures
Enhance:
- Cybersecurity frameworks
- Regular audits and assessments
- Collaboration between government, businesses, and experts

// 5. Digital Skills Development
Invest in:
- Education and training programs for cybersecurity, data analytics, software development
- Skilled workforce

// 6. Support Indigenous Innovation
Provide:
- Funding programs
- Incubators and accelerators for startups and tech companies

// 7. International Collaboration
Collaborate with:
- International partners and organizations
- Share best practices and align policies

// 8. Promote Digital Literacy
Educate:
- Public about digital rights, responsibilities, and risks
- Digital literacy programs

// Outcome: Strengthen digital sovereignty, promote economic growth, protect national interests


Regressive Progression of Technology

 

Tablet 5 of the Epic of Gilgamesh

Some of my friends know that I have been talking about regressive progression of the technology for at least 7-8 years. After years of small talk, now it is time to write about it. 
I cannot say I am the inventor of the term "regressive progression". When I scan the literature there are three references containing the term: One is in the field of arts, the other is in zoology and the last one is Henri Lefebvre's sociological analysis approach called regressive-progressive method. Therefore, my type of use of the term can be accepted as an authentic one because it is purely on the interpretation of the technological advancement. However, it is obvious that this post has no academic qualities, this is just a personal attempt to put a note in the eternal history of the Internet.

In my opinion, when a particular technology reaches a certain level of maturity, its use case reflects the first use case of the phenomenon in the known history. Tablet may be the most understandable example: In the history, mankind used clay tablets for recording, spreading and categorizing information. Then leather used for this, then papirus, then paper, then digital computers connected to keyboard and CRT displays, then LED displays and after years of progression we are using tablets again. Even the name is the same: Tablet. Think about the use case: A human being holding a tablet for reaching information. Totally the same. As if nothing happened in thousands of years, as if technology has progressed for re-creating the regressive way of the use case.

The other example can be the method of barter in trade. We know that barter is the first type of trade in the history which works like this: Peers are exhanging their products directly with each other instead of using any intermediaries or medium of exchange such as money. Then think about the progression of global trading system: We invented money, markets, state, governments, taxation, many ways of transactions, capitalism, communism, open markets, stock exchange etc. Finally, today we again are talking about peer-to-peer direct transactions through blockchain networks. Just like barter, no entities between peers. Very similar to the tablets case, thousands of years of progression in trade system results in the re-creation of the regressive use case.

Remember the carrier pigeons used for postal delivery. And look at the drones. Again, many years of development in technology but the use case regressed.

Cell phones are examples too. People were climbing hills and shout or whistle for peer-to-peer vocal communication in the ancient times. Cell phones were introduced and use case regressed again. Think of the interim systems used in the history up to the introduction of cell phones.
 
So, if my theory is sound, what is the mechanism that supports the regressive progression of the technology? I tried to picture the idea in the charts below.

Chart 1: Number of functions a single technology can encapsulate.

Chart 2: Number of different technologies needed for a single function.

We know that technology is actually a packaged form of knowledge. Therefore, while technology is progressing in time, the level of the knowledge it represents is increasing too. As a result, a single technology becomes capable of encapsulating many functions that can work by needed knowledge underneath. Take the example of the tablets, we need knowledge for symbol manipulation, information transfer, information security, information storage etc. for the use case desired. Today, we have enough maths, Internet, batteries, silicon chips, multicore CPUs, solid state disks and some more tools embedded in a single tablet computer which can promote all necessary knowledge for the typical use case. When that level of sophistication reached, all the unneeded details disappear or eliminated and we see the simplest form of the function: A man holding a tablet for information exchange. Complex engineering serves for simplicity as I explained in one of my posts.

Okay, if this theory works fine. How can we use it? 

We can use it for futuristic purposes. In futurism, there are some methods for identifying and following trends. It's called SEPET analysis: If you're studying a topic, you must take the aspects of society, economics, politics, environment and technology for understanding the trends that may affect future. For the T of futuristic analysis, you can use regressive progression interpretation way. I already have used it for cars in one of my LinkedIn comments. Of course, it was a sudden analysis saying that there will be hyper powered shoes for personal mobility purposes. The route of the analysis was like this: Humans were on foot, then shoes, then animals, then cars pulled by animals, steam cars, petrol engine cars, electric cars. We are here now. My regressive progression estimate may tell that there will be electric powered shoes which will make the cars or bikes obsolete for personal mobility puposes. 

It may be true or not but I believe it worths thinking a bit more :) 

I, Robot



I have been thinking of composing my ideas on robotic process automation for a while. My initial gut feeling was like “there is something wrong about it”. However, to be more serious, I've read about it, examined the current market and tools, learnt typical use cases and challenges so that I postponed the blog post until this day. And today, I am still saying that “something is wrong”.
I am living on enterprise software development and information systems automation for about 20 years. I have seen mainframe systems, client server systems, three tiered systems, n tiered systems, distributed ones, comet servers, cloud based systems, re-invention of virtualization and I am still experiencing new models of computation and automation.

Treat a macro as it is a macro

In my interpretation, RPA approach is a type of macro. We are familiar with macros since assembly programming language was dominating the realm of software development. Macros are good for improving a person's repetitive task performance and not good for enterprise automation.
People have been using macros for decades, solving their information processing problems in a, so called, IT independent way. Remember the times you faced big macro embedded spreadsheets, actively in use in a department, where you are conducting systems analysis for better automation. You must read the macro codes, extract the logic and after perfecting it, design the enterprise automation in a more manageable and accountable way. We were calling that hidden macro code silos as shadow IT. Our mission was illuminating the shadow.
Nowadays, people are calling those department based macro codes “robots”. Moreover, they are saying that they optimize and automate processes by using those robots. The only difference is, they don't want you to code your macros in spreadsheet applications but by using some RPA tools.
It is wrong. It is still the macro. And it must be in personal self-service use in departments no matter the department is in IT organization or not. You must not try to automate your enterprise wide processes by using macros. Full stop.

Record 'n Play

We are living in 21st century in the middle of information boost, hyper connectivity, remote cars on the surface of Mars but we call a record and play based fancy software a robot. Asimov must be aching in his grave. Please have a look at the video below. 



Those were the days we call macros as macros, not robots. Today, many RPA tools are still recording and playing. Very interesting, right?


Process engineering and automation

RPA approach proposing that if you have some rule based repetitive tasks handled by human beings in your processes, you can create a macro code for eliminating human task force in the operations given. So that you can reduce the operational expenses in a very fast way. Trivial jobs to be done by macro codes, faster than a human, more accurate than a human, cheaper than human manXhours. Sounds good. Some limitations of contemporary RPA projects are (a) no critical communications can be handled, (b) no critical decisions can be made, (c) no rules, no actions. That means, no intelligence.
Although, some AI algorithms are being tried to be embedded in RPA macro codes, companies cannot take the risk of millions of wrong messages sent to customers or delegation of critical decision making to algorithms because of possible legal consequences. So there is still time for achieving so called cognitive RPA. That means, no intelligence again.
When it comes to process automation. It's becoming more interesting. Imagine your are reviewing a company process and you found out that a team of people is checking a screen, controlling the values in some text boxes considering some rules and approve or reject based on those rules. And at the end of the shift, they are sending e-mails for reporting number of approved and rejected records to their bosses. It sound like this operation can be fully automated because structured digital data is used to execute some deterministic rules and finally number of processed records are reported to a parametrically known authority.
Healthy steps of automation can be listed as follows
  1. Investigate the software system carrying data to operators and find data sources that are displayed to operators
  2. Check data flows, assure data validation steps, define exceptions
  3. Define the rules of approval and rejection to run on identified data sources
  4. Develop a software module for processing approval and rejection rules with no human interaction.
  5. Develop a software module for consolidating and counting processed records in bullet 4 and sending automated e-mails to defined recipients for reporting
  6. Test the modules
  7. Launch the modules
  8. Discard the approval screens in the systems
  9. Discard the human operations in the process
  10. Document the jobs done
Of course, you need system analysts, programmers and testers to make this automation happen. The meta process regulating those actions is called SDLC, owned by CIOs. It is business as usual in IT world. By following this methodology, you are guaranteeing portability, performance, maintainability, usability and the functionality of the software systems used for process automation.
What RPA suggests for the same situation is GUI to GUI operator mimicking through macro coding and calling this a sort of process automation. This is a fast but weak way of integration. Because, software systems have different layers of data, business logic execution, data exchange, service integration and presentation (graphical user interface). If, in this scenario, you do not make the necessary changes in the proper layers of the software systems, you end up with non maintainable systems. Systems are not designed to be integrated through their graphical user interfaces. If you do this by recording and playing some GUI steps, it is in decent words, sub optimal. From software engineering perspective, I would call it ugly. Forget any ugliness but just think of the regression effect: GUIs will be changing in time and your macros will be obsolete. Since no software provider is considering their GUIs as system to system integration points, they will not be warning you regarding system integration complications after GUI upgrade they released. As a result, your so called automated process will be broken. Actually, if it is rule based, it will be broken; if you used cognitive RPA by including adaptive algorithms, you will never understand what's happening. And who will be the responsible?

Silos against central IT

RPA tool providers are using the argument of IT independent process automation. If the aim is non maintainable system to system glue application, it is OK. It is OK for a very short term indeed.
Imagine you have non IT RPA departments using RPA tools to glue systems. After 5 years, there will be piles of RPA macro codes that are not managed by IT but by RPA departments who are trying to synchronize their macros with enterprise software modules managed by IT. Those enterprise systems will be more likely developed in continuous delivery/continuous integration fashion. Therefore, massive software change will be inevitable. What will happen to RPA macro codes? What will happen to so called automated systems? Who will be the responsible party to keep things together? Are RPA departments going to be a part of IT organization? Then, is it still be an IT independent thing?

So what?

In short, RPA is a macro. Use it as a macro. Embed it into operating systems or make it a personal solution tool for empowering professionals who are to formulate their repetitive operations and save time. Actually, hundreds of thousand are using macros today: It is a part of programming languages, code editors and IDEs, spreadsheets, operating systems, BPM tools, software testing tools etc. It has been a commodity for years. The idea is just not to make it a sort of enterprise IT solution. Keep it as a self service feature.
Or maybe I am old fashioned.
No robots detected.

Humane

Sayonara, credit: Tatsuo Nambu / Aichi Triennale 2010 
when computers
          stopped computing
and phones
     start being smart
can you tell
    an intelligent way
          for tasting humane art?

Data, Big or Not

The contents page of Database Management book by Esen Ozkarahan: Databases were never merely relational ones.

Nowadays, technology vendors of various sizes are knocking the doors of the enterprises and offering them to use their "big data" solutions. These solutions are mostly appliance systems comprise a noSQL database, a data integration tool, a data analysis application and a data presentation application. People are bringing you boxes that are supposed to help you understand your business better so that you can react in a more proper way.

Beyond that aim, I think the industry has a strong tendency for locating big data concept which raises on pales of unstructured data such as voice, image, letters, e-mail, video, social media content etc. It's becoming a sort of fetishism. I know technology leaders and managers who may excrete considerable amount of adrenalin, that you can smell, while talking on big data solutions and the opportunities these solutions can bring.

However, what's the theory?
What do you mean by saying "unstructured"?
What questions would you like to answer for your instutition by using big data?
What are the theoretical limits?

The list of such questions may get longer easily and most of the questions are open ended usually.

My thoughts are...

I think, for the time being, it is not possible to extract a supreme meaning from the stored data flowing through different sources in an insane speed. It's like trying to reach the meaning of life. It's like uploading all Franz Kafka bibliography into a noSQL database and asking: "what is he talking about?". It does not make any sense to me.

I have a few words to say about the non existent "structure" of the data being mentioned. Actually, by naming data "unstructured", we're referring to the fact that data groups have got no known attributes to be stored in classified database entities and because of that, we cannot navigate and process the data easily. I think, in reality, all those data groups have special structures but we cannot apply a "one fits all" data pattern to the whole set. For instance, think of an e-mail you sent to your bank, it, of course, has a structure described by yourself intrinsically. Any one reading your e-mail can point which paragraph is the introduction, in which section you expressed your intention etc. On the other hand, it can be interpreted differently by various readers. Actually, nature and the essence of the text is a very deep phenomenon studied by a large number of philosophers such as Roland Barthes, Jacques Derrida, Claude Lévi-Strauss, Louis Althusser and Michel Foucault. There is no easy equation in this realm.

As meaning distillation from the non structured data sets is a complex process, most of the tools in the market are offering to get not the meanings but the sentiments out of the large chunks of the data gathered. It sounds good but there is a question here for the enterprises to answer: "do you wonder the sentiments of the people interacting with your institution?". If the answer is "yes", your corporations have been expected to save the sentiments of the people your companies are communicating thousands of times an hour through various channels and enrich the structured databases with their state of the feelings already. Moreover, your organizations are expected to analyze the sentiments collected and generate reports about them; and take some actions on the results of the sentiment analysis in practice. If your corporation is not taking these steps and expects to get the feelings of the customers after locating a big data solution, there is an ambiguity there. In addition, we have to keep in mind that sentiments are usually temporary oscillations. Therefore, if you are interested in sensing and processing them, you've got to do it in a timely manner which is another serious problem to solve.

Methods and the traditons of taking care of the data, defining the data and converting them into information and knowledge consecutively is transforming. We are not living in a world of black and white any more. Actually, the world has never been a black and white arena but we were living in an illusion after we have reduced the complexity of life by sacrifying some tastes of it. But the illusion ended. It's no more sufficient. The concept of the data has a weak point that data are very static when you store them in your databases. In contradiction, data usually flow in their natural habitat. The reflection of this natural flow to your database is the "model" you develop while you're defining the data. You can bring the dynamics of real world by using creative data modelling techniques. Models may be used to close the gap between your database and real life, where data generation happens constantly, but unfortunatelly, the models are static either. I'm sure that most of you have heard about the term of "slowly changing dimensions". In a similar approach, we have to devise slowly changing data models for chaging the form of the data in our databases for reflecting the life better in an automated way. To make the story short, I can say that storing the raw data in a noSQL database by omitting the model, that is a very powerful way to inject dynamism to your database, is a very weak approach. You can derive nothing from this pale.

What would be the proper approach?

To me, gathering the facts from a million data sources and putting them in a box for analyzing them later is an already dead method. You have to make your move in the right time, for the right people and you have to come with a meaningful message which is capable of showing the intellectual level of your company.

Simplicity is the key.

Sense the simple events properly and analyze them in a real-time fashion. Use easy to understant and "to the point" scenarios for evalution. Complexity of life is composed of simple but divergent transactions. Therefore, try to define the key transactions of your domain firstly. Then, try to inject the value to the transactions by assessing your institutional processes which are to distinguish you from your rivals.

Your process is your identity.

Data and the tools used for collecting and processing data are mostly the same but the processes of the organizations differ significantly. Let your customers be the actors of your authentic scenarios. People are irrational, but you always try to develop rational and mathematically consistent models for assessing your customers' behaviours, data etc. Try to be humane. Use human beings (your personnel) for communication, sales, giving meaning to the transactions. Some scalability problems may occur; use crowd sourcing or some other creative solutions when it happens.

No magic box can bring your organization money.

Think.