Archive

Archive for the ‘Software’ Category

Tiny Uploader update

April 5th, 2012 No comments

New update to current build, fixed more issues with the size optimizations for upload.

Categories: Delphi stuff, Software Tags:

Tiny Uploader 2.76

March 23rd, 2012 No comments
  • 2.76: Fixed some issues when the image is being processed to optimize for upload speed, it wasn’t being resized properly.
Categories: Delphi stuff, Software Tags:

Tiny Uploader 2.75

December 26th, 2011 2 comments

New version available.

https://eden.fm/tinypic-uploader/

Categories: Delphi stuff, Software Tags:

Tiny Uploader 2.73

December 3rd, 2011 No comments

New version of tiny uploader available.

Categories: Delphi stuff, Software Tags:

TwitMee source code

October 12th, 2011 1 comment

Been getting a lot of emails asking for the source code for the demo application TwitMee that uses my delphi twitter library, so finally uploaded it, you can get it here:

https://eden.fm/twitmee/

Categories: Delphi stuff, Software Tags:

Tiny Uploader 2.7 update

October 11th, 2011 1 comment

2.7:
– Added a 64 bit version. Context menu works with this one. (note: aero thumbnails capture doesn’t yet work in this version for x64)
– Cropped capture now displays a live view while you select the area.
– Added a “current session” log area, which is deleted after you restart.

Download:  https://eden.fm/tinypic-uploader/

Categories: Delphi stuff, Software Tags:

MySolusVM 0.5 beta

October 10th, 2011 No comments

Published a new version of my SolusVM client application.

New version supports multiple servers, displays warnings upon an error and there is also a 64-bit version available.

Categories: Delphi stuff, Software Tags:

NDSTokyoTrim 2.5 beta 2

April 7th, 2011 2 comments

New release of my popular trimmer for DS, grab it here https://eden.fm/ndstoykotrim/

Categories: Software Tags:

TwitterLib and TwitMee update

March 31st, 2011 4 comments

Updated my delphi twitter library and the little twitme tool.

There was a problem with the unix timestamp related to daylight savings time which just recently started here.

[download#7#format=2]
[download#7#format=1]

Categories: Delphi stuff, Software Tags:

MySolusVM 0.1

March 24th, 2011 No comments

Little desktop client to monitor the status of your server if you have a SolusVM control panel, for both VPS and Dedicated.

[download#10#format=2]
[download#10#format=1]

Next version will have multiple servers and tray notifications/warnings.

Categories: Software Tags: , , , , ,

Tiny Uploader 2.52

March 13th, 2011 2 comments

2.52:
* added a caption in the status bar indicating the amount of pictures you can upload to Imgur and the time the limit will reset (50 per hour as per their API).
* changed dropbox for a couple buttons for the upload/capture options for a little more convenience.

Grab it at https://eden.fm/tinypic-uploader/

Categories: Software Tags:

Twitter library v0.33

March 5th, 2011 No comments

New version of my Twitter library for Delphi.

– xAuth/SSL support.

There are several changes in the login process, please read the usage.pas and changelog.

[download#7#format=2]
[download#7#format=1]

NDSTokyoTrim 2.5 beta

March 3rd, 2011 1 comment

New version of my popular nds rom trimmer available after more than ~2 years. New:

– Unicode support (filenames in japanese etc)
– Trimming of DSi enhanced roms

Grab it here: https://eden.fm/ndstoykotrim/


Categories: Software Tags:

Twitter library update 0.32

February 28th, 2011 No comments

[download#7#format=2]
[download#7#format=1]

Categories: Delphi stuff, Software Tags:

another twitter library update v0.31

February 27th, 2011 1 comment

v0.3:

– Added a method: RetrievePIN(user,pass), with this you can avoid the user having to login and return with an access PIN, the app will retrieve it on its own by simulating a login etc. Use with care, since this method is prone to errors whenever Twitter changes something in their login and auth process. Check usage.pas for details on when to use this.
Note: reposted with a small modification to fix an error in the preauth process, redownload if you got 0.3 before.

[download#7#format=2]
[download#7#format=1]

Here’s the magic:

001procedure TwitterCli.RetrievePIN(user,pass: ansistring);
002Var h: THttpCli;
003    pvars,token,oatoken: ansistring;
004    ts: TStringList;
005    s,x: ansistring;
006    a: Integer;
007begin
008 
009  LastReq := trRequestRawAccess;
010 
011  FCookie := '';
012  ts := TStringList.Create;
013  h := THttpCli.Create(nil);
014  with h do
015  begin
016    url := 'http://twitter.com/oauth/authorize?oauth_token='+OAuthToken;
017    RcvdStream := TMemoryStream.Create;
018    OnDocEnd           := HTTPClientDocEnd;
019    OnHeaderEnd        := HTTPClientHeaderEnd;
020    OnBeforeHeaderSend := HTTPClientBeforeHeaderSend;
021    OnCookie           := GrabCookie;
022    try
023      Get;
024    except
025      on e:exception do
026      begin
027        if DebugMode then if Assigned(DebugMemo) then TMemo(DebugMemo).Lines.Add(e.Message);
028        ResultStrings.Text := 'Error: '+e.Message;
029      end;
030    end;
031 
032     try
033      h.RcvdStream.WriteBuffer(#0' ', 1);
034      h.RcvdStream.Position := 0;
035      ts.LoadFromStream(h.RcvdStream);
036    finally
037    end;
038  end;
039 
040  if h.StatusCode <> 200 then
041  begin
042    LastHttpStatus := h.StatusCode;
043    ResultStrings.Text := 'Error in raw authentication on 1st step';
044    h.RcvdStream.Free; h.RcvdStream := nil;
045    FreeAndNil(h);
046    FreeAndNil(ts);
047    TriggerReqDone;
048    Exit;
049  end;
050 
051 
052  if DebugMode then if Assigned(DebugMemo) then with TMemo(DebugMemo) do
053   TMemo(DebugMemo).Lines.Add(h.Cookie);
054 
055    h.RcvdStream.Free; h.RcvdStream := nil;
056 
057  if FCookie[length(FCookie)] = ';' then Delete(FCookie,length(FCookie),1);
058 
059  if DebugMode then if Assigned(DebugMemo) then with TMemo(DebugMemo) do
060  begin
061    TMemo(DebugMemo).Lines.Add('----------------------------------------');
062    TMemo(DebugMemo).Lines.Add('----------------------------------------');
063  end;
064 
065  s := ts.text;
066  if Pos('twttr.form_authenticity_token', s) > 0 then
067  begin
068    Delete(s,1,Pos('twttr.form_authenticity_token',s)+32);
069    s := Copy(s,1,Pos('''',s)-1);
070  end
071  else
072  begin
073    LastHttpStatus := 0;
074    ResultStrings.Text := 'Error in raw authentication prelogin';
075    h.RcvdStream.Free; h.RcvdStream := nil;
076    FreeAndNil(h);
077    FreeAndNil(ts);
078    TriggerReqDone;
079    Exit;
080  end;
081 
082  ts.Clear;
083  with h do
084  begin
085    url := 'http://twitter.com/oauth/authorize';
086    RcvdStream := TMemoryStream.Create;
087    SendStream := TMemoryStream.Create;
088    pvars := ('authenticity_token=' + s +
089             '&oauth_token=' + OAuthToken +
090             '&session%5Busername_or_email%5D=' + user +
091             '&session%5Bpassword%5D=' + pass);
092    SendStream.Write(pvars[1], Length(pvars));
093    SendStream.Seek(0, soFromBeginning);
094    OnDocEnd           := HTTPClientDocEnd;
095    OnHeaderEnd        := HTTPClientHeaderEnd;
096    OnBeforeHeaderSend := HTTPClientBeforeHeaderSend;
097    Cookie := FCookie;
098    if DebugMode then if Assigned(DebugMemo) then with TMemo(DebugMemo) do
099     TMemo(DebugMemo).Lines.Add('Cookie before post='+FCookie);
100    ExtraHeader := 'Origin:https://twitter.com' + #13#10 +
101                   'Referer:http://twitter.com/oauth/authorize?oauth_token=' + OAuthToken;
102    try
103      Post;
104    except
105      on e:exception do
106      begin
107        if DebugMode then if Assigned(DebugMemo) then TMemo(DebugMemo).Lines.Add(e.Message);
108        ResultStrings.Text := 'Error: '+e.Message;
109      end;
110    end;
111 
112     try
113      h.RcvdStream.WriteBuffer(#0' ', 1);
114      h.RcvdStream.Position := 0;
115      ts.LoadFromStream(h.RcvdStream);
116    finally
117    end;
118 
119    x := '';
120    s := ts.Text;
121    if Pos('<div id="oauth_pin">',s) > 0 then
122    begin
123      Delete(s,1,Pos('<div id="oauth_pin">',s)+19);
124      s := Copy(s,1,Pos('<',s));
125      for a := 1 to length(s) do
126       if (Ord(s&#91;a&#93;) > 47) and (Ord(s[a]) < 58) then
127        x := x + s&#91;a&#93;;
128    end;
129 
130    LastHttpStatus := h.StatusCode;
131 
132    if x = '' then LastHttpStatus := 0
133    else AccessPIN := x;
134 
135    if DebugMode then if Assigned(DebugMemo) then TMemo(DebugMemo).Lines.Add('PIN='+x);
136 
137    if DebugMode then if Assigned(DebugMemo) then with TMemo(DebugMemo) do
138    begin
139      TMemo(DebugMemo).Lines.Add(ts.Text);
140      TMemo(DebugMemo).Lines.Add(h.Cookie);
141    end;
142 
143    if h.StatusCode <> 200 then ResultStrings.Text := 'Error in raw authentication on 2nd step';
144 
145    FreeAndNil(ts);
146    h.RcvdStream.Free; h.RcvdStream := nil;
147    h.SendStream.Free; h.SendStream := nil;
148    FreeAndNil(h);
149  end;
150 
151  TriggerReqDone;
152 
153end;
154 
155procedure TwitterCli.GrabCookie(Sender: TObject; const Data: string; var Accept: Boolean);
156begin
157  FCookie := FCookie + Data + ';';
158end;
Categories: Delphi stuff, Software Tags: