Wednesday, May 14, 2008
ismididikle.com
Wednesday, May 14, 2008 6:17:06 AM (GMT Standart Saati, UTC+00:00)
 Thursday, April 10, 2008



Microsoft today released the first community technology preview (CTP) of Robotics Developer Studio 2008 at the RoboBusiness conference in Pittsburgh.

The product is the third version of the robotics programming platform, which previously had been called the Microsoft Robotics Studio.

Microsoft Robotics Developer Studio 2008 (RDS 08) significantly improves runtime performance, from 150 percent to 300 percent,
according to Microsoft General Manager of the Robotics Group Tandy Trower. "It's not the monolithic, single-threaded model that people have normally used for robots.

 Instead this is a more asynchronous, distributed approach to programming," Trower said.

Trower said RDS 08 will enable developers to write code and routines that rely on asynchronous message passing,
 providing for a more distributed runtime environment and expanding the potential for future robots to process and act on large volumes of information.
According to a Microsoft release, RDS 08 adds support for distributed language integrated queries (LINQ), intended to enable "advanced filtering and inline processing of sensor data at the source."

According to Trower, the distributed application architecture will make it easier for robotic applications to access processing from remote sources,
enabling a simple machine to act on complex processing done on a corporate server or in the cloud.

"You can have cooperative robotic interaction, because the robots can easily share information among each other," Trower said.

The RDS 08 CTP also provides improved sensor interaction, enabling sensors to send granular state change information to the processor, rather than requiring code that constantly checks sensor status.

Microsoft Robotics Studio was launched in 2006 to give developers a way to write high-level robotics applications without having to dive down into the minutiae of hundreds of different sensor and motor interfaces.

Ultimately, Trower said, the tools and techniques developers in the Robotics group could very well end up in mainstream development products at Microsoft.

"You will see that this year the core pieces -- the CCR, which is our concurrency coordination runtime and our DSS services, which is its companion that provides the concurrency model across the distributed network -- these pieces we actually will separate out and offer independently as well as in the toolkit, so that people who are interested in using this for [other] applications will be able to do that," Trower said.

"You will also see them positioned as part of the development tools family outside of the robotics area by our marketing team in our developer tools marketing group."

Thursday, April 10, 2008 7:06:25 AM (GMT Standart Saati, UTC+00:00)
 Tuesday, March 04, 2008

Greetings from the Internet Explorer Team! We are nearing the launch of Windows Internet Explorer 8 Beta 1 and we will be making it available for the general public to download and test. IE8 Beta 1 is focused on the developer community, with the goal of gaining valuable feedback to improve Internet Explorer 8 during the development process. We have identified you as a qualified beta tester and we would like to offer an opportunity to join our limited technical beta program for Windows Internet Explorer 8 Beta 1. Participation in the Technical Beta will enable you to evaluate a common release of Windows Internet Explorer 8, the ability to submit feedback, post bug reports, download software answer surveys on product quality as well as vote on top bugs filed by others from the technical beta program. This is a very exclusive program, by invitation only. The only way to submit feedback is to enroll in the Windows Internet Explorer 8 Technical Beta program. As such, we would be happy to have your participation. To accept this invitation and to apply to become a member of this program, follow this link: http://connect.microsoft.com/InvitationUse.aspx?ProgramID=2038 (If this link does not work for you, copy the full link and paste it into the Web browser address bar.) Follow the steps shown to you by that program to apply to become an active participant. You may be asked to take a survey, or submit other preliminary information. To report a problem or to ask a question, visit the Contact Us page (found at the bottom of every page). We hope to see you in the technical beta! Best regards.

 

 

The Internet Explorer Team

Tuesday, March 04, 2008 3:28:53 PM (GMT Standart Saati, UTC+00:00)
 Tuesday, February 12, 2008

Aklımızda, blogumuzda dursun

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   If Not Page.IsPostBack Then

      btnEKTalepEkle.Attributes.Add("onclick", "btnEKTalepEkle.disabled=true;" & Me.GetPostBackEventReference(Me.btnEKTalepEkle))

    End If

End Sub

 | 
Tuesday, February 12, 2008 8:14:08 AM (GMT Standart Saati, UTC+00:00)
 Tuesday, January 15, 2008
İşte kısa yolların bir listesi...
Tuesday, January 15, 2008 8:07:25 PM (GMT Standart Saati, UTC+00:00)
 Monday, January 14, 2008

 

Ben bu Management'e kefilim :)

Monday, January 14, 2008 3:51:28 PM (GMT Standart Saati, UTC+00:00)
 Tuesday, December 25, 2007

 

Ellerine Sağlık Özlem.

Tuesday, December 25, 2007 7:58:31 AM (GMT Standart Saati, UTC+00:00)
 Saturday, December 08, 2007

Reflection is the feature in .Net, which enables us to get some information about object in runtime. That information contains data of the class. Also it can get the names of the methods that are inside the class and constructors of that object.

   To write a C# .Net program which uses reflection, the program should use the namespace System.Reflection. To get type of the object, the typeof operator can be used. There is one more method GetType(). This also can be used for retrieving the type information of a class. The Operator typeof allow us to get class name of our object and GetType() method uses to get data about object?s type. This C# tutorial on reflection explains this feature with a sample class.


public class TestDataType
{

public TestDataType()
{
   counter = 1;
}

public TestDataType(int c)
{
   counter = c;
}

private int counter;

public int Inc()
{
   return counter++;
}
public int Dec()
{
   return counter--;
}



At first we should get type of object that was created.

TestDataType testObject = new TestDataType(15);
Type objectType = testObject.GetType();


   Now objectType has all the required information about class TestDataType. We can check if our class is abstract or if it is a class. The System.Type contains a few properties to retrieve the type of the class: IsAbstract, IsClass. These functions return a Boolean value if the object is abstract or of class type. Also there are some methods that return information about constructors and methods that belong to the current type (class). It can be done in a way as it was done in next example:


Type objectType = testObject.GetType();

ConstructorInfo [] info = objectType.GetConstructors();
MethodInfo [] methods = objectType.GetMethods();

// get all the constructors
Console.WriteLine("Constructors:");
foreach( ConstructorInfo cf in info )
{
   Console.WriteLine(cf);
}

Console.WriteLine();
// get all the methods
Console.WriteLine("Methods:");
foreach( MethodInfo mf in methods )
{
   Console.WriteLine(mf);
}


   Now, the above program returns a list of methods and constructors of TestDataType class.

   Reflection is a very powerful feature that any programming language  would like to provide, because it allows us to get some information about objects in runtime.
It can be used in the applications normally but this is provided for doing some advanced programming.
This might be for runtime code generation (It goes through creating, compilation and execution of source code in runtime).

 | 
Saturday, December 08, 2007 11:53:24 PM (GMT Standart Saati, UTC+00:00)
 Thursday, November 01, 2007
 #
 

Görüyorum aranızda çoktandır berbere gitmeyenler var  :)

İşte sizin için büyük fırsat;

Virtual Barber Shop

Not: kulaklık gerekli

 | 
Thursday, November 01, 2007 9:28:47 AM (GMT Standart Saati, UTC+00:00)
 Wednesday, October 03, 2007

Bildiğiniz gibi asp.net uygulamalarında textboxlara karakter sınırı koymak için maxlength adlı propertisini kullanabiliriz. Fakat textbox'ın textmode=multiline yapınca her nedense bu property çalışmıyor.(Bug mı acaba?)

 

Bu sorunu ekteki javascript'i kullanarak aşabiliriz.

   

    <script type="text/javascript" language="JavaScript">

    function textCounter(field,cntfield,maxlimit) {

        if (field.value.length > maxlimit)

            field.value = field.value.substring(0, maxlimit);

 

        else

            cntfield.value = maxlimit - field.value.length;

       }

    </script>

 

 

 

       <table>

           <tr>

               <td>

                   <input readonly type="text" name="Sayac" maxlength="3" value="230" style="width: 29px" />

                   Kalan karakter sayısı

               </td>

           </tr>

           <tr>

               <td>

                   <asp:TextBox runat="server" ID="txtKisitli" Width="250px" Height="100px" TextMode="MultiLine"

                       onKeyDown="textCounter(document.aspnetForm.txtKisitli,document.aspnetForm.Sayac,230)"

                       onKeyUp="textCounter(document.aspnetForm.txtKisitli,document.aspnetForm.Sayac,230)">

                   </asp:TextBox>

               </td>

           </tr>

       </table>

 | 
Wednesday, October 03, 2007 5:04:10 PM (GMT Standart Saati, UTC+00:00)
 Friday, September 28, 2007

Bir ignliiz üvnsertsinede ypalin arsaitramya gröe, kleimleirn hrfalreiinn
hnagi sridaa yzalidkilrai ömneli dgeliims. Öenlmi oaln brinci ve snonucnu
hrfain yrenide omlsaimyis. Ardakai hfraliren srisai kriaisk oslada
ouknyuorums. Çnükü kleimlrei hraf hraf dgeil bir btüün oalark oykuorumusz.
Biakn nsial da düügzn oudkuunz, iignlç diegl mi?
Sveilegr.

 

fi yuo cna raed tihs, yuo hvae a sgtrane mnid too
Cna yuo raed tihs? Olny 55 plepoe out of 100 can.
i cdnuolt blveiee taht I cluod aulaclty uesdnatnrd waht I was rdanieg.

The phaonmneal pweor of the hmuan mnid, aoccdrnig to a rscheearch at Cmabrigde Uinervtisy,
 it dseno't mtaetr in waht oerdr the ltteres in a wrod are,
the olny iproamtnt tihng is taht the frsit and lsat ltteer be in the rghit pclae.
The rset can be a taotl mses and you can sitll raed it whotuit a pboerlm.
Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Azanmig huh?
yaeh and I awlyas tghuhot slpeling was ipmorantt!



Friday, September 28, 2007 11:45:57 PM (GMT Standart Saati, UTC+00:00)
 Tuesday, August 28, 2007
Tuesday, August 28, 2007 1:57:14 PM (GMT Standart Saati, UTC+00:00)
 Saturday, July 28, 2007
 #
 

Evet Sonunda terzi kendi söküğünü dikti.

İş arkadaşım ve sevgili abim Erbuğ, Microsoft Expression Studio ile geliştirdiği sitesini yayına aldı.

Her zaman ki kalitesini burda da göstermiş.

Ayrıca burdan YazGeliştir'e yazdığı Microsoft Expression Studio makalelerine ulaşabilirsiniz.

 

http://www.erbugkaya.com

 

 | 
Saturday, July 28, 2007 12:02:57 AM (GMT Standart Saati, UTC+00:00)
 Saturday, June 23, 2007
Saturday, June 23, 2007 1:14:38 PM (GMT Standart Saati, UTC+00:00)
 Wednesday, June 06, 2007

10. Eğitimciler Zirvesi 06-07 Haziran tarihleri arasında Crowne Plaza'da gerçekleşti.

Bir çok değerli konuşmacının katıldığı zirvede, bende ilk gün,

 benimde içinde bulunduğum yazılım ekibinin geliştirdiği Eğitim Portalını katılımcılara tanıttım.

Wednesday, June 06, 2007 9:16:37 AM (GMT Standart Saati, UTC+00:00)
 Thursday, April 12, 2007

Daha öncede söylemiştim database dizayn etmek zor iş diye.

Sanırım  birileri beni duymuş ve bakın ne yapmış.

Thursday, April 12, 2007 1:05:09 PM (GMT Standart Saati, UTC+00:00)
 Sunday, March 04, 2007

   Döküman yönetimi çağımızın sorunu. Halen basit masraf formlarımızın bile çıktısını alıp kişi kiş dolaştırıp en son muhasebeye kendi ellerimizle götürüyoruz. Bu zaman kaybı olduğu gibi onlarca ağacın kesilmesi anlamında geliyor. Şirket çalışanları basit bir masraf formunun kimden kime geçeceğini bilmek zorunda mı? 3 kuruşun peşine düşmüş gibi dakikalarca kime imzalatması gerektiğini öğrenmeli mi? Hayır. :) Adobe LiveCycle, bu ve bunun gibi iş akışı gereken her türlü işi bizim için yönetebilir.

Örneğin yine o basit masraf formlarımızdan başlayalım;

Şirketimizde, 1000ytl üzeri masraflar önce icra kurulu üyesine sonra amiri sonra muhasebeye gitsin.
                  1000ytl altında ki masraflar ise birim müdürü, ik ve daha sonra muhasebeye gitsin.

Eğer icra kurulu üyesi 30 dakika içinde form üzerinde hiçbir işlem yapmazsa form otomatik olarak birim müdür yardımcısına mail olarak gitsin ve X veritabanında ki y tablosundaki z kolonuna masrafı kaydetsin.

 

Evet bu yukarda örneklediğim senaryoyu ve daha karmaşık senaryoları Adobe LiveCycle ile rahatlıkla yönetebilr, Zaman ve para kaybını önleyebilrsiniz. Ürünü incelemek ve daha detaylı bilgi almak için http://www.adobe.com/ ziyaret edebilir, yada behlul.behram@bilgeadam.com adresine sorularınızı gönderebilirsiniz.


Adobe LiveCycle ürününün;

LiveCycle Designer
LiveCycle Forms 
LiveCycle Workflow modüllerinin Trainer sertifikalarını, Munich'te katıldığım TTT eğitimini tamamlayıp, sınav ve sunumlarını yaparak aldım.

Destekleri için çalışma arkadaşlarım ve Evren Ayan hocama sonsuz teşekkürler.

 | 
Sunday, March 04, 2007 10:10:26 PM (GMT Standart Saati, UTC+00:00)
 Tuesday, February 06, 2007

Üyelik sistemlerinde sıklıkla karşılaşılan sorulardan biri de "Beni Hatırla" özelliğidir, makalemde Cookie kullanarak "Beni Hatırla" opsiyonunu login sayfalarına nasıl adapte edebileceğinizi anlatacağım.

Web sitesinin kullanıcıları hatırlaması için bir çok yöntem var. Örneğin Mac adresini kullanıcı ile eşleyerek veritabanına yazmak bunlardan biri. Fakat hem kullanım alanının çok verimli olmayışı hem de kullanılabilirliliğinin azlığı nedeniyle pek kullanılan bir yöntem değildir. Diğer ve etkin bir yöntem ise Cookiler.

Cookiler kullanıcı tarafında  saklanan text tabanlı dosyalardır. Bu dosyaların yönetimi, içeriği ve erişimi tamamen cooki'yi yaratan web sitesine aittir. Cookilerin ömürlerini biz belirleyebildiğimiz gibi, içerik değişiklikleri, silinmesi, expire olması gibi tüm özelliklerini de server tarafından yönetebiliriz. Ayrıca kullanıcı isterse cookieleri kapatabileceğinden yada internet tarayıcısı üzerinde bunları rahatlıka temizleyebileceğinden, tüm sistemi kesinlikle cookiler üzerine kurmamalıyız.  Bu yazıda Cookileri web sitesine giriş yaparken, kullanıcıyı hatırlamak için gerekli olan değeri kullanıcının bilgisayarına (Client Side) kaydederek saklamak için kullanacağız. Cookiler kullanıcı tarafında saklandığı için potansiyel güvenlik açıklarını da beraberinde getirir. Bu nedenle, kullanıcıyı tanımlamada kullanacağımız bilgiler, sistemimizi minimum düzeyde tehlikeye sokacak düzeyde olmalıdır. Bu nedenle cookie de saklanacak veri kullanıcı adı ve şifresi olmamalıdır.

Cookie yönetebilen bir login.aspx nasıl olmalı :

Bu uygulamada cookilere yazıcağımız değeri şifrelemek yerine veritabanında unique indetifier olarak tanımladığımız UserId ile dolduruyoruz. Bu bize cookie okunduğu zaman o kullanıcıyla ilgili herhangibir bilginin dışarı sızmasını engelliyor.


Bu sistem bize projemizin business tarafında kullanıcıadı ve şifre denetleyerek kullanıcları tanıma yönteminin dışında UserId kullanarak kullanıcı tanımlama fonksiyonuna ihtiyacımız olduğunu gösteriyor.

Öncelikle buttonumuzun click eventini yazalım:

 

     Cookie.buss buss = new Cookie.buss(); 
     DataTable user = new DataTable();   
     user = buss.GetUser(TextBox1.Text.Trim(), TextBox2.Text.Trim());
//ekrandan girilen kullanıcı adi ve şifreyi doğrulayan kullanıcı varmı?
         
if (user.Rows.Count>0)
         {
            
if (CheckBox1.Checked) //Beni hatırla checkbox'ı
            {
             Response.Cookies[
"behluluser"].Value = user.Rows[0]["UserId"].ToString(); //Cookiemizi yaratıp guid'imizi içine yazalım.
             Response.Cookies[
"behluluser"].Expires = DateTime.Now.AddYears(30);  //Cookiye 30 yıl yaşama şansı verelim.
            }
          Response.Redirect(
"http:\\www.behlulbehram.com"); //kullanıcı başarıyla girdi istediğimiz sayfaya yönlendirelim.
         }
        else 
            Label1.Text = "kullanıcı bulunamadi";

 

Not: Farklı windows kullanıcıları aynı siteye girselerde farklı cookiler yaratılır. Birbirlerini ezmezler. Örneğin A kişisi sistemimize girip beni hatırla derse
A'nın "behluluser" cookie'si yaratılır. Aynı bilgisayaradan B kişisi accountunu açip sisteme giriş yapıp beni hatırlayı seçerse B'nin "behluluser" cookiesi yaratılır.

Şimdide login.aspx'in page loadunda  nasıl bir işlem yapmalıyız onu görelim;

if (!IsPostBack)
{
   if (Request.Cookies["behluluser"] != null)//Kullanıcı Tarafında daha önceden yarattığım Cookie Varmı? 
   

      Cookie.
buss buss = new Cookie.buss();
      
DataTable user = new DataTable();

      
string myguid= Request.Cookies["behluluser"].Value; 
      user = buss.GetUserById(myguid);
         
if (user.Rows.Count > 0)//cookiedeki user gerçekten database de de var
            
{
               Response.Redirect(http://www.behlulbehram.com);
            }
        
else//cookie deki bilgi yanlış  biri oynamış ... silelim.
            
{
              Response.Cookies[
"behluluser"].Expires = DateTime.Now.AddYears(-30);
            }
   }
}

not: Cookileri silmek yerine expire etmek daha verimli bir yöntemdir.

ve login.aspx'i tamamlamış olduk. Derleyip çalıştırabiliriz.

Umarım cookileri nasıl kullanıcağımızla ilgili azda olsa fikir sahibi olmuşsunuzdur.

Sorularınız için

behlul.behram@bilgeadam.com
behlulbehram@gmail.com

Kolay gelsin

Behlul.

 | 
Tuesday, February 06, 2007 7:20:21 PM (GMT Standart Saati, UTC+00:00)
 Monday, December 25, 2006

Globally Unique Identifier.

Ne demek bu Guid ?

Tekil 128 bit lik bir değer diyebiliriz. Bu tekillik oyle boyle bir tekillik diğil ama bir rivayete gore bir pc de uretilen guid değerini bir daha üretmek mümkün değil. Genelde büyük databaselerde primary key olarak kullanılıyor. Yada heran kullandığımız browserlerın açtığımız sayfaların sessionlarını guid kullanarak tutması iyi bir örnek olabilir.

Kullanımı basitce şöyle :=

using System;

namespace Behlul
{
  class MainClass
  {
    static void Main(string[] args)
    {
      System.Guid guid=System.Guid.NewGuid();
      Console.WriteLine(guid.ToString());
      Console.ReadLine();
    }
   }
 
}

işte bir guid := 6e42cdb4-e441-4c8f-8a77-1d2478ffb65a

 

kolay gelsin...

 

 | 
Monday, December 25, 2006 9:49:41 PM (GMT Standart Saati, UTC+00:00)
 Thursday, December 14, 2006

Proje analizi gerçekten çok önemlidir.!!!

Eksik veya yanlış yapılan analiz proje bitimine doğru developerları sıkıntıya sokabilir.
Analiz için bence başlangıç noktası Veri Tabanı olmalı.
Zaten Code generator gibi yazılmış araçların çoğu veri tabanındaki alanlara gore kod üretiyor.
Eğer veri tabanını doğru ve eksiksiz yaratabilirsek en azından başlangıcı doğru yapmış oluruz.
İşte size veri tabanı yaratırken yararlanabileceğiniz güzel bir  kaynak.

Teşekkürler Okan Barlas

Thursday, December 14, 2006 3:31:18 PM (GMT Standart Saati, UTC+00:00)
 Friday, November 10, 2006

Microsoft has released its new operating system, Windows Vista, to hardware manufacturers, marking the end of the development phase and the beginning of the distribution phase.
Everything's not perfect, but Microsoft expects to have all the glitches under control by the company's self-imposed January 2007 product release date.  :)

Bekleyenlerin gözü aydın. Release'i bekleyenler açıklanan tarih : Ocak 2007

 

 | 
Friday, November 10, 2006 9:03:29 PM (GMT Standart Saati, UTC+00:00)
 Wednesday, November 08, 2006

İşte Arama Moturunda yeni bir devrim.

Alışageldiğimiz ara yüzlerden çok farklı olan bu uygulama Ekrandaki Hoş bayanın sorularınıza sesli bir şekilde cevap vermesi ile daha da ilginç bir hale gelmiş.

http://www.msdewey.com/

Wednesday, November 08, 2006 11:53:39 PM (GMT Standart Saati, UTC+00:00)

Sonunda kullanıma hazır.

http://msdn.microsoft.com/windowsvista/support/relnotes/netfx3/default.aspx

Buna ek olarak

Windows Presentation Foundation (WPF, önceden Avalon olarak adlandırılıyordu) 
http://en.wikipedia.org/wiki/Windows_Presentation_Foundation

Windows Communication Foundation (WCF, öceden Indigo olarak adlandırılıyordu) 
http://en.wikipedia.org/wiki/Windows_Communication_Foundation

Windows Workflow Foundation (WF)
http://en.wikipedia.org/wiki/Windows_Workflow_Foundation

Windows CardSpace (WCS, öceden InfoCard olarak adlandırılıyordu) 
http://en.wikipedia.org/wiki/Windows_CardSpace

Bu linkleri ziyaret etmenizi tavsiye ederim.

 |  | 
Wednesday, November 08, 2006 12:10:15 AM (GMT Standart Saati, UTC+00:00)
 Friday, November 03, 2006


Microsoft, Windows XP'yi sistemleriyle birlikte alanlara Vista'yı bedava dağıtacağını açıkladı.
 
 
Microsoft 26 Ekim'den sonra yeni PC'leriyle birlikte Windows XP alanlara ya indirim