vineri, 26 decembrie 2008

Merry Christmas

I wish you a Merry Christmas and may these days bring abundant joy and happiness in your life!

joi, 4 decembrie 2008

Power Threading Library

O noua librarie care contine clase helper pentru programare asincrona si lucrul cu fire de executie... este vorba de Power Threading Library si merita cu atat mai mult atentia cu cat este "produsa" de catre Jeffrey Richter (unul din fondatorii Wintellect si autorul a - parere personala - celor mai bune carti de .NET).

Pe http://wintellect.com/PowerThreading.aspx gasiti si link pentru downloadul librariei.

Deasemenea pe channel 9 este publicat si un interviu cu Jeffrey in care-si prezinta libraria.

miercuri, 3 decembrie 2008

Revizie 15000 si cauciucuri de iarna - Partea a II-a

1. Revizie 15.000 la un Ford Focus: intre 800-1000 RON oriunde ar fi in tara... poate doar in C-ta (intr-adevar am mai citit pe forumuri ca acolo ar fi cel mai mic pret, insa cam multi km pana acolo).

Am sunat la Colina Buc., BDT Bucuresti, NecoMotors Bacau... peste tot acelasi pret... incat am ramas la Tester in Iasi unde a fost 950 RON doar revizia (pe mine m-a costat mai mult ca am mai patit ceva si-am sa povestesc altadata).

2. Cat despre anvelope si jante: cea mai mare greseala sa cumperi de la magazinele din oras:D Cel putin la AutoCenter Iasi (si la inca un magazin de piese al carui nume imi scapa) m-ar fi costat in felul urmator:
- jante tabla 15'':
260 RON/bucata * 4 = 1040 RON

- anvelope Michelin Alpin A3 195/65/15:
280 RON/bucata * 4 = 1120 RON


Deci in total, la AutoCenter Iasi (cred ca montatul anvelopelor este gratuit, dar cu siguranta nu si echilibratul lor, datul jos de pe masina etc): 2260 RON


Solutia aleasa in final (multumesc tuturor care mi-au dat link-uri):
- jante tabla 15'': http://www.webtire.eu/ - pentru Ford Focus II, cu 5 prezoane, trebuie jante 5x108/63.3 ET 52.5:
150 RON/bucata * 4 = 600 RON + 60 RON transport = 660 RON

- anvelope Michelin Alpin A3 195/65/15: http://www.anvelopeweb.ro/
230 RON/bucata * 4 = 920 RON + 40 RON transport = 960 RON

In total 1620 RON.

Bani ramasi pentru ski: 640 RON !!!

miercuri, 19 noiembrie 2008

Revizie 15000 si cauciucuri de iarna

Facusi aproape 15000 km si bineinteles ca se apropie revizia obligatorie... asa ca am inceput sa caut service-ul potrivit unde sa gasesc un pret decent si mecanici buni.

Deocamdata ar fi urmatoarele variante:
- Tester Group Iasi - multe pareri proaste pe forumuri
- NecoMotors Bacau
- BDT Focsani
- Colina Motors Bucuresti
- BDT Bucuresti

Am sunat la fiecare si preturile sunt cam aceleasi (aprox 800 RON fara schimbul filtrului polen, 1000 RON cu tot cu filtru polen).

Parere personala? SCUMP... tinand cont ca la Logan de la 30k km n-am mai mers la service si rezolvam problema cu tata - in maxim 30 de minute erau schimbate uleiul, filtrul de ulei, filtrul de aer... Si cu cea mai mare placere i-as da lui banii astia daca n-ar exista problema garantiei.

Deci daca stie cineva vreun service (agreat Ford bineinteles) cu preturi mai mici, sunt deschis la sugestii :D


------------------
A doua problema... vine iarna! Iar pentru mersul la ski, trebuie sa-i cumpar "ghetute" de iarna. Pana acum am primit urmatoarea sugestie:
- Michelin Alpin A3 de 15''

Cauciucurile de vara care le am acum sunt 205/55 16''... si intrebarea e:
- sa iau tot de 16'' si sa le montez pe jantele din aliaj care le am deja
- sau de 195/65 15'' (din cautarile mele am observat ca sunt mai ieftine cu aprox. 200 RON decat cele de 16'') + jante din tabla (ca sa fie complet separate si sa scap de problema mutatului de pe o janta pe cealalta de doua ori pe an).

Sper sa iau o decizie optima in urmatoarele zile :D Am sa revin cu detalii.

marți, 11 noiembrie 2008

WSS 3.0 Visual Studio 2008 Extensions

Daca dezvoltati pentru SharePoint Services 3.0, atunci cu siguranta aveti nevoie sa downloadati si instalati urmatoarele extensii pentru:
- Visual Studio 2005
- Visual Studio 2008

Daca insa incercati sa le instalati pe o masina de dezvoltare, si nu pe serverul unde este instalat Windows Sharepoint Services 3.0, va da urmatoarea eroare: "This product can only be installed if Windows SharePoint Services 3.0 has been installed first."

Daca v-ati lovit de problema si nu ati rezolvat-o inca, atunci e bine sa stiti ca exista un truc foarte simplu care va permite instalarea VSeWSS si pe masina voastra de dezvoltare: cu ajutorul regedit-ului asigurati-va ca exista calea de mai jos (daca nu, creati-o) si adaugati aici cheia si valoarea specificate mai jos:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0]
"Sharepoint"="Installed"

Dupa instalare e bine sa instalati in GAC assembly-urile (cel putin Microsoft.SharePoint.dll) localizate in
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI\

luni, 10 noiembrie 2008

Visual Studio 2010 VPC Image

Intr-un post anterior am scris despre urmatoarea versiune de Visual Studio (2010) care este abia in versiune CTP si poate fi downloadata aici (este vorba despre o masina virtuala avand preinstalate Windows Server 2008 Standard, Visual Studio 2010 CTP, Team Foundation Server 2010 CTP).

Daca insa chiar intentionati sa-l folositi, atunci e bine sa stiti ce probleme exista... in primul rand sistemul de operare expira in mai putin de 2 luni:

Apoi versiunile de Word si Excel instalate pe masina virtuala sunt trial si vor expira dupa 20 de deschideri... si in al treila rand, si cel mai important, Visual Studio 2010 nu va mai porni dupa 1 ianurie 2009



Am gasit insa cateva workarounds pe blog-ul lui Brian Keller despre cum puteti rezolva aceste probleme... si anume:
1. Dupa ce Windows Server 2008 va expira, simplu ignorati toate mesajele care cer activarea lui.
2. De Excel si Word cine are nevoie pe o masina virtuala? :) Deci ignorati-le de pe acum.
3. Dupa 1 ianuarie 2009 nu va mai porni Visual Studio 2010... solutia salvatoare e sa dati ceasul sistemul inapoi (cititi si acest post ajutator).

Recunosc ca mi-a cam pierit putin elanul si as astepta ca Microsoft sa scoata o noua masina virtuala care sa expire peste 1 an... nu se stie insa cand va aparea aceasta:(

miercuri, 5 noiembrie 2008

C# 4.0

Despre dynamic lookup, co & contravariance si alte imbunatatiri ale urmatoarei versiuni a limbajului C# puteti rasfoi acest document. Bineinteles ca nu trebuie ratata nici prezentarea lui Anders Hejlsberg de la PDC-ul care a avut loc saptamana trecuta in LA.

Pentru cateva exemple ajutatoare in care sunt demonstrate capabilitatile noului limbaj, downloadati urmatoarele code samples de pe MSDN Code Gallery.

vineri, 31 octombrie 2008

WPF si Silverlight Toolkits

Developer de WPF si / sau Silverlight? Atunci e bine sa stii ca pe CodePlex au fost lansate WPF Toolkit si Silverlight Toolkit care contin multe controale noi (le puteti vedea in actiune aici - autocompletebox, treeview, viewbox etc - si aici - charts).

joi, 30 octombrie 2008

PDC 2008

Toate prezentarile de la PDC 2008 sunt disponibile pe https://sessions.microsoftpdc.com/public/timeline.aspx

marți, 28 octombrie 2008

Visual Studio 2010 / .NET Framework 4.0

Curiosi cum va arata urmatoarea versiune de Visual Studio (2010)? Daca da, atunci puteti sa downloadati AICI imaginea pentru Virtual PC 2007 care vin instalat cu un pre-release de Visual Studio 2010 si .NET Framework 4.0 Community Technology Preview.

Un overview al VS 2010 si .NET 4.0 puteti citi aici http://msdn.microsoft.com/en-us/vs2008/products/cc948977.aspx

luni, 27 octombrie 2008

PDC - ziua 1 - Windows Azure

In deschiderea celei mai importante conferinte pentru programatori sustinuta de Microsoft (Professional Developer Conference 2008), Ray Ozzie (Chief Software Architect la Microsoft) a prezentat noul sistem de operare numit WINDOWS AZURE care va sta la baza serviciilor de tip cloud oferite dezvoltatorilor de aplicatii web.

Asadar =




  • hosting (IIS 7.0), management, storage si networking

  • Microsoft SQL Services

  • Microsoft .NET Services

  • Live Services - oferind posibilitatea partajarii si sincronizarii fisierelor (documente, imagini) intre mai multe calculatoare, telefoane mobile si aplicatii web

  • Microsoft SharePoint Services

  • Microsoft Dynamics CRM.



PDC 2008

Professional Developer Conference este pe cale sa inceapa... cea mai importanta conferinta in care de obicei se anunta tehnologii noi, se lanseaza produse, se fac cunoscuti oameni, totul din ograda Microsoft-ului bineinteles, va incepe cu un keynote sustinut de Ray Ozzie si va fi transmis live pe internet direct pe http://www.microsoftpdc.com/Default.aspx.

De celelalte prezentari inca nu se stie nimic... daca vor fi transmise sau nu. Foarte probabil insa vor aparea ulterior pe Channel8, Channel9 sau Channel10 si cu siguranta vor merita privite prezentarile sustinute de Anders Hejlsberg despre viitorul C#-ului, Don Box, Miguel de Icaza , Scott Guthrie si multi altii.

vineri, 17 octombrie 2008

Carti gratis de la Microsoft




















Pana pe 22 Octombrie Microsoft ofera gratis 3 carti in format electronic... deci nu ratati ocazia si downloadati-le ACUM
Programming Microsoft LINQ by Paolo Pialorsi and Marco Russo
Introducing Microsoft Silverlight 2, Second Edition by Laurence Moroney
Programming Microsoft ASP.NET 3.5 by Dino Esposito

Update: multumesc lui Emi care mi-a atras atentia - cartile nu sunt complete!!:( De exemplu "Introducing Silverlight 2" are doar primele doua capitole, "Programming LINQ" are cap. 6 si 16, "Programming ASP.NET 3.5" are cap. 3 si 18.

Atunci la ce bun mesajul "Sign up now to download all of the chapters"???

luni, 13 octombrie 2008

WSS 3.0 VPC

Un update la masina virtuala care vine preinstalat cu:
- Windows Server 2003
- Windows SharePoint Services 3.0 (SP1)
- Visual Studio 2008 + Visual Studio 2008 WSS Extensions
- 10 Hands on Labs pentru a invata SharePoint.

... poate fi downloadat AICI si expira pe 30 Septembrie 2009 (1 an, deci timp suficient de studiu si joaca cu el).

Pentru studiu mai puteti downloada AICI cateva webcast-uri si demo-uri in format PowerPoint.

miercuri, 1 octombrie 2008

SDL Links

Link-uri de adaugat in favorites (daca nu le ai deja) despre Security Development Lifecycle:

... si bineinteles nu uitati sa downloadati si instalati Microsoft Threat Analysis & Modeling

marți, 30 septembrie 2008

Visual Studio 2010 and .NET Framework 4.0

Mai multe detalii puteti citi aici, sau aici... iar Channel 9 pregateste o serie de prezentari pe perioada intregii saptamani.

luni, 8 septembrie 2008

Bill Gates si Jerry Seinfeld

- "Quality Shoes at discount prices. Why pay more?" :)

Microsoft Windows = Shoe :))

Incepand cu aceasta luna va incepe difuzarea (probabil numai in Statele Unite) unui spot publicitar care ii are ca protagonisti pe Bill Gates si Jerry Seinfeld si are rolul de-a creste popularitatea sistemului de operare Windows Vista.

Costurile? Mici pentru Microsoft: 4 milioane spot-ul + 10 milioane direct in buzunarul lui Seinfeld (~!#$%^&*)

Ce nu prea am inteles... ce vor sa sugereze cand flexeaza fortat varful pantofului? Sau ce-i cu schema pe care o face Gates la sfarsitul spotului?


vineri, 15 august 2008

Rovignete

Pentru ca foarte multi dintre prieteni, colegi, apropiati in general, sunt posesori de masini, consider informatia urmatoare foarte utila...

De la 1 august s-a schimbat formatul rovignetei. Datorita "organizarii" foarte buna din Romania, la benzinarii nu se gasesc decat cele de 1 saptamana. Daca ceri de 6 luni sau 1 an, te trimit la posta.

Am fost la posta... mi-am zis ca nu-i nici o afacere sa cumpar de 1 saptamana de fiecare data, sigur ajung mai scump decat una pe 1 an. Doar ca surpriza: NICI la posta nu sunt. Am mers si la una de cartier si la cea centrala (de pe Cuza Voda). Mi-au zis ca daca n-am ce face, sa ma duc la directia de Drumuri si Poduri.

Cum "n-am avut ce face" cand afara sunt 35 de grade, mi-am luat inima in dinti si am gasit intr-un final directia de drumuri si poduri... Acolo sunt de toate felurile, inclusiv de 1 an... si e liber ca pasarea cerului (nu stai la rand ca in benzinarie).

Cum o gasiti? Simplu: in Copou, treceti de interesctia cu liceul sportiv si imediat urmatoarea intersectie, unde liniile de tramvai ocolesc refugiul cu statuia, faceti dreapta... Este drumul care ajunge la caminele din Titu Maiorescu. Acolo pe stanga o sa gasiti directia de Drumuri si Poduri Iasi. Atentie cand intrati, nu speriati fetele care tot timpul joaca ceva sa-si umple timpul :)).

joi, 31 iulie 2008

Condoleante

... domnului profesor Dan Galea si Dumnezeu sa-l odihneasca in pace :(


http://www.newsiasi.ro/index.php?option=com_content&task=view&id=5206&Itemid=1

luni, 9 iunie 2008

URLrewrite module pentru IIS7

Utilizatorii de IIS 7.0 si Windows Server 2008 pot fi de-acum fericiti: a aparut un modul URLRewrite pentru IIS7 (deocamdata in versiune CTP) si poate fi downloadata una din urmatoarele versiuni:
- x86
- x64






Pentru IIS 6 exista foarte multe articole despre cum sa va scrieti propriul URL rewriter in ASP.NET... mai jos sunt doar cateva:
- Scott Guthrie - Tip/Trick: Url Rewriting with ASP.NET
- Scott Mitchell (MSDN) - URL Rewriting in ASP.NET
- articol CodeProject - URL Rewriting with ASP.NET
- UrlRewritingNet.UrlRewrite
- articol Simpletalk - A Complete URL Rewriting Solution for ASP.NET 2.0
- articol 15Seconds - A URL Rewriting Engine for .NET



Aaa, şi să nu scrieti comentarii răutacioase de genul "ăăă, în Apache există mod_rewrite din '97":D Ştiu că există, asta e, ce să-i facem... probabil Microsoft a lăsat şi programatorilor de ISAPI loc să mănânce o pâine.

joi, 5 iunie 2008

Modul pasiv in FTP-ul din IIS 6

Ultima patanie care am avut-o (la care probabil vreun sysadmin ar rade cu pofta) a fost configurarea modului pasiv la FTP-ul clasic din IIS 6 / Windows Server 2003.
Nu vreau sa intru in detalii despre diferentele dintre modurile activ si pasiv la FTP... este foarte clar explicat aici http://slacksite.com/other/ftp.html

Daca vreti sa activati modul pasiv la FTP in IIS 6, copiati urmatoarele comenzi intr-un fisier .bat si rulati-le:

C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange “5500-5550″
FOR /L %%I IN (5500,1,5550) DO NETSH FIREWALL ADD PORTOPENING TCP %%I FTPPort%%I
iisreset

Foarte importanta este a doua instructiune. Dupa ce se seteaza portul de date in intervalul 5500 si 5550 (serverul va deschide aleator un port din acest interval), trebuie adaugate si exceptiile in firewall... altfel la fiecare incercare de transfer spre/dinspre FTP va da timeout.

In Windows Server 2003 firewall-ul e destul de stupid si nu i se poate specifica un interval de porturi care sa fie deschise... iar script-ul din a doua instructiune te salveaza de adaugarea a cate unei exceptii pentru fiecare port.

miercuri, 4 iunie 2008

SQL Server rebranding

Zvonurile umbla repede: SQL Server 2008 va avea un nou spalshscreen...



Cum vi se pare schimbarea fata de cel din 2005?


Mie personal mi se pare ca Microsoft incepe sa renunte la patratele si linii drepte si adopta din ce in ce mai mult liniile curbe, mai elegante.

Source: Dan's Blog http://blogs.msdn.com/dtjones/about.aspx

marți, 3 iunie 2008

SharePoint Developer Portal

Pentru developerii de ASP.NET care "cocheteaza" cu SharePoint-ul, Microsoft a lansat un nou portal care contine virtual labs, white papers si hands on lab foarte utile daca vrem sa invatam sa dezvoltam web parts, workflows, web services etc.

acrobat.com

Adobe urmeaza pe Google si Microsoft pe linia SaaS prin lansarea acrobat.com (deocamdata in versiune beta) care ofera servicii online de stocare si partajare de fisiere, colaborativa (ConnectNow) si editare de documente (Buzzword).

Poate merita testat... insa cati din cei care folosesc deja Google s-ar reorienta si-ar incepe sa foloseasca serviciile lansate de Adobe? Cu siguranta vor fi... eu insa astept sa fiu impresionat cu adevarat ca sa fac aceasta schimbare:) Ramane de vazut...

luni, 26 mai 2008

Visual Studio Extensibility

Pentru pasionatii IDE-ului de Visual Studio care doresc sa si-l extinda prin addon-uri si macro-uri proprii, Jean Lau (din echipa VSX) face un tur in Europa (cu prima oprire in Bruxelles / Belgia) aratand ce si cum se poate extinde VS.NET-ul:

vineri, 23 mai 2008

miercuri, 20 februarie 2008

SQL Server 2008 February CTP

Mai e o saptamana pana la lansarea oficiala a Visual Studio 2008 si Windows Server 2008... si dupa cum deja se stie, SQL Server 2008 a fost amanat cateva luni.

A aparut insa un February CTP de SQL Server 2008 pe care il puteti downloada si testa: http://www.microsoft.com/downloads/details.aspx?FamilyId=749BD760-F404-4D45-9AC0-D7F1B3ED1053&displaylang=en

Pentru mai multe detalii referitor la ce aduce nou acest CTP fata de cel din noiembrie: https://connect.microsoft.com/SQLServer/content/content.aspx?ContentID=5470

miercuri, 13 februarie 2008

MSDN Reader

Daca sunteti cititori frecventi al articolelor de pe MSDN Magazine, atunci puteti incerca noul MSDN Reader.


Aplicatia este dezvoltata in WPF, deci o sa aveti nevoie de .NET 3.5 Framework instalat.

marți, 12 februarie 2008

Tipul de date hierarchyid in SQL Server 2008

SQL Server 2008 introduce un nou tip de date pentru modelarea structurilor ierarhice numit hierarchyid.

In aproape toate proiectele mai mari la care am lucrat pana acum am avut nevoie de o structura ierarhica... ca era vorba de un bill of materials, sau categorii organizate pe mai multe nivele, intotdeauna tabela continea o coloana cu referinta spre o alta coloana din aceeasi tabela.

Cu alte cuvinte pe SQL 2000 si 2005 o astfel de tabela arata astfel:
CREATE TABLE Hierarchy (
Id int PRIMARY KEY IDENTITY(1, 1),
ParentId int
.....

)

De cele mai multe ori, pentru a evita aparitia nodurilor orfane, se adauga si o constrangere de tip foreign key pe coloana ParentId (solutie care functioneaza doar daca se adauga in mod deliberat un nod de root cu ParentId = NULL si care nu va fi niciodata sters).

In SQL Server 2008 s-a introdus un nou tip de date hierarchyid care permite modelarea acestor structuri ierarhice intr-un mod mult mai eficient. Deci tabela anterioara o vom putea crea cu structura:
CREATE TABLE Hierarchy2 (
Id hierarchyid,
...
)

Nu am sa intru in prea multe detalii, pentru ca puteti gasi pe MSDN foarte multe informatii despre:

Acestea fiind spuse, sa trecem la treaba... bineinteles ca prima mea intrebare a fost: "ok, la ce bun un nou tip de date, daca o structura ierarhica mi-o puteam defini simplu cu relatii parinte-copil?"

Primul lucru la care m-am gandit a fost sa testez cum se comporta din punct de vedere al performantei... asa ca mi-am creat doua tabele cu urmatoarele structuri:

1. Folosind relatii de tip parinte-copil:
CREATE TABLE Hierarchy (
Id int PRIMARY KEY IDENTITY(1, 1),
ParentId int REFERENCES Hierarchy(Id),
Name nvarchar(50)
)
CREATE INDEX IDX_ParentId ON Hierarchy(ParentId)

2. Folosind noul tip de date hierarchyid
CREATE TABLE Hierarchy2 (
Id hierarchyid,
Level as Id.GetLevel(),
Name nvarchar(50)
)

CREATE CLUSTERED INDEX IDX_Hierarchy2_BF ON Hierarchy2(Level, Id)
CREATE UNIQUE INDEX IDX_Hierarchy2_DF ON Hierarchy2(Id)

Pentru ca diferenta de performanta sa fie vizibila, mi-am generat in ambele tabele cate 406901 inregistrari (25 de copii pentru fiecare nod, iar la al 4-lea nivel m-am oprit... deci 1 (root-ul) + 25 nivel 1 + 25 * 25 nivel 2 + 25 * 25 * 25 nivel 3 + 25 * 25 * 25 * 25 nivel 4).

Pentru structura clasica de tabela, pentru a obtine toti copii descendenti ai unui nod, se face o parcurgere pe latime a arborelui... la fiecare pas se adauga intr-o tabela temporara toti copii directi ai nodurilor de pe ultimul nivel vizitat, apoi se trece la urmatorul nivel.

Cazul cel mai defavorabil este cand nodul de plecare este chiar radacina:

1. Parcurgerea tabelei construita prin relatii parinte-copil:
DECLARE @ParentId int
SET @ParentId = 1
DECLARE @Level int
SET @Level = 1

CREATE TABLE #Hierarchy (Id int, [Level] int, Name nvarchar(50))
INSERT INTO #Hierarchy
SELECT Id, @Level, Name
FROM Hierarchy
WHERE @ParentId = ParentId

WHILE EXISTS (SELECT *
FROM Hierarchy WITH (NOLOCK)
WHERE ParentId IN (SELECT Id
FROM #Hierarchy WITH (NOLOCK)
WHERE [Level] = @Level))
BEGIN
INSERT INTO #Hierarchy (Id, [Level], Name)
SELECT Id, @Level + 1, Name
FROM Hierarchy WITH (NOLOCK)
WHERE ParentId IN (SELECT Id
FROM #Hierarchy WITH (NOLOCK)
WHERE [Level] = @Level)

SET @Level = @Level + 1
END
DROP TABLE #Hierarchy

2. Parcurgerea tabelei construita cu nou tip de date hierarchyid:
CREATE TABLE #Hierarchy2 (Id hierarchyid, [Level] int, Name nvarchar(50))

DECLARE @Level int, @Parent hierarchyid
SET @Level = 1
SELECT @Parent = Id
FROM Hierarchy2
WHERE Id = '/'


WHILE EXISTS (SELECT *
FROM Hierarchy2 (NOLOCK)
WHERE Id.GetAncestor(@Level) = @Parent)
BEGIN
INSERT INTO #Hierarchy2
SELECT Id, Level, Name
FROM Hierarchy2 WITH (NOLOCK)
WHERE Id.GetAncestor(@Level) = @Parent

SET @Level = @Level + 1
END
DROP TABLE #Hierarchy2

Concluzii:

- in primul caz, parcurgerea a durat 3 secunde, iar folosind hierarchyid parcurgerea a fost instanta; deci performantele sunt net superioare folosind noua structura;

- script-ul de parcurgere al tabelei cu hierarchyid este mult mai simplu si usor de modificat.

vineri, 8 februarie 2008

Programatorule, lasa tastatura si hai la o bila

Uite asa suna un anunt de angajare de pe ejobs.ro: "Good ping-pong player who knows javascript?"

"Ce tare" mi-am zis... uite firma care si-a schimbat strategia de recrutare si s-a desprins putin din clasicul "we are looking for a strong and motivated Java developer".

Incep sa citesc... candidatul lor ideal trebuie sa stie sa joace ping-pong (oops, cand eram in anii 1-2 de facultate ieseam la fotbal in loc sa stau sa joc ping-pong) si foosball (asta ce-i? a gata, am gasit; sanatate lui Larry si Sergey).
Deci cei care nu stiu deloc ping-pong, ce sa faca? Sa astepte sa-si depuna cv-ul cand vor mai invata putin biliard si darts? Sau sa-si exerseze putin inainte de interviu aruncarile cu panoul?

Lasand insa gluma la o parte, vin cu intrebarea: cati din cei care isi cauta un job in IT se uita si la ce posibilitati de entertainment au in pauza de masa? Cat conteaza cand iti alegi viitoarea firma ca are o canapea si o consola PS pe care le folosesti cand ai obosit din programat si vrei sa-ti "odihnesti" ochii?

joi, 7 februarie 2008

Visual Studio Gallery

Cautati un addin sau extensie pentru Visual Studio si nu stiti unde?
Incepand de ieri ar trebui sa gasiti mai usor pe http://visualstudiogallery.com/.

marți, 5 februarie 2008

RONUA

N-am mai vizitat demult blogul lui Petru Jucovschi... si azi, curios sa vad ce mai impartaseste lumii, iaca ce vaz:


Pai, ca evanghelisti / mvp-isti care impartasiti lumii cele mai bune strategii de securitate, cum lasati mode="off"? Sau o fi cineva care debuggereste acuma si nu are access la CS decat prin ftp?

luni, 4 februarie 2008

Windows Server 2008 RTM

Tot azi echipa de la Windows Server a anuntat pe blog-ul lor lansarea RTM-ului de Windows Server 2008.

Momentan sunt disponibile la download (pentru cei subscrisi la MSDN) versiunile DataCenter, Enterprise, Standard pe 64 de biti... pentru versiunile pe 32 biti + Windows Web Server 2008 mai asteptam.

Windows Vista Service Pack 1 RTM

E gata, il anunta cei din echipa de Vista pe blog-ul lor... insa:

"Here's the timing for SP1 availability for current Windows Vista users:
  • In mid-March, we will release Windows Vista SP1 to Windows Update and to the download center on microsoft.com.
  • In mid-April, we will begin delivering Windows Vista SP1 to Windows Vista customers who have chosen to have updates downloaded automatically. "

Deci mai asteptam 6 saptamani pana o sa-l putem downloada... buuuun.

vineri, 1 februarie 2008

Aplicatii Silverlight in PHP

Ati auzit de Phalanger?
Probabil raspunsul ar fi DA din partea unor programatori PHP si NU din partea celorlalti (pentru cei din a doua categorie, vedeti link-ul de mai sus pentru detalii).

Si acuma vin cu o a doua intrebare tot pentru programatorii PHP: v-ati gandit sa dezvoltati aplicatii in Silverlight, dar fara sa invatati un limbaj nou?

Indiferent de raspuns, mai ganditi-va... pentru ca aceeasi echipa care lucreaza la Phalanger a prezentat deja doua demo-uri de aplicatii Silverlight scrise in PHP.

marți, 29 ianuarie 2008

VS.NET 2008 Web Deployment Projects

A aparut versiunea finala de Web Deployment Projects pentru Visual Studio 2008 pe care o puteti downloada aici.

WDP este un add-on pentru Visual Studio care ofera cateva optiuni mai avansate de compilare si deployment pentru proiecte web. Mai multe detalii despre cum se foloseste WDP gasiti pe blog-urile lui Scott Guthrie sau VS Web Developer Team.

Din pacate versiunea Express de Visual Studio nu este suportata.

joi, 24 ianuarie 2008

Un an de Windows Vista


Raportul complet al vulnerabilitatilor descoperite in acest prim an si al update-urilor publicate il puteti downloada aici.

Don't click!

Cum ar fi sa navighezi pe internet fara sa folosesti click-ul de la mouse?
Citind si eu la randul meu niste blog-uri, am dat peste http://www.dontclick.it/ care vine cu o idee extraordinara: navigare fara click-uri:)

Chiar daca site-ul e facut in Flash, un model asemanator de navigare se poate face numai cu HTML si putin JavaScript.

miercuri, 9 ianuarie 2008

How tos: configurare SharePoint 2007 pentru ASP.NET Ajax

Inca un pas facut de SharePoint 2007 catre web 2.0 il reprezinta suportul introdus
incepand cu Service Pack 1 pentru AJAX.NET. Pentru aceasta insa trebuie urmati pasii:
  1. Downloadati si instalati
    ASP.NET 2.0 AJAX Extensions 1.0
    pe server-ul unde esta instalat SharePoint 2007 (daca SharePoint-ul s-a instalat intr-un webfarm, atunci ASP.NET Ajax Extensions trebuie instalat pe fiecare server);
  2. Modificati web.config-ul
    de la website-ul(urile) din SharePoint pentru care vreti sa activati Ajax (voi detalia
    mai jos);
  3. Adaugati ScriptManager-ul la nivel de master.page

Modificarea web.config-ului

Mai intai trebuie sa identificati website-ul din SharePoint pentru care doriti adaugarea
suportului pentru AJAX, retineti portul si deschideti web.config-ul din locatia

file:////[servername]/c$/Inetpub/wwwroot/wss/VirtualDirectories/[PortNumber]/web.config - daca accesati pe retea serverul unde este instalat MOSS 2007

sau

c:\Inetpub\wwwroot\wss\VirtualDirectories\[PortNumber]\web.config - daca accesati direct serverul unde este instalat MOSS 2007

si:

1. Adaugati un element nou <sectionGroup> in interiorul tag-ului <configSections>:

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>

<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />

<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />

<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />

</sectionGroup>
</sectionGroup>
</sectionGroup>

2. Adaugati tag-ul <controls> in interiorul <system.web>/<pages>:

<pages>
<controls>

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</controls>
</pages>

3. Adaugati urmatoarele inregistrari in tag-ul <assemblies> din sectiunea
<compilation>:

<assemblies>

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</assemblies>

4. Adaugati urmatoarele linii la sfarsitul sectiunii <httpHandlers>:

<httpHandlers>

<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

</httpHandlers>

5. Adaugati urmatoarea linie la sfarsitul sectiunii <httpModules>:

<httpModules>

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</httpModules>

6. Inregistrati toate controalele din System.Web.Extensions ca SafeControls in
interiorul sectiunii <SharePoint>/<SafeControls>:

<SafeControls>

<SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" />

</SafeControls>

7. In final adaugati urmatoarea sectiune la sfarsitul web.config-ului, chiar inainte de tag-ul </configuration>:

<system.web.extensions>
<scripting>
<webServices>

<!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->

<!--

<authenticationService enabled="true" requireSSL = "truefalse"/>

-->

<!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and writeAccessProperties attributes. -->

<!--

<profileService enabled="true"
readAccessProperties="propertyname1,propertyname2"
writeAccessProperties="propertyname1,propertyname2" />

-->

</webServices>

<!--

<scriptResourceHandler enableCompression="true" enableCaching="true" />

-->

&nbs
</scripting>
</system.web.extensions>
<system.webServer>

<validation validateIntegratedModeConfiguration="false" />

<modules>

<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

</modules>

<handlers>

<remove name="WebServiceHandlerFactory-Integrated" />

<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

</handlers>
</system.webServer>


Adaugati ScriptManager-ul

E bine stiut ca pentru a putea folosi UpdatePanel-ul si celelalte controale din ASP.NET Ajax
Extension trebuie ca la inceputul paginii sa fie adaugat un tag <asp:ScriptManager...>, iar acesta nu poate exista in pagina decat maxim odata. Varianta cea mai simpla e sa adaugam ScriptManager-ul in interiorul webpart-ului nostru, insa solutia nu merge... Ce se intampla daca in aceeasi pagina adaugam mai multe instante ale webpart-ului nostru? Bineinteles ca se vor crea mai multe instante ale ScriptManager-ului si aplicatia va crapa.

Exista insa doua solutii care elimina aceasta problema:

1. Modificam master page-ul din SharePoint si adaugam tag-ul
<asp:ScriptManager...>
la inceputul acestuia. Acesta poate fi deschis fie cu
SharePoint Designer 2007, sau chiar cu notepad-ul, din view-ul

http://[moss_server]/_catalogs/masterpage/Forms/AllItems.aspx
iar tag-ul
ScriptManager
trebuie adaugat imediat dupa <form>.

2. O varianta mult mai flexibila si la indemana tuturor o reprezinta SmartPart-ul... Pentru aceasta trebuie downloadat si instalat Return of SmartPart (gasiti un document Word in interiorul arhivei care va explica cum se instaleaza si cum se foloseste). Acest modul contine un webpart numit AJAXSmartPart si care poate fi folosit pentru controalele care folosesc
AJAX.

Aruncand un ochi cu reflector-ul lui Roeder in assembly-ul SmartPart-ului, la tip-ul AJAXSmartPart, vedem ca la initializarea controlului se obtine instanta curenta din pagina de ScriptManager, iar daca nu exista se creeaza si se adauga. Asa ca folositi-l cu incredere ;-)

marți, 8 ianuarie 2008

Visual C++ 2008 Feature Pack

Visual C++ 2008 Feature Pack Beta este o extensie la librarile standard din MFC, iar dupa instalarea acestuia (pentru instalare trebuie sa aveti deja versiunea in engleza - ENU - a Visual Studio 2008) veti putea crea aplicatii care:
- au acelasi look ca Office XP, Office 2003 sau Office 2007;
- in loc de meniul standard se pot folosi controale noi asemanatoare cu Ribbons (introduse pentru prima data in Office 2007);
- se pot crea toolbar-uri si panel-uri cu facilitati de docking (asemanator cu docking-ul cu care deja ne-am obisnuit din Visual Studio);
- toolbar-uri si menu-uri customizabile.

Pe langa aceste elementele vizuale, mai include si un subset din TR1:
- smart pointers
- modul de parsare a expresiilor regulate;
- containere noi: tuple, array, unordered set...
- generator de numere aleatoare mai avansat;
- ...

Iar pentru dezvoltare va trebui sa mai downloadati Visual C++ 2008 Feature Pack Documentation