Hardcoded thoughts… mostly in C# or php

Textmate dla Windows

Jakiś czas temu pisałem o mej ogromnej chęci posiadania portu Textmate na systemy Windowsowe. Częściowo me prośby znalazły swe spełnienie, o czym zresztą już pornel od jakiego czasu informuje. Nie wszyscy jednak wiedzą, że wkrótce światło dzienne ujrzy jeszcze jeden program, który zapełni tę oczywistą lukę - intype. Osobiście z niecierpliwością wyczekuję wersji Alpha, którą z przyjemnością przetestuję. A wrażenia opiszę ;).

Inżynierka.Start();

Inżynierki pisanie czas zacząć ;) 1 i 2

brawa dla tłumaczy MS

Po przyjściu do pracy tradycyjny check-out CVSa oraz commit zmian, które zostały wprowadzone przez weekend. Okazało się że zmiany moje oraz towarzysza niedoli w obecnym projekcie są jakby niekompatybilne. Cóż, teoretycznie merge’owanie nie do końca się udało. Objawy? Dziwny błąd rzucany przez aplikację - “błąd odbicia”. Niespecjalnie wiele mi to mówiło, nasuwało jednak pewne rozwiązanie. Odinstalowałem więc polska nakładkę na .neta. Angielski komunikat mówi jednak znacznie więcej - “There was an error reflecting type”. I prawie wszystko jasne. Nasuwa się jednak pytanie - jak można było ten komunikat tak kretyńsko zlokalizować? Brawa dla tłumaczy MS.

Nowe właściwości C# 3.0

Oto niektóre nowe cechy C# 3.0:

Chociaż ten artykuł w pierwszej chwili jak żart potraktowałem… Co jednak żartem się nie okazało, jak zobaczyć możemy tu: link

Sama idea LINQ może i coś w sobie ma - link1 & link2

Natomiast ogólny przegląd właściwości C# 3.0 można znaleźć w oficjalnym dokumencie Microsoftu.

Z całości pewnie będzie można skorzystać w nowym Visual Studio.

Wszystko to ładne, fajne i wogóle, jednakże na pierwszy rzut oka to język jakby eweoluował w złą stronę - PHP i Python kojarzą się samoistnie…

sprawdzanie istnienia czcionki w C#

Nurtowało mnie dziś jak w sposób sprawdzić, czy podana czcionka istnieje w systemie. Teoretycznie można by to zrobić iterując po zainstalowanych czcionkach. Jednak w przypadku dość dużej ich ilości rozwiązanie to staje się mocno czasochłonne i całkowicie nie wydajne. Wysłane na grupę dyskusyjną zapytanie przyniosło banalnie proste, acz cholernie skuteczne rozwiązanie:

C#:
  1. using (System.Drawing.Font f = new System.Drawing.Font(name, 12))
  2. {
  3. return f.Name == name;
  4. }
  5. return false;