<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8668905961012578822</id><updated>2026-07-24T08:01:33.924+02:00</updated><category term="ubuntu"/><category term="Linux"/><category term="laptop"/><category term="java"/><category term="open source"/><category term="microsoft"/><category term="security"/><category term="MSI S271"/><category term="computer"/><category term="python"/><category term="Desktop"/><category term="web"/><category term="debian"/><category term="google"/><category term="internet"/><category term="programming"/><category term="red hat"/><category term="conference"/><category term="enterprise"/><category term="gnome"/><category term="intelectual property"/><category term="network"/><category term="tv"/><category term="Suse"/><category term="apparmor"/><category term="spring"/><category term="64-bit"/><category term="Novell"/><category term="SpringOne"/><category term="binary drivers"/><category term="standards"/><category term="Eee"/><category term="GIS"/><category term="HP"/><category term="amsterdam"/><category term="compact flash"/><category term="database"/><category term="dell"/><category term="flash"/><category term="fun"/><category term="mp3"/><category term="network-manager"/><category term="ogg"/><category term="package"/><category term="postgresql"/><category term="travel"/><category term="vista"/><category term="Kerberos"/><category term="blog"/><category term="bzr"/><category term="certificat authority"/><category term="community"/><category term="fedora"/><category term="file system"/><category term="firefox"/><category term="hard disk"/><category term="idg"/><category term="ldap"/><category term="postgis"/><category term="virtualization"/><category term="zepto"/><category term="API"/><category term="KDE"/><category term="OpenAFS"/><category term="PVR 500 MCE"/><category term="SCO"/><category term="ajax"/><category term="apache"/><category term="bios"/><category term="bluetooth"/><category term="document"/><category term="donkey"/><category term="eclipse"/><category term="encrypt"/><category term="english"/><category term="gvfsfind"/><category term="mail"/><category term="marketing"/><category term="music"/><category term="mysql"/><category term="odf"/><category term="ooxml"/><category term="power management"/><category term="printer"/><category term="rest"/><category term="rpm"/><category term="single sign on"/><category term="solaris"/><category term="support"/><category term="tinyca"/><category term="usb"/><category term="windows"/><category term="zepto 6014w"/><category term="2006"/><category term="ACM"/><category term="Apache Atlas"/><category term="Apache Hive"/><category term="Apache Ranger"/><category term="Big Data"/><category term="CACM"/><category term="Data warehouse"/><category term="Erik Hassle"/><category term="Express Card"/><category term="GDPR"/><category term="Gentoo"/><category term="Hadoop"/><category term="Intel D945GCLF2"/><category term="SD"/><category term="Western Digital"/><category term="amazon"/><category term="android"/><category term="ant"/><category term="ati"/><category term="bbc"/><category term="beagle"/><category term="canon"/><category term="cloud"/><category term="compaq 6910p"/><category term="deskbar"/><category term="dovecot"/><category term="encrypt swap"/><category term="esr"/><category term="faretrade"/><category term="fglrx"/><category term="firefly"/><category term="flac"/><category term="fosdem"/><category term="gandi"/><category term="groklaw"/><category term="groovy"/><category term="gtk"/><category term="gwt"/><category term="history"/><category term="howto"/><category term="jabber"/><category term="javascript"/><category term="jython"/><category term="kvm"/><category term="lenovo"/><category term="linux iphone"/><category term="mac"/><category term="mashup"/><category term="memory"/><category term="mobile"/><category term="mono"/><category term="mutagen"/><category term="nokia"/><category term="nokia 5300"/><category term="norge"/><category term="ocr"/><category term="ogc"/><category term="openstreetmap"/><category term="pam_mount"/><category term="paperbox"/><category term="party"/><category term="patent"/><category term="phone"/><category term="ping"/><category term="postfix"/><category term="rfc"/><category term="rms"/><category term="robots"/><category term="rss"/><category term="saas"/><category term="semantic web"/><category term="soa"/><category term="soundbridge"/><category term="ssl"/><category term="storage"/><category term="storm"/><category term="subversion"/><category term="technology"/><category term="tvsearch"/><category term="twitter"/><category term="unbuntu"/><category term="usability"/><category term="video"/><category term="vorbis"/><category term="wave"/><category term="weather station"/><title type='text'>The World of a Penguin</title><subtitle type='html'>The World of a Penguin discuss various things related to Computers, Open Source, Software development and Data Engineering.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>186</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-2819596285629286763</id><published>2019-10-01T20:38:00.000+02:00</published><updated>2019-10-01T20:38:24.582+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Atlas"/><category scheme="http://www.blogger.com/atom/ns#" term="Apache Hive"/><category scheme="http://www.blogger.com/atom/ns#" term="Apache Ranger"/><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Data warehouse"/><category scheme="http://www.blogger.com/atom/ns#" term="GDPR"/><category scheme="http://www.blogger.com/atom/ns#" term="Hadoop"/><title type='text'>Managing data access policies in Hive</title><content type='html'>&lt;h2 class=&quot;ib b ic ij ch&quot;&gt;
Managing data access policies in Hive&lt;/h2&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
To efficiently manage access policies in our Hive Hadoop cluster at Svenska Spel we developed a tool &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://github.com/SvenskaSpel/cobra-policytool&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Cobra-policytool&lt;/a&gt;. Instead of managing our policies in Apache Rangers web interface and tagging information in Apache Atlas it is now integrated into our CI/CD pipeline. We can use our normal development process for our polices too.&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
In this post I will describe the background to Cobra-policytool and demonstrate how to use it. We recently open sourced Cobra-policytool to be able to collaborate with others.&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
Earlier this year &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://www.svenskaspel.se/&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Svenska Spel&lt;/a&gt; migrated our Hadoop cluster to a new cluster using Hortonworks HDP. At the same time we decided to use Kerberos, &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://atlas.apache.org/&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Apache Atlas&lt;/a&gt;, and &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://ranger.apache.org/&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Apache Ranger&lt;/a&gt; to get good security and powerful access control. If you do not know what Atlas and Ranger does I recommend to take a look at &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://www.youtube.com/watch?v=MlDQqj5aYOg&amp;amp;t=129s&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;my talk from DataWorks Summit Europe 2018&lt;/a&gt;.&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
With Atlas and Ranger in place, next step was to implement and enforce our policies. Soon we realised it was not feasible to sit and tag our tables and columns in Atlas UI and enter policies into Ranger UI. It would be too time consuming and error prone. Neither could we peer-review our changes nor version control them. Finally, as a Hive focused organisation and already had our data model in Oracle SQL Developer Data Modeler, why add another place to enter our metadata and how to keep them in sync?&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;ix iy ch bc iz b ja jb jc jd je jf jg jh ji jj jk&quot; data-selectable-paragraph=&quot;&quot; id=&quot;ccca&quot;&gt;
With these four insights:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;time consuming&lt;/li&gt;
&lt;li&gt;error prone&lt;/li&gt;
&lt;li&gt;lack of version control&lt;/li&gt;
&lt;li&gt;scattered metadata&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
One question was raised: W&lt;em class=&quot;kf&quot;&gt;e already generating much of our ETL code and deploy it with an automated deployment pipeline so why not handle tags and policies the same way?&lt;/em&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;We did a proof of concept where we added metadata into our data model. This metadata became tags in Atlas. The tags were complemented with a file of policies to be applied to Ranger. It worked well. The BI developer tag the data while modelling, within the same tool. A few people in the team needed to learn write policy files. The rest of the process looks the same for the developer, everything happens in the background. &lt;/span&gt;&lt;em class=&quot;kf&quot;&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;Over the last few months we have iterated and improved our proof of concept to a production ready tool called Cobra-policytool. After presenting our work at Data Works Summit Europe there were a lot of interest. We therefore decided to open source it.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;Cobra-policytool is independent of our use of Oracle SQL Developer Data Modeler. It reads CSV files with tag information and a json-file with our policies and applies these to Atlas and Ranger. It makes it easy for others to use it with their tools of choice or when maintaining them by hand.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;We have to this date used Cobra-policytool for our data in Hive but intend to use it for more aspects of our Hadoop cluster later.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;The rest of this post I will walk through a simple example how to use Cobra-policytool. It is not intended to cover all aspects but to get you started.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;Assume we have a table called customer in the schema example_dev.&lt;/span&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;lm ln dl n o kn x kw&quot; height=&quot;181&quot; role=&quot;presentation&quot; src=&quot;https://miro.medium.com/max/1587/1*EM_fA3nF_Y6tMxIdotmW0A.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;529&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Customer table in schema example&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;We have two groups of users we want to allow work this table. First group are our analysts, they need to read it but are not allowed to see personal identifiable information (PII). Second group are our marketing team. They are allowed to see personal identifiable information but only for users opted-in for marketing, in our case true in the column marketing.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;Lets start tag our data to mark what is PII. This is done adding a tag PII to our columns with information that can identify people. To do this we create one CSV-file for tables and columns respectively.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;Create the CSV for tables name it table_tags.csv:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;bed4&quot;&gt;schema;table;tags
example;customer;PII_table&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;bed4&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;span class=&quot;kf&quot;&gt;&lt;/span&gt;Not that we only write “example” as schema, but we said earlier the name was “example_dev”. Cobra-policytool uses the convention to suffix our schema with environment name. This way we can have several environments in one Hive installation.&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
Create the CSV for columns name it column_tags.csv:&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;4259&quot;&gt;schema;table;attribute;tags
example;customer;customer_id;PII
example;customer;name;PII
example;customer;city;
example;customer;marketing;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;4259&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;4259&quot;&gt;We list all columns in the customer table, this way cobra-policytool can determine if tags have been removed from a column. You get a warning of columns not listed. The same is true for tables. If one table or column have multiple tags we separate them with comma(,).&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;4259&quot;&gt;To deploy the tags to Atlas we use the command cobra-policy. Provide the directory of the CSV files, name of our environment and our config file. Look in the &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://github.com/SvenskaSpel/cobra-policytool/blob/master/docs/Configfile.md&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;documentation&lt;/a&gt; how to configure where your servers are. Remember our environment is the suffix to our schema, in this case dev.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;24f7&quot;&gt;cobra-policy tags_to_atlas --srcdir example-dir --environment dev -c myconfig&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;24f7&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;24f7&quot;&gt;&amp;nbsp;&lt;/span&gt;If you go to your Atlas UI you can search for table customer and see that it have the tag PII_table. So far nothing happens with our data. We must provide policies for our cases.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
We start with a policy for our analyst users. When an analyst ask a query in Hive all fields tagged with PII shall be anonymised with an UDF udf.anonymize. The UDF can be any UDF in Hive. Ranger provides som simple masking UDFs. In this example the columns customer_id and name shall be anonymised.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
Policies are defined in the file ranger_policies.json that must be stored in the same directory as the CSV files. This is how our ranger_policies.json will look like, turn to the &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://github.com/SvenskaSpel/cobra-policytool/blob/master/docs/indata.md&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;documentation&lt;/a&gt; for details.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;c3cf&quot;&gt;[{
    &quot;command&quot;: &quot;apply_rule&quot;,
    &quot;policy&quot;: {
        &quot;service&quot;: &quot;dev_tag&quot;,
        &quot;name&quot;: &quot;load_etl_mask_pii_data_analysts&quot;,
        &quot;policyType&quot;: 1,
        &quot;description&quot;: &quot;Mask all column data tagged PII&quot;,
        &quot;isAuditEnabled&quot;: true
        &quot;resources&quot;: {
            &quot;tag&quot;: {
                &quot;values&quot;: [&quot;PII&quot;],
                &quot;isExcludes&quot;: false,
                &quot;isRecursive&quot;: false
            }
        },
       &quot;dataMaskPolicyItems&quot;: [{
           &quot;dataMaskInfo&quot;: {
               &quot;dataMaskType&quot;: &quot;hive:CUSTOM&quot;,
               &quot;conditionExpr&quot;: &quot;udf.anonymize({col})&quot;,
               &quot;valueExpr&quot;: &quot;udf.anonymize({col})&quot;
           },
           &quot;accesses&quot;: [{
               &quot;type&quot;: &quot;hive:select&quot;,
               &quot;isAllowed&quot;: true
           }],
           &quot;users&quot;: [],
           &quot;groups&quot;: [&quot;analyst&quot;],
           &quot;conditions&quot;: [],
           &quot;delegateAdmin&quot;: false
       }],
       &quot;isEnabled&quot;: true
   }
}]&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;c3cf&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;c3cf&quot;&gt;Note that we are not listing neither columns nor tables. We rely on the tag information. This makes the policies easier to read and maintain.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;c3cf&quot;&gt;We deploy our policy with cobra-policytool in a similar way as we applied the tags:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;eb1d&quot;&gt;cobra-policy rules_to_ranger --srcdir example-dir --environment dev --project-name post&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;eb1d&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;eb1d&quot;&gt;Now, when a member of the group analyst run a query on the customer table she will only see anonymised data.&lt;/span&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;lm ln dl n o kn x kw&quot; height=&quot;177&quot; role=&quot;presentation&quot; src=&quot;https://miro.medium.com/max/1629/1*9LKbBHWXV9nLxtx9xOyn4Q.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;543&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Analysts view of customer table&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;eb1d&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;c3cf&quot;&gt;&lt;/span&gt;In our second use-case our CRM users shall only see customers opted in for marketing. This means we want to only show rows where marketing is true. For this we use row based filtering. Unfortunately one cannot do row based filtering using tags in Ranger, one rule per table is needed. Cobra-policytool add the possibility to have one rule for all tables with a tag. This requires that your filter expression works in all the tables with that tag. When deploying Cobra-policytool will create one rule for each table with a tag.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
We extend ranger_policies.json with an apply_tag_row_rule command. This command has next to the policy a filter section used to define what tables, rows, users and groups to match the policy for.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;8d86&quot;&gt;[{
  &quot;command&quot;: &quot;apply_tag_row_rule&quot;,
  &quot;filters&quot;: [{
    &quot;groups&quot;: [&quot;crm&quot;],
    &quot;users&quot;: [],
    &quot;tagFilterExprs&quot;: [{
      &quot;tags&quot;: [&quot;PII_table&quot;],
      &quot;filterExpr&quot;: &quot;marketing = true&quot;
    }]
  }],
  &quot;policy&quot;: {
    &quot;service&quot;: &quot;dev_hive&quot;,
    &quot;name&quot;: &quot;${project_name}_${environment}_${schema}_${table}&quot;,
    &quot;description&quot;: &quot;Row filtering policy for CRM&quot;,
    &quot;policyType&quot;: 2,
    &quot;isEnabled&quot;: true,
    &quot;resources&quot;: {
      &quot;database&quot;: {
        &quot;isExcludes&quot;: false,
        &quot;values&quot;: [&quot;${schema}_${environment}&quot;],
        &quot;isRecursive&quot;: false
      },
      &quot;table&quot;: {
        &quot;isExcludes&quot;: false,
        &quot;values&quot;: [&quot;${table}&quot;],
        &quot;isRecursive&quot;: false
      }
    },
    &quot;isAuditEnabled&quot;: true
  }
},
...]&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;8d86&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;8d86&quot;&gt;The policy part will be applied to every table with the PII_table tag. Which tables have the tag is read from the CSV-files. A number of variables are referred in the policy. These will be expanded for each matching table. The variable table will be changed to a matching table name, same for schema. Project_name and environment are taken from the command line arguments. You can also define your own variables in the configuration file.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;8d86&quot;&gt;To apply this rule we once again run our command:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;df33&quot;&gt;cobra-policy rules_to_ranger --srcdir example-dir --environment dev --project-name post&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;df33&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;df33&quot;&gt;&amp;nbsp;&lt;/span&gt;If we take a look at customer table as a CRM user we only have half of the users there, those with marketing equals true.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;lm ln dl n o kn x kw&quot; height=&quot;104&quot; role=&quot;presentation&quot; src=&quot;https://miro.medium.com/max/1587/1*F4MjytzRqDi5L9eMUPXu1w.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;529&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;CRM users view&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
Our two groups of users; analyst and CRM, have now only access to the data they need. Data is anonymised for analysts and CRM users only see customers opted in for marketing. When having a few rules it is straight forward to use this on all our data in the warehouse. Our experience is that getting our intention into crisp policies is the hard part. When that is in place is creating the policy file straight forward.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
Enforcing of our data policies are achieved creating three files and using Cobra-policytool. Two CSV files defining tags to mark important aspects off tables and columns. One json file including our policies. These files are managed in our source repository and deployed like other DDL-scripts. Cobra-policytool can be run over and over agin to guarantee no changes are made manually.&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
This post have demonstrated how we use cobra-policytool to apply tags and policies to a Hadoop and Hive environment. Thanks to cobra-policytool can we:&lt;/div&gt;
&lt;ul class=&quot;&quot;&gt;
&lt;li class=&quot;ix iy ch bc iz b ja jb jc jd je jf jg jh ji jj jk jx jy jz&quot; data-selectable-paragraph=&quot;&quot; id=&quot;3fb2&quot;&gt;version control our changes to policies&lt;/li&gt;
&lt;li class=&quot;ix iy ch bc iz b ja ka jc kb je kc jg kd ji ke jk jx jy jz&quot; data-selectable-paragraph=&quot;&quot; id=&quot;9998&quot;&gt;review changes before deployed&lt;/li&gt;
&lt;li class=&quot;ix iy ch bc iz b ja ka jc kb je kc jg kd ji ke jk jx jy jz&quot; data-selectable-paragraph=&quot;&quot; id=&quot;506f&quot;&gt;easily revert when issues appears&lt;/li&gt;
&lt;li class=&quot;ix iy ch bc iz b ja ka jc kb je kc jg kd ji ke jk jx jy jz&quot; data-selectable-paragraph=&quot;&quot; id=&quot;7d69&quot;&gt;consume tag-information produced from our code generator&lt;/li&gt;
&lt;li class=&quot;ix iy ch bc iz b ja ka jc kb je kc jg kd ji ke jk jx jy jz&quot; data-selectable-paragraph=&quot;&quot; id=&quot;27a8&quot;&gt;have rule based filtering based on tags instead on individual tables.&lt;/li&gt;
&lt;/ul&gt;
To learn more visit &lt;a class=&quot;bq cw jl jm jn jo&quot; href=&quot;https://github.com/SvenskaSpel/cobra-policytool&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Cobra-policytools Github pages&lt;/a&gt;. You can find more details and examples there. &lt;br /&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;8d86&quot;&gt;&lt;/span&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;8d86&quot;&gt;&lt;/span&gt;&lt;span class=&quot;lc ld ch bc le b dq lf lg l lh&quot; data-selectable-paragraph=&quot;&quot; id=&quot;8d86&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;kh ki kj kk kl dm fg lb&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;ib b ic ij ch&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 class=&quot;ib b ic ij ch&quot;&gt;
&lt;/h1&gt;
</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/2819596285629286763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/2819596285629286763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2819596285629286763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2819596285629286763'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2019/10/managing-data-access-policies-in-hive.html' title='Managing data access policies in Hive'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-3694505068800687718</id><published>2010-10-11T19:22:00.000+02:00</published><updated>2010-10-11T19:22:43.644+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ati"/><category scheme="http://www.blogger.com/atom/ns#" term="binary drivers"/><category scheme="http://www.blogger.com/atom/ns#" term="fglrx"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Upgrade to Ubuntu 10.10 and ATI-graphics</title><content type='html'>If you read this before you upgrade Ubuntu to 10.10. Remove/inactivate all your binary drivers before you upgrade.&lt;br /&gt;
&lt;br /&gt;
If you read this after you upgrade Ubuntu to 10.10 and get a messy screen so you do not see anything and can&#39;t login. Reboot your computer in failsafe mode. Select to become root and do:&lt;br /&gt;
&lt;blockquote&gt;apt-get install fglrx&lt;/blockquote&gt;I also&amp;nbsp;remembered&amp;nbsp;that I got in the last installation phase at the upgrade a complaint about problem removing fglrx. Why do I&amp;nbsp;suggest&amp;nbsp;to install fglrx when we actually have a problem to remove it? Well it is easy. Since it was half installed and I could not remove it, then I tried to install it again. I saw it installed dkms and compiled a new version of the driver for my kernel.&lt;br /&gt;
&lt;br /&gt;
I will now try to run the open source variant instead. I hate closed source, it is only problems.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/3694505068800687718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/3694505068800687718' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/3694505068800687718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/3694505068800687718'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2010/10/upgrade-to-ubuntu-1010-and-ati-graphics.html' title='Upgrade to Ubuntu 10.10 and ATI-graphics'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-922556813143743264</id><published>2009-08-22T18:01:00.004+02:00</published><updated>2010-05-08T13:16:59.460+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fedora"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>The generalization of the day</title><content type='html'>I use the web to find solutions of my problems, as most people do today. I have noted a huge difference between two communities I am using, the Java and the Linux community. With the Linux community I mean it in a broad sense like Linux distributions and common software running on Linux like Postgres, Apache, Evolution, F-spot, Python etc. I.e classic open source software.&lt;br /&gt;
&lt;br /&gt;
When I search on a problem in the Linux area I most of the time get good hits with people having the same problem and good answers from people who knows how to solve it. The hits are on mailing lists, forums, and blogs.&lt;br /&gt;
&lt;br /&gt;
On the other hand when searching on problems around Java I most of the time find people who have the same problem, but no answers.&lt;br /&gt;
&lt;br /&gt;
I know this is a very big generalization but are anybody else experience the same? Why are people in classic open source more willing to help than in the Java world?</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/922556813143743264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/922556813143743264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/922556813143743264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/922556813143743264'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/08/generalization-of-day.html' title='The generalization of the day'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-2630606418317646631</id><published>2009-07-27T08:53:00.004+02:00</published><updated>2009-07-27T09:10:09.130+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ACM"/><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="CACM"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Rule of thumbs for API designing</title><content type='html'>I have just read a very interesting article &quot;&lt;a href=&quot;http://cacm.acm.org/magazines/2009/5/24646-api-design-matters/fulltext&quot;&gt;API Design Matters&lt;/a&gt;&quot; by &lt;a href=&quot;http://zeroc.com/blogs/michi/&quot;&gt;Michi Henning&lt;/a&gt;. He discusses the problem with bad designed and gives some rules of thumb. We all have some time used an API that does not feel right and makes the coding hard. It is very interesting to read Michis analyze of this and why. My feeling is that he had put the hammer right on the nail. Here is a summary of the rules he discuss. I assume you will feel like me when you read them; yeah thats obvious. But thats the nice thing and the important is to get the list.&lt;br /&gt;&lt;br /&gt;An API :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;must provide sufficient functionality for the caller to achieve its task.&lt;/li&gt;&lt;li&gt;should be minimal without imposing undue inconvenience on the caller.&lt;/li&gt;&lt;li&gt;should be policy free if it is general purpose.&lt;/li&gt;&lt;li&gt;should be policy rich if it is special purpose.&lt;/li&gt;&lt;li&gt;should be designed from the perspective of the caller.&lt;/li&gt;&lt;li&gt;don&#39;t let the caller configure &quot;everything&quot;.&lt;/li&gt;&lt;li&gt;should be documented before it is implemented.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;If you want to read the discussion behind the rules, go to the &lt;a href=&quot;http://cacm.acm.org/magazines/2009/5/24646-api-design-matters/fulltext&quot;&gt;article&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/2630606418317646631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/2630606418317646631' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2630606418317646631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2630606418317646631'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/07/rule-of-thumb-for-api-designing.html' title='Rule of thumbs for API designing'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-2197724032180247071</id><published>2009-07-11T14:22:00.004+02:00</published><updated>2009-07-11T14:35:21.274+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dovecot"/><category scheme="http://www.blogger.com/atom/ns#" term="gandi"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mail"/><category scheme="http://www.blogger.com/atom/ns#" term="postfix"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Moved to France</title><content type='html'>Not me but my mail server has moved to France or to be more correct is now hosted by the French hosting provider &lt;a href=&quot;http://www.gandi.net/&quot;&gt;Gandi.net&lt;/a&gt;. According to &lt;a href=&quot;http://www.maxmind.com/app/locate_ip?ips=92.243.20.240&quot;&gt;GeoIP&lt;/a&gt; it is in Paris. I rent a small virtual machine from them to host my web and mail server. This makes me less dependent of my broad band connection and I skip the problem that my IP-address may change without notice.&lt;br /&gt;&lt;br /&gt;At Gandi I have an Ubuntu 9.04 Linux machine with 256kb of memory and 8GB of disk. This is more than enough for me to hosting private mail and web. The mailsever is postfix and dovecot. I have my own &lt;a href=&quot;http://theworldofapenguin.blogspot.com/2007/06/create-your-own-ca-with-tinyca2-part-1.html&quot;&gt;CA-authority&lt;/a&gt; to handle secure connections from my mail clients.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/2197724032180247071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/2197724032180247071' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2197724032180247071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2197724032180247071'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/07/moved-to-france.html' title='Moved to France'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-7906961177583495280</id><published>2009-07-05T19:10:00.004+02:00</published><updated>2009-07-05T19:17:01.105+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><title type='text'>Spring framework to Python</title><content type='html'>I just &lt;a href=&quot;http://www.springsource.org/node/1676&quot;&gt;noticed&lt;/a&gt; that Springsource has released  the Spring framework for Python. Interesting, especially since i like the Spring framework in Java and I prefer Python as language in a lot of cases. I must try it some day....</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/7906961177583495280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/7906961177583495280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7906961177583495280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7906961177583495280'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/07/spring-framework-to-python.html' title='Spring framework to Python'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-7848288405935315424</id><published>2009-06-09T18:42:00.004+02:00</published><updated>2009-06-09T18:48:05.127+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="linux iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="phone"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>IPhone - not for me</title><content type='html'>The new &lt;a href=&quot;http://www.apple.com/iphone/iphone-3g-s/&quot;&gt;IPhone&lt;/a&gt; looks nice. The only (?) problem is that, as far as I know, it cannot be fully used from an Linux/Ubuntu only environment. They assume you have a Mac or MS Windows machine.&lt;br /&gt;&lt;br /&gt;I think I have to wait until some one starts selling Android phones in Sweden and not require purchase by installments for the phone.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/7848288405935315424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/7848288405935315424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7848288405935315424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7848288405935315424'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/06/iphone-not-for-me.html' title='IPhone - not for me'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-5205261524145590921</id><published>2009-05-29T17:15:00.002+02:00</published><updated>2009-05-29T17:21:23.800+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gnome"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="internet"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="wave"/><title type='text'>The next big wave is Wave</title><content type='html'>Looking at &lt;a href=&quot;http://wave.google.com/&quot;&gt;Googles demo of Wave&lt;/a&gt;. It is impressing and my imagination fly and demonstrates solutions to some of my everyday problems like entering an e-mail conversation late,  mixing mail and chat etc.&lt;br /&gt;&lt;br /&gt;Wave will be the next or second to next big thing on the Net. I also looking forward to integration with my Ubuntu Gnome-desktop.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/5205261524145590921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/5205261524145590921' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/5205261524145590921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/5205261524145590921'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/05/next-big-wave-is-wave.html' title='The next big wave is Wave'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-8155874871241220166</id><published>2009-04-28T20:31:00.006+02:00</published><updated>2009-04-28T20:44:05.691+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amazon"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="conference"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="saas"/><category scheme="http://www.blogger.com/atom/ns#" term="single sign on"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><category scheme="http://www.blogger.com/atom/ns#" term="SpringOne"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>The future is cloudy</title><content type='html'>It is obvious most vendors are very focused on supporting the cloud. Ubuntu 9.04 focus on provide so you can have your &quot;own&quot; Amazon cloud. Canonical provides images for Amazon EC2. SpringSource makes it simpler to deploy spring applications on the cloud, both own Google AppEngine and Amazon. Vmware helps you to build your inhouse cloud.&lt;br /&gt;Then we have all SaaS services like Google Apps, Salesforce, sugarcrm.&lt;br /&gt;&lt;br /&gt;The big question is: How do we get single sign on on the cloud?&lt;br /&gt;&lt;br /&gt;Enough about clouds for today.&lt;br /&gt;&lt;br /&gt;One of the bigest news from SpringOne here in Amsterdam is that SpringSource development environment, STS, will be free as in no fees. Today it was mentioned in one conversation that a new minor release of STS will be released next thursday.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/8155874871241220166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/8155874871241220166' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/8155874871241220166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/8155874871241220166'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/future-is-cloudy.html' title='The future is cloudy'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-1457907138666778218</id><published>2009-04-28T17:03:00.002+02:00</published><updated>2009-04-28T17:07:03.171+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="internet"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><title type='text'>Now @ twitter too</title><content type='html'>I am now at &lt;a href=&quot;http://twitter.com/mrunesson&quot;&gt;twitter&lt;/a&gt; too. I will probably only twitt at special occasions like conferences.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/1457907138666778218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/1457907138666778218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1457907138666778218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1457907138666778218'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/now-twitter-too.html' title='Now @ twitter too'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-521593900781305409</id><published>2009-04-28T12:49:00.002+02:00</published><updated>2009-04-28T12:53:11.853+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amsterdam"/><category scheme="http://www.blogger.com/atom/ns#" term="conference"/><category scheme="http://www.blogger.com/atom/ns#" term="groovy"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><category scheme="http://www.blogger.com/atom/ns#" term="SpringOne"/><title type='text'>SpringOne Europe 2009 day2</title><content type='html'>SpringSource is really pushing Groovy and Grails. Hope they start pushing Jython too.&lt;br /&gt;&lt;br /&gt;Heard a nice talk just before lunch about transactions. Transactions engines are hard to write. Recomendation is to skip XA transactions.&lt;br /&gt;&lt;br /&gt;Time for some The before the next session.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/521593900781305409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/521593900781305409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/521593900781305409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/521593900781305409'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/springone-europe-2009-day2.html' title='SpringOne Europe 2009 day2'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-4805673731961010710</id><published>2009-04-27T21:11:00.003+02:00</published><updated>2009-04-27T21:23:12.622+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amsterdam"/><category scheme="http://www.blogger.com/atom/ns#" term="conference"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="rest"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><category scheme="http://www.blogger.com/atom/ns#" term="SpringOne"/><title type='text'>What&#39;s in Spring 3?</title><content type='html'>One session talked about the upcoming Springframework 3.0. It is more annotations, support for validation in JPA/Hibernate beans. Most interesting is that Spring will solve the &lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot;&gt;REST&lt;/a&gt;-problem in Java. Python and Ruby has already solved it. &lt;a href=&quot;https://jsr311.dev.java.net/&quot;&gt;JAX-RS&lt;/a&gt; does not solve it in Java. It does not support a way to negotiating what format the result should be in (JSON, XML, HTML etc). Spring 3.0 solves this. So this will be very usefull. Spring 3 will be available early this summer.&lt;br /&gt;&lt;br /&gt;The conference has ben good so far. Two days to go. I have also attended a talk about performance tuning of Tomcat and a more detailed talk about Roo wich &lt;a href=&quot;http://theworldofapenguin.blogspot.com/2009/04/springone-europe-2009-keynote-monday.html&quot;&gt;I mentioned&lt;/a&gt; from the keynote.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/4805673731961010710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/4805673731961010710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/4805673731961010710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/4805673731961010710'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/whats-in-spring-3.html' title='What&#39;s in Spring 3?'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-8910355510016587762</id><published>2009-04-27T15:20:00.003+02:00</published><updated>2009-04-27T21:23:42.336+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amsterdam"/><category scheme="http://www.blogger.com/atom/ns#" term="conference"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><category scheme="http://www.blogger.com/atom/ns#" term="SpringOne"/><title type='text'>SpringOne Europe 2009 Keynote monday</title><content type='html'>Some interesting notes from the keynote by Rod Johnson.&lt;br /&gt;SpringSource modified Eclipse environment STS for make it easier to develop Spring applications will be free from now.&lt;br /&gt;&lt;br /&gt;Their new tool Roo (may change name) to kickstart web development looks very promising. Finally something in  the java world that makes simple forms development as easy as VB or Delphi.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/8910355510016587762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/8910355510016587762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/8910355510016587762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/8910355510016587762'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/springone-europe-2009-keynote-monday.html' title='SpringOne Europe 2009 Keynote monday'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-1733845247887252739</id><published>2009-04-27T12:48:00.004+02:00</published><updated>2009-04-27T15:25:51.076+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amsterdam"/><category scheme="http://www.blogger.com/atom/ns#" term="conference"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><category scheme="http://www.blogger.com/atom/ns#" term="SpringOne"/><category scheme="http://www.blogger.com/atom/ns#" term="travel"/><title type='text'>SpringOne Europe 2009</title><content type='html'>I am attending the &lt;a href=&quot;http://europe.springone.com/europe-2009&quot;&gt;SpringOne conference&lt;/a&gt; in Amsterdam. The conference will start any minute now. The program looks very interesting.&lt;br /&gt;the morning here in Amsterdam was a bit cloudy but the sun is now shining. For you that did not know that; you can be full on one pancake. I just eat one with mushrooms and cheese.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/1733845247887252739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/1733845247887252739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1733845247887252739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1733845247887252739'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/springone-europe-2009.html' title='SpringOne Europe 2009'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-7469298878969151288</id><published>2009-04-24T08:09:00.004+02:00</published><updated>2009-04-24T08:13:04.194+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Eee"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Netbook Remix</title><content type='html'>Some people have complained on the Ubuntu 9.04 Netbook Remix release. I installed it on my Asus EeePC 900 last night at the &lt;a href=&quot;http://theworldofapenguin.blogspot.com/2009/04/time-to-party-904-is-here.html&quot;&gt;Ubuntu Release party&lt;/a&gt;. It fits my needs on the EeePC perfectly. I do not want it on my normal desktop PC but on a a smal device is it very good.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/7469298878969151288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/7469298878969151288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7469298878969151288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7469298878969151288'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/netbook-remix.html' title='Netbook Remix'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-2858886748873401464</id><published>2009-04-23T17:07:00.002+02:00</published><updated>2009-04-23T17:11:00.294+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Eee"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="party"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Time to party!!! 9.04 is here</title><content type='html'>Ubuntu 9.04 is here. I have already downloaded the netbookremix image. It is soon time to take Remy, my EeePC, to the release party at The Champ here in Linköping.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/2858886748873401464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/2858886748873401464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2858886748873401464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2858886748873401464'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/04/time-to-party-904-is-here.html' title='Time to party!!! 9.04 is here'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-2255397475516179762</id><published>2009-03-13T17:55:00.004+01:00</published><updated>2009-03-13T18:03:14.064+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="community"/><category scheme="http://www.blogger.com/atom/ns#" term="conference"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="document"/><category scheme="http://www.blogger.com/atom/ns#" term="intelectual property"/><category scheme="http://www.blogger.com/atom/ns#" term="internet"/><category scheme="http://www.blogger.com/atom/ns#" term="semantic web"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Do you have some data?</title><content type='html'>Are you sitting on some data and not sharing it? Is it collected by tax-funding? Why do you not share it?&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.ted.com/index.php/talks/tim_berners_lee_on_the_next_web.html&quot;&gt;Tim Berners-Lee talk at TED&lt;/a&gt; about the problem people not sharing data. Take 15 minutes and listen to his talk. I wait when you doing it............&lt;br /&gt;&lt;br /&gt;&lt;object height=&quot;326&quot; width=&quot;446&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt; &lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talks/embed/TimBerners-Lee_2009-embed_high.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TimBerners-Lee-2009.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=484&quot;&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgcolor=&quot;#ffffff&quot; allowfullscreen=&quot;true&quot; flashvars=&quot;vu=http://video.ted.com/talks/embed/TimBerners-Lee_2009-embed_high.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TimBerners-Lee-2009.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=484&quot; height=&quot;326&quot; width=&quot;446&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;OK? Are you still sitting on your data? Have you talked to you boss about share it? Show the talk for him/her. Think! Help mankind!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Actually, Tim Berners-Lee talks about the semantic web but not using the word.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/2255397475516179762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/2255397475516179762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2255397475516179762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/2255397475516179762'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/03/do-you-have-some-data.html' title='Do you have some data?'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-3374546100420596928</id><published>2009-03-13T10:39:00.007+01:00</published><updated>2009-03-13T15:37:20.649+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Erik Hassle"/><category scheme="http://www.blogger.com/atom/ns#" term="music"/><title type='text'>The next swedish superstar</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifYryxTCmF2O0ATgQDOsDHcoQoazmzlmYkHd2Q0fJmiuitHVMQSG6qUYqaaxPVGTTSrpW2nNhP54VbfMibJ0qL1nYI-lYUOW-7CXMI9sZvqIXpnCpha-BHV3xF2JksmrSOH8eZKtRe11k/s1600-h/Bild008.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 256px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifYryxTCmF2O0ATgQDOsDHcoQoazmzlmYkHd2Q0fJmiuitHVMQSG6qUYqaaxPVGTTSrpW2nNhP54VbfMibJ0qL1nYI-lYUOW-7CXMI9sZvqIXpnCpha-BHV3xF2JksmrSOH8eZKtRe11k/s320/Bild008.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5312679962890287314&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Normally I write about tech related things on this blog. Since there a massive interest in todays topic I write about it here instead of in my &lt;a href=&quot;http://mrunesson.blogspot.com/&quot;&gt;Swedish blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The other day the Swedish evening paper Expressen had a full page article about Erik Hassle and that he had signed a world wide record contract. Erik has only released one single in Sweden earlier. His first album will be released in April in Sweden. According to the record company boss will Erik be one of Sweden&#39;s greatest artist.&lt;br /&gt;&lt;br /&gt;Well, last night did I attend a concert organized by the &lt;a href=&quot;http://www.fn.se/om-oss/in-english/&quot;&gt;Swedish UN-organization&lt;/a&gt; to collect money to remove mines. There were several bands playing, but for me Erik Hassle was the main event. The crowd were screaming and dancing. The sound were terrific. The music and the lyrics, good as ever. It was a great gig and it is exciting to know that it is Sweden&#39;s next big artist. (Sorry for the very bad picture taken with my cellphone.)&lt;br /&gt;&lt;br /&gt;The music on &lt;a href=&quot;http://www.myspace.com/erikhassle&quot;&gt;Eriks myspace-page&lt;/a&gt; is good, but he is even better live.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/3374546100420596928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/3374546100420596928' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/3374546100420596928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/3374546100420596928'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/03/next-swedish-superstar.html' title='The next swedish superstar'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifYryxTCmF2O0ATgQDOsDHcoQoazmzlmYkHd2Q0fJmiuitHVMQSG6qUYqaaxPVGTTSrpW2nNhP54VbfMibJ0qL1nYI-lYUOW-7CXMI9sZvqIXpnCpha-BHV3xF2JksmrSOH8eZKtRe11k/s72-c/Bild008.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-7263876551295541984</id><published>2009-03-10T10:19:00.002+01:00</published><updated>2009-03-10T10:21:35.939+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>Problem with Gmail and Gtalk</title><content type='html'>Seems like Google has problems again with Gmail and Gtalk. Thats bad! I have had problem for about an hour with Gmail and a few minutes ago did Gtalk stop working. I hope that the problems are solved soon.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/7263876551295541984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/7263876551295541984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7263876551295541984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7263876551295541984'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/03/problem-with-gmail-and-gtalk.html' title='Problem with Gmail and Gtalk'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-1986551419847509972</id><published>2009-03-05T07:32:00.003+01:00</published><updated>2009-03-05T07:38:56.264+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="marketing"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>IE-free Windows 7?</title><content type='html'>If&lt;a href=&quot;http://www.osnews.com/story/21079/Microsoft_Makes_IE8_Optional_in_Windows_7&quot;&gt; this is true&lt;/a&gt;, that Internet Explorer will be optional in Windows 7, then it is a huge victory for the Open Source movement and for free competition on the software market.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/1986551419847509972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/1986551419847509972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1986551419847509972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1986551419847509972'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/03/ie-free-windows-7.html' title='IE-free Windows 7?'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-6701354619152200262</id><published>2009-02-11T13:05:00.003+01:00</published><updated>2009-02-11T13:09:49.725+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fun"/><category scheme="http://www.blogger.com/atom/ns#" term="marketing"/><category scheme="http://www.blogger.com/atom/ns#" term="technology"/><title type='text'>A piece of shit</title><content type='html'>&lt;a href=&quot;http://www.theonion.com/content/video/sony_releases_new_stupid_piece_of??utm_source=tv.theonion.com&quot;&gt;Here is&lt;/a&gt; a fantastic description of how new technology is hyped and just irritating everybody but everybody must have it. Everything is better, but we announce that we will soon release a better version, but you can&#39;t wait. Take a look on the video and laugh.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/6701354619152200262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/6701354619152200262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/6701354619152200262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/6701354619152200262'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/02/piece-of-shit.html' title='A piece of shit'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-7370039353324525790</id><published>2009-01-21T09:30:00.003+01:00</published><updated>2009-01-21T09:35:06.164+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GIS"/><category scheme="http://www.blogger.com/atom/ns#" term="intelectual property"/><category scheme="http://www.blogger.com/atom/ns#" term="openstreetmap"/><title type='text'>French roads is opened</title><content type='html'>France will allow the &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetMap&lt;/a&gt; project to &lt;a href=&quot;http://www.nabble.com/National-french-cadastre-WMS-opened-to-OSM-td21554217.html&quot;&gt;access their national data&lt;/a&gt; with all roads, names, etc. I assume this is a part of the &lt;a href=&quot;http://inspire.jrc.ec.europa.eu/&quot;&gt;EU Inspire directive&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When will Sweden follow?</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/7370039353324525790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/7370039353324525790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7370039353324525790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/7370039353324525790'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/01/french-roads-is-opened.html' title='French roads is opened'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-1924216233976461553</id><published>2009-01-06T14:40:00.003+01:00</published><updated>2009-01-06T14:51:23.647+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debian"/><category scheme="http://www.blogger.com/atom/ns#" term="firefly"/><category scheme="http://www.blogger.com/atom/ns#" term="music"/><category scheme="http://www.blogger.com/atom/ns#" term="soundbridge"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>I welcome SoundBridge to my network</title><content type='html'>I have bought a new toy that is connected to the computer. It is a &lt;a href=&quot;http://www.pinnaclesys.com/PublicSite/uk/Products/Consumer+Products/Digital+Media+Adapters/Digital+Media+Player/SoundBridge.htm&quot;&gt;Pinnacle SoundBridge&lt;/a&gt;, which is the same as &lt;a href=&quot;http://www.roku.com/products_soundbridge.php&quot;&gt;Roku SoundBridge&lt;/a&gt;. It download and plays music from my Ubuntu Server and can also play internet radio. I have installed &lt;a href=&quot;http://fireflymediaserver.org/&quot;&gt;Fire fly media server&lt;/a&gt; on my server to stream music using the daap-protocol. There is an Ubuntu/Debian package in the default repositories that is called mt-daapd, which is the old name of Fire fly. A nice thing with Fire fly is that it converts music files that are in formats that SoundBridge doesn&#39;t understand so they can be played anyway.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/1924216233976461553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/1924216233976461553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1924216233976461553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/1924216233976461553'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2009/01/i-welcome-soundbridge-to-my-network.html' title='I welcome SoundBridge to my network'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-3072427188477102189</id><published>2008-12-31T11:19:00.003+01:00</published><updated>2008-12-31T11:39:45.656+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="video"/><title type='text'>The migration has begun</title><content type='html'>I have finally started migrate my VHS tapes to hard drive.  Last summer, I reconnected my Audio/Video-equipment so it became possible to record videos from the VHS-player on my KISS EPG. Now when I had a few days of between X-mas and New Year it was time to start the migration. I can say this will take some time. My flow is:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Play a VHS-tape on the VCR and record it on the KISS.&lt;/li&gt;&lt;li&gt;Transfer the video file from the KISS-player to the Ubuntu file-server.&lt;/li&gt;&lt;li&gt;Cut the video with Avidemux to remove garbage and some times split in episodes etc.&lt;/li&gt;&lt;li&gt;Put the file in the right place in the directory structure.&lt;/li&gt;&lt;/ol&gt;Well, it will take some time to migrate all VHS-tapes. Fortunately, it does not require any manual work most of the time.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/3072427188477102189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/3072427188477102189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/3072427188477102189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/3072427188477102189'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2008/12/migration-has-begun.html' title='The migration has begun'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8668905961012578822.post-197711311887697297</id><published>2008-12-14T20:41:00.003+01:00</published><updated>2008-12-14T20:46:27.703+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="certificat authority"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="ssl"/><category scheme="http://www.blogger.com/atom/ns#" term="subversion"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Subversion and SSL</title><content type='html'>Have you tried to access an subversion-server using SSL in Ubuntu 8.10 (Intrepid)? I guess you get complains about certificate even if they are correct. It looks like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;svn list https://www.linuxalert.org/svn&lt;br /&gt;Error validating server certificate for &#39;https://www.linuxalert.org:443&#39;:&lt;br /&gt; - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;   fingerprint to validate the certificate manually!&lt;br /&gt;Certificate information:&lt;br /&gt; - Hostname: www.linuxalert.org&lt;br /&gt; - Valid: from Wed, 25 Jun 2008 13:30:25 GMT until Thu, 25 Jun 2009 13:30:25 GMT&lt;br /&gt; - Issuer: Linux alert, Linkoping, SE&lt;br /&gt; - Fingerprint: e4:8f:b9:1b:f3:6c:f4:83:2a:1f:c6:9c:6d:cf:6a:4b:99:9e:22:1d&lt;br /&gt;(R)eject, accept (t)emporarily or accept (p)ermanently?&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I have my certificate installed. The solution was to install subversion and libsvn1 from backports in 8.04 (Hardy) .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo dpkg -i  subversion_1.5.1dfsg1-1ubuntu2~hardy2_amd64.deb libsvn1_1.5.1dfsg1-1ubuntu2~hardy2_amd64.deb&lt;br /&gt;(Reading database ... 226839 files and directories currently installed.)&lt;br /&gt;Preparing to replace subversion 1.5.1dfsg1-1ubuntu2~hardy2 (using subversion_1.5.1dfsg1-1ubuntu2~hardy2_amd64.deb) ...&lt;br /&gt;Unpacking replacement subversion ...&lt;br /&gt;dpkg - warning: downgrading libsvn1 from 1.5.1dfsg1-1ubuntu2 to 1.5.1dfsg1-1ubuntu2~hardy2.&lt;br /&gt;Preparing to replace libsvn1 1.5.1dfsg1-1ubuntu2 (using libsvn1_1.5.1dfsg1-1ubuntu2~hardy2_amd64.deb) ...&lt;br /&gt;Unpacking replacement libsvn1 ...&lt;br /&gt;Setting up libsvn1 (1.5.1dfsg1-1ubuntu2~hardy2) ...&lt;br /&gt;&lt;br /&gt;Setting up subversion (1.5.1dfsg1-1ubuntu2~hardy2) ...&lt;br /&gt;Processing triggers for man-db ...&lt;br /&gt;Processing triggers for libc6 ...&lt;br /&gt;ldconfig deferred processing now taking place&lt;br /&gt;$&lt;/blockquote&gt;After this it looks better.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ svn list https://www.linuxalert.org/svn&lt;br /&gt;Authentication realm: &lt;https://www.linuxalert.org:443&gt; LinuxAlert&lt;br /&gt;Password for &#39;magru&#39;:&lt;br /&gt;&lt;/blockquote&gt;The version of subversion is the same but it is linked using other libraries.</content><link rel='replies' type='application/atom+xml' href='http://theworldofapenguin.blogspot.com/feeds/197711311887697297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8668905961012578822/197711311887697297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/197711311887697297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8668905961012578822/posts/default/197711311887697297'/><link rel='alternate' type='text/html' href='http://theworldofapenguin.blogspot.com/2008/12/subversion-and-ssl.html' title='Subversion and SSL'/><author><name>Magnus Runesson</name><uri>http://www.blogger.com/profile/06815671517929817463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihaKvaZ_LeKWaZGe_esSNCs7vfYqibS9IFpW_RoXXpjDjeiPT_aIDvVszP4tXyXie3QSMJ6CCXObQEejZvt9z6WBddtkFnj6dR4WIvm2_FVdd9cNUinChwfhQeMIAvyA/s113/me.png'/></author><thr:total>0</thr:total></entry></feed>