yoy.be "Why-o-Why"

2005 ...

januari februari maart april (1) mei juni (16) juli augustus september (12) oktober (14) november (8) december (3)

IconSuite

2005-09-09 22:47  i196  freeware  [permalink]

IconSuite.zip ~289KB. Making icons for this site (and others), especially with little icons repeating on top of others to denote combinations of two concepts into a new concept, is  quite a job. Expecially if you do all of this by hand, pixel by pixel, adding transparency... Converting to PNG or something that a WebSite can use. And have all that into a single BMP for the dsWebTreeView.

Since it's such a job, of repetitive nature, it's great to write an app for. This thing helps me to create new icons, new combinations, and the template/overlay system is great for the great number of similar icons and those little exceptions that occur just once.

For now it's stuck to icons of 16x16 pixels, but if there's demand (hint hint) I might re-work those constants into settings. It exports PNG's and a single BMP read to use with dsWebTreeView. The data is stored in a IconSuite.xml file in the same directory as the exe. The IconSuite.xml file for this site can be found here IconSuite.xml.

Regular Expression

2005-09-18 11:39  r119  dotnet  [permalink]

Regular Expression

[RE icon]Struggled with scripting RegEx's just to get something from a large file?
Build them into something that works right-a-way with click and drag

BarcodeStuff

2005-09-18 11:40  r121  delphi freeware  [permalink]

BarcodeStuff

[BarcodeStuff icon]Delphi code to generate barcodes in two steps. First encode information in a TBits object, then render the TBits sequence into something, e.g. a bitmap or HTML.

Odo

2005-09-18 11:42  r122  freeware  [permalink]

Odo

[Odo icon]"How long have I been working on this?"
"When did I start this morning?"
Never wonder again. And see how much you really do on mouse and keyboard.

A sudoku a day

2005-09-20 15:54  i231  internet  [permalink]

The Daily SuDoku

train that brain, meer nog blijkbaar zit hun dagelijkse op de vaste URL:


Zonsverduistering

2005-09-20 16:40  i232  actueel  [permalink]

Annular Solar Eclipse of 2005 October 03

de volgende zonsverduistering passeert over Spanje!


Telenet PCTV Films

2005-09-20 16:47  i234  internet film  [permalink]

Telenet Pctv begint al betere films te kunnen geven!

The giant cheese-ball in the sky

2005-09-23 16:07  i236  internet  [permalink]

moon.google.com

de grapjassen! vooral eens inzoomen tot de grootste stand! ha!


er is nog! ze hebben het goed doordacht
http://www.google.com/jobs/lunar_job.html
eens zien als ze het dan gaan doen in 2069 zoals ze zeggen...

RSF - Book about blogging

2005-09-25 19:38  i245  internet  [permalink]

Reporters sans frontières - Create your own blog, remain anonymous and get round censorship !

Interessant, maar een vreemd duister kantje om politiek schuine dingen te kunnen doen. Moet ik misschien eens doornemen op mijn gemak.

Ook lijkt dit me een eenvoudig te verklaren verschijnsel. Met het nieuwe medium internet, is iedere ontvanger ook een zender, mocht die dat willen. Dus is ook iedere nieuws-lezer, eigenlijk een beetje een journalist, mocht die dat willen. En net dat journalisme is iets waar meer komt bij kijken dan gewoon wat informatie spuien... Toch?


IPod Nano's schermpje breekt gemakkelijk

2005-09-27 13:07  i252  actueel muziek  [permalink]

IPod Nanos develop scratch of death

aj... Tja, ik vroeg me al af of ze lang zouden hebben moeten kiezen welk plastiek te gebruiken, bijvoorbeeld ook voor mijn T630. En als ze iets zo dun mogelijk willen krijgen, dan moet het schermpje zelf ook zo dun mogelijk natuurlijk. En om te prijs te drukken gaan ze geen geslepen saffier kunnen gebruiken als scherm...


Google Personalized Homepage

2005-09-27 13:20  i254  internet  [permalink]

Personalize your Google homepage

ha! mijn zoektocht naar een RSS-reader die wat te doen is is al gedaan!

http://www.google.com/ig

CreateProcessAsUser/CreateProcessWithLogon

2005-09-28 10:10  i269  delphi  [permalink]

Pre-Windows 2000 versions have a function call CreateProcessAsUser available, but this requires the SeTcbPrivilege, which only the local Administrator account have (and the local SYSTEM account, but not user accounts in the Administrators group). So this first method only works with the local administrator account:
procedure SetPrivilege(th:THandle;pn:string);
var
  tp:TTokenPrivileges;
  tpc:cardinal;
begin
  tpc:=0;
  tp.PrivilegeCount:=1;
  tp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
  if not(LookupPrivilegeValue('',PChar(pn),tp.Privileges[0].Luid)) then RaiseLastOSError;
  if not(AdjustTokenPrivileges(th,false,tp,SizeOf(tp),nil,tpc)) then RaiseLastOSError;
end;
 
procedure RunAs(Logon,Pwd,Domain,App:string);
var
  th:THandle;
  si:TStartupInfo;
  pi:TProcessInformation;
begin
  if not(OpenProcessToken(GetCurrentProcess,
    TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY or TOKEN_ASSIGN_PRIMARY,th)) then RaiseLastOSError;
 
  SetPrivilege(th,'SeTcbPrivilege');
  SetPrivilege(th,'SeAssignPrimaryTokenPrivilege');
  SetPrivilege(th,'SeIncreaseQuotaPrivilege');
 
  CloseHandle(th);
 
  if not(LogonUser(
    PChar(Logon),PChar(Domain),PChar(Pwd),
    LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,th)) then RaiseLastOSError;
 
  try
 
    ZeroMemory(@si,sizeof(si));
    si.cb:=sizeof(si);
    si.dwFlags:=STARTF_USESHOWWINDOW;
    si.wShowWindow:=SW_NORMAL;
    ZeroMemory(@pi,sizeof(pi));
 
    if not(CreateProcessAsUserW(th,nil,PWideChar(WideString(App)),
      nil,nil,false,0,nil,nil,si,pi)) then RaiseLastOSError;
 
    CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
 
  finally
    CloseHandle(th);
  end;
end;
Since Windows 2000, advapi32.dll also has a CreateProcessWithLogonW function call, which doesn't require you to have the SeTcbPrivilege. Using this call, the above code can be condesed to this: (Delphi 6 doesn't have this function call declared, so the declaration is included here)
function CreateProcessWithLogonW(
  lpUsername: PWideChar;lpDomain: PWideChar;lpPassword: PWideChar;
  dwLogonFlags: DWORD; lpApplicationName: PWideChar;
  lpCommandLine: PWideChar; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: PWideChar;
  const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL; stdcall;

const
  LOGON_WITH_PROFILE              =$00000001;
  LOGON_NETCREDENTIALS_ONLY       =$00000002;
  LOGON_ZERO_PASSWORD_BUFFER      =$80000000;

function
CreateProcessWithLogonW; external 'advapi32.dll' name 'CreateProcessWithLogonW';



procedure
RunAs(Logon,Pwd,Domain,App:string);
var
  si:TStartupInfo;
  pi:TProcessInformation;
begin
  ZeroMemory(@si,sizeof(si));
  si.cb:=sizeof(si);
  si.dwFlags:=STARTF_USESHOWWINDOW;
  si.wShowWindow:=SW_NORMAL;
  ZeroMemory(@pi,sizeof(pi));

  if not(CreateProcessWithLogonW(
    PWideChar(WideString(Logon)),
    PWideChar(WideString(Domain)),
    PWideChar(WideString(Pwd)),LOGON_WITH_PROFILE,nil,
    PWideChar(WideString(App)),
    0,nil,nil,si,pi)) then RaiseLastOSError;

CloseHandle(pi.hThread);
  CloseHandle(pi.hProcess);
end;