blog.darkstar.work - a simple url encoder/decoder

 a simple url encoder/decoder
 http://blog.darkstar.work

Labels

Wirtschaft (149) Pressefreiheit (123) Österreich (120) IT (95) code (60) Staatsschulden (37) EZB (27) Pensionssystem (16)

2013-01-29

C# fetch a text from a website and render it as image


using System;
using System.Web;
using System.Drawing;
using System.IO;
using System.Net;
using System.Text;
using System.Drawing.Drawing2D;
using System.Drawing.Text;

public partial class _Default : System.Web.UI.Page
{
    private static HttpWebRequest request;
    private static HttpWebResponse response;

    private static string urlToFetch = "http://www.staatsschulden.at/";

    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            this.SetImage();
        }
    }

    protected byte[] GetImageBytes(System.Drawing.Image image)
    {
        byte[] byteArray = new byte[0];
        using (MemoryStream stream = new MemoryStream())
        {
            image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
            stream.Close();

            byteArray = stream.ToArray();
        }

        return byteArray;
    }

    protected void SetImage()
    {
        string finder = "<span class=\"money\" id=\"debt\">";
        char[] trimchars = "\r\n".ToCharArray();       
        string uriResponse = this.FetchFromUri(
urlToFetch, "");
        int schuldidx = uriResponse.IndexOf(finder);
        string rest = uriResponse.Substring(schuldidx + finder.Length);
        int endschuld = rest.IndexOf("</span>");
        rest = rest.Substring(0, endschuld).Trim(trimchars);
        Bitmap b = this.CreateImage(rest);
        // b.Save(Server.MapPath("staatsschulden.jpeg"), System.Drawing.Imaging.ImageFormat.Jpeg);
        byte[] bytes = GetImageBytes(b);

        Response.BinaryWrite(bytes);
    }

    private string FetchFromUri(string requestUrl, string requestParameter)
    {
        string fetched = "";
       
        request = (HttpWebRequest)WebRequest.Create(requestUrl);

        byte[] parameter = Encoding.UTF8.GetBytes(requestParameter);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = parameter.Length;

        Stream requestStream = request.GetRequestStream();
        requestStream.Write(parameter, 0, parameter.Length);
        requestStream.Close();

        //Holt sich die Antwort
        response = (HttpWebResponse)request.GetResponse();

        Stream responseStream = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(responseStream);
        fetched = streamReader.ReadToEnd();
        streamReader.Close();
        responseStream.Close();
       
        return fetched;
    }


    private Bitmap CreateImage(string s)
    {
        Bitmap b = new Bitmap(1, 1);

        int width = 0;
        int height = 0;

        Font font = new Font("Trebuchet", 16, System.Drawing.FontStyle.Bold,
            System.Drawing.GraphicsUnit.Pixel);
        Graphics g = Graphics.FromImage(b);
        width = (int)g.MeasureString(s, font).Width;
        height = (int)g.MeasureString(s, font).Height;
        b = new Bitmap(b, new Size(width, height));
        g = Graphics.FromImage(b);

        g.Clear(Color.White);
        g.SmoothingMode = SmoothingMode.AntiAlias;
        g.TextRenderingHint = TextRenderingHint.AntiAlias;
        g.DrawString(s, font, new SolidBrush(Color.BlueViolet), 0, 0);
        g.Flush();

        return (b);
    }
}

2013-01-28

Schuldendienst Österreich

jährliche Zinsen für den Staat:
Das ist bereits mehr an Geld, das wir im Jahr nur zurückzahlen, als die Höhe des jährlichen Gesamtbudgets für Unterricht und Bildung 2013 (inkl. aller LehrerInnengehälter).
Wenn das Budget durch Hochkonjunktur oder durch Hyperinflation stärker im Verhältnis zur jährlichen Kreditrückzahlungsrate anwachsen würde, dann wären Staatsschulden auch kein Problem. Anderenfalls wird der Betrag für den jährlichen Schuldendienst immer höher und es bleibt immer weniger Geld dem Staat im Budget für alles andere, wie Spitäler, Bildung, Familien, Pensionen, ...


2013-01-26

Windows8, sniffing und urs.microsoft.com

Windows Explorer macht unter Windows 8 eine TCP https Verbindung zu urs.microsoft.com auf:
https://ipdb.at/ip/157.56.124.137

Analyse:





 NoSniff under Windows8? 

Neuer Internet Explorer im Kachelmodus unter Windows8 erkennt manchmal SSL aufbrechen und verweigert. Da werden die ganzen Firmen und öffentliche Einrichtungen, die mit bluecoat oder squid bump SSL aufbrechen aber gar keine Freude haben.

2013-01-25

Dynamische Google Blogsuche in Google Reader oder als rss abonnieren

Ich suchte mit Google alle Blogs in Österreich zu den Themen:
Leitzins, Leistungsbilanz, Außenhandelsbilanz
http://www.google.at/search?q=site:at+Leitzins+OR+Leistungsbilanz+OR+Außenhandelsbilanz&hl=de&tbm=blg
Diese dynamische Suche kann man als rss oder atom feed im Google reader abonnieren.

Zuerst hänge &output=atom oder &output=rss an die Url der Google Suche an:
http://www.google.at/search?q=site:at+Leitzins+OR+Leistungsbilanz+OR+Außenhandelsbilanz&hl=de&tbm=blg&output=atom
http://www.google.at/search?q=site:at+Leitzins+OR+Leistungsbilanz+OR+Außenhandelsbilanz&hl=de&tbm=blg&output=rss
Praktisch sind wir hier schon fertig, weil ein Klick auf die Urls ermöglicht bereits das abonnieren.
Theoretisch geht es so weiter:
UrlEncode diese Url, wobei diese 3 Varianten möglich und gültig sind: 
http://www.google.at/search%3Fq%3Dsite%3Aat%2BLeitzins%2BOR%2BLeistungsbilanz%2BOR%2BAußenhandelsbilanz%26hl%3Dde%26tbm%3Dblg%26output%3Datom 
http://www.google.at%2Fsearch%3Fq%3Dsite%3Aat%2BLeitzins%2BOR%2BLeistungsbilanz%2BOR%2BAußenhandelsbilanz%26hl%3Dde%26tbm%3Dblg%26output%3Datom 
http%3A%2F%2Fwww.google.at%2Fsearch%3Fq%3Dsite%3Aat%2BLeitzins%2BOR%2BLeistungsbilanz%2BOR%2BAußenhandelsbilanz%26hl%3Dde%26tbm%3Dblg%26output%3Datom
Dann schreibe davor:
https://www.google.at/reader/view/feed/
sieht vollständig dann so aus:
https://www.google.at/reader/view/feed/http://www.google.at%2Fsearch%3Fq%3Dsite%3Aat%2BLeitzins%2BOR%2BLeistungsbilanz%2BOR%2BAußenhandelsbilanz%26hl%3Dde%26tbm%3Dblg%26output%3Datom  
und schon ist die dynamische Suche im Reader abonniert.

2013-01-16

a simple url encoder/decoder in javascript

<script type="text/javascript" language="javascript">
    function urlencode(s) {
        if (s == null || s.value == null || s.value == '') {
            alert("Url to encode is null or empty!");
            return ;
        } 
        var uri = encodeURIComponent(s.value)
        document.getElementById('output').value = uri;
    }              
    function urldecode(s) {        
        if (s == null || s.value == null || s.value == '') {
            alert("Url to decode is null or empty!");
            return ;
        }   
        var uri = decodeURIComponent(s.value)
        document.getElementById('output').value = uri;
    }
</script>

<form action="" id="urlform">
  <table cellspacing="1" cellpadding="1">
    <tr>
      <td>
        <input type="text" id="url" name="url" size="64" maxlength="256"
          value="http%3A%2F%2Fblog.area23.at%2F" />
      </td><td>
        <input type="button" id="deocde" name="deocde" value="deocde"
          onclick="urldecode(document.getElementById('url'))" />
      </td><td align="right">
        <input type="button" id="encode" name="encode" value="encode"
          onclick="urlencode(document.getElementById('url'))" />
      </td><td align="right">
        &nbsp;a simple url encoder/decoder
      </td>   
    </tr><tr>
      <td colspan="3">
        <input type="text" id="output" name="output" size="90" maxlength="256" readonly="readonly" />
      </td><td align="right">
        &nbsp;<a href="http://blog.area23.at">http://blog.area23.at</a>
      </td>
    </tr>   
  </table>
</form>    

Die 10 Gebote für die Euro-Zone

Die 10 Gebote für die Euro-Zone

  1. Du sollst nicht über deine Verhältnisse leben.
    Kein Staat darf sein Defizit über drei Prozent der Wirtschaftsleistung steigen lassen. Tut er es doch, wird automatisch eine Geldstrafe gegen ihn verhängt.
  2. Du sollst gerechte Strafen nicht verhindern
    Der EU-Finanzministerrat darf Strafverfahren gegen Haushaltssünder nur noch in absoluten Ausnahmefällen stoppen - und dann nur mit Zweidrittelmehrheit. Das wird im neuen EU-Vertrag von Lissabon festgeschrieben.
  3. Du sollst Rücksicht auf nachfolgende Generationen nehmen
    Jeder Euro-Staat muss eine Schuldenbremse in seiner Verfassung verankern. Der europäische Pump-Kapitalismus gehört der Vergangenheit an.
  4. Du sollst Ehrfurcht vor dem Europäischen Gerichtshof haben
    Euro-Länder, die die Schuldenbremse nicht vorschriftsgemäß in ihrer Verfassung verankert haben, können vor dem europäischen Gerichtshof verklagt werden. Damit bekommt Europa in Finanzfragen Vorrang vor den Nationalstaaten.
  5. Du sollst Investoren nicht verunsichern
    Der griechische Schuldenschnitt bleibt ein einmaliger Sündenfall, der sich nicht wiederholen darf. Rechtsicherheit für Investoren wird im Gründungsvertrag des permanenten Euro-Rettungsschirms ESM festgeschrieben.
  6. Du sollst für Wirtschaftswachstum sorgen
    Die Euro-Zone bekommt eine echte Wirtschaftsregierung: Die Regierungschefs der Mitgliedstaaten treffen sich jeden Monat zu einem Gipfel, um ihre Wirtschaftspolitik zu koordinieren und das Wachstum gemeinsam anzukurbeln.
  7. Du sollst die Unabhängigkeit der EZB achten
    Die Europäische Zentralbank ist und bleibt unabhängig. Sie entscheidet selbst, ob und wie viele Staatsanleihen sie ankauft. Die Regierungen der Euro-Zone äußern sich dazu nicht.
  8. Du sollst nicht begehren deines Nächsten Geld
    Euro-Bonds sind nicht geeignet, die Schuldenkrise zu lösen. Sie werden vorläufig nicht eingeführt. Jeder Euro-Staat haftet weiter individuell für seine Schulden.
  9. Du sollst auf die großen Volkswirtschaften hören
    Deutschland und Frankreich übernehmen als größte Volkswirtschaften de facto die politische Führung in der Euro-Zone. Das steht so nirgends, wird aber von fast allen akzeptiert.
  10. Du sollst das Kerneuropa als neue Wirklichkeit anerkennen
    Die Euro-Zone marschiert voran in Richtung Fiskalunion und lässt dabei notfalls die zehn Nicht-Euro-Länder hinter sich. Wenn EU-Vertragsänderungen nicht mit allen 27 Staaten machbar sind, werden sie eben von den 17 Euro-Ländern allein beschlossen.

Quelle: http://www.wiwo.de/politik/europa/denkfabrik-das-wettbewerbsproblem-der-euro-zone-wird-groesser/7585882.html

2013-01-15

In Frankreich gingen 340.000 gegen die Homoehe auf die Straße

Freunde des Bistro und des Club Med, so geht das bitte nicht! An diejenigen unter Euch Franzosen, die hetero, asexuel oder sonst nicht homo sind, wieso geht ihr auf die Straße, wenn Euch das gar nicht betrifft. Seid ihr gegen ACTA auf die Straße gegangen? Würdet ihr gegen die Wiedereinführung der Todesstrafe auf die Straße gehen?

Frankreich hat so ein geringes Leistungsplus im €uro und die Reichen flüchten schon aus dem Land! Denkt bitte einmal an die Wirtschaft in der €-Krise: Durch die Homoehe entstehen soviele neue Branchen, das Homoehebrautkleid, die HomoeheweddingplanerIn, die HomoehefotografIn, die Homoeheberatung, ...
und auch noch ein Körberlgeld fürs Standesamt.

Wenn es Homoehe gibt, dann muss es auch Homoehescheidung geben, damit es keinen Mord und Totschlag gibt, wenn es die Leute nicht mehr miteinander aushalten. 
Mit der Homoehescheidung haben die Anwälte auch wieder mehr zu tun und die brauchen dann aus Verzweiflung nicht auf komische Ideen kommen und kids abmahnen.
Wenns dann eine schöne Schlammschlacht bei einer prominentnen Homoehescheidung vor Gericht gibt, dann kann der Axel-Springer Verlag darüber berichten und die Leute kaufen mehr Zeitungen und die Verlage machen wieder mehr Umsatz und brauchen kein #LSR