Thursday, September 8. 2011SOCKS proxy on KDEkdelibs < 4.7:its not supported. to make it work, you have to install an http server (like polipo) and point kde to it. kdelibs == 4.7:Good news is, socks proxy 'is' supported. Bad news is, there's no UI to configure it. To configure it, add the following line to ~/.kde/share/config/kioslaverc file: socksProxy=socks://HOST:PORT Then, go to System Settings->Network Settings->Proxy and make sure the 'Manually specify the proxy settings' option is marked. (But dont click the 'Setup' button) Saturday, July 2. 2011The sad state of our websites.As you might know, kde's webteam is working on a complete rewrite of KDE.org.
One of main objectives is very serious attention to our applications. We have world-class applications but they have very unfancy webpages. Our objective is to fix it.
So i wanted to look around and see how other web pages are doing. I opened homepages of all free (as in free speech) applications i could. then browsed them one by one and picked the best ones.
Results?
This slideshow contains screenshots of the best Free Software websites I could find:
![]() So i wanted to see the situation in propertiary world. I looked for mac applications and opened up their web pages.
The following slideshow contains best mac application pages i found:
![]() This is mostly sad. Our applications are not lacking quality wise. Its just that website is considered a 'promo' feature and hackers usually dont have the motivation and/or skills to improve it. Now, looking at most good looking pages, you can simply find a pattern. Specially on the Propertiary side.
(Update: For some unknown reason, slideshows dont show up in KHTML.)
Wednesday, June 22. 2011Goodies for Join the Game members
There are now some goodies available for Join the Game members.
You can embedd banners like these in your blogs and home pages, and help KDE even more! Please login to Join The Game's webpage and click on 'Widgets' link on menubar. Currently we only have the above sizes available. If you want different sizes, tell me.
Non-members: We've also got automatic payments (paypal). You can start your membership in only a few minutes. KDE e.v will use your help to make sure KDE's infastructure continues to scale. Also, sprints and conferences are possible with your donations. Thursday, June 16. 2011Recent developments on kde pages![]() New KDE-WWW logo.
As your first contribution you can update Kopete's webpage. Apperantly its getting a lot of hits, but its very very outdated. Saturday, May 7. 2011Konqueror's new webpageOne thing I learned after observing planet kde through last 3/4 years is: 'blogging brings enthusiasm'.
Thats why I started blogging about little work I do on kde's webpages and it worked. After my blog post about future of kde's web presence, Martin Nuber (mjn) contacted us on #kde-www channel to see how he could get involved. And now:
Thanks to Martin for working on it.
And, please remember: If you have a minimal html/php knowledge, you can take care of one of many many outdated kde websites.
I'd say Kopete or KDE Events webpages are both good candidates for having a new look and updated content. What do you think?
Monday, April 4. 2011Sprint managementA few months back, Aaron mentioned on his blog that kde needs a little web application for managing sprints, as apperantly it takes a lot of manual effort to coordinate one, at the moment.
Two months ago, while i was doing some other kde-www project (more on that later), i told him that im interested in creating it and 3 weeks ago, recieved an email from Mario Fux (unormal) that he is planning a sprint (Randa 2011) and he would use this tool.
I started developing it, and it has been used for Randa 2011's page. Some of the features are:
1) Chihuahua look (kde.org's theme)
2) Identity.kde.org intergration
3) Location/Sprint manager
4) Ability to send email to participants
5) Participant registration
6) CSV export tool (other formats could be easily added, if you need)
7) Smart widgets (give a url to participant, it will automatically change to 'Im going to'/'Im at'/'I attended' depending on the date
8 ) Sponsorship management
If you are planning to host/coordinate a sprint, using this tool helps you a bit. Just poke me (im emilsedgh on freenode, or emilsedgh on gmail) and i'll setup a new one and will give you the access rights to manage it.
If you used this tool to register on Randa sprint, i would like to know your comments and recieve some feedback.
Also, i would like to thanks Ben Cooksley and Tom Albers. They helped me A LOT. and they did it very fast, every time i bothered them. Thanks guys.
Thursday, March 31. 2011Future of kde's web presenceHello everyone.
You might know that we are starting to think about 'Capacity 2.0', aka 'the
future of kde websites'.
Here is what we have in mind. This is pure brainstorming, although i think
many of us share the same vision.
1) Content/Logic seperation.
Currently, Capacity has no seperation between anything. Its spaghetti php
code mixed with html which containts logic, view AND data.
With Capacity 2.0, we want to have a properly written CMS which stores data in
a database. We also want an MVC approach to ease and organize development.
2) No more seperate instances for each application.
Currently, if you want a website for your application, you have to ask
sysadmins for a kde.org subdomain. You should also 'commit' your websites files
(as mentioned in 1st issue, content, view and logic are in simple php files) to
svn/git.
This approach has a BIG flaw:
Its HARD. Setting it up is hard. Updating it is hard. Changing it is hard.
Thats why there are so many outdated kde.org subdomains. Of course, some
people have an awesome attitude. For example Okular people have their website
updated, but Pino and Albert are exceptions. Most capacity based kde.org
subdomains are outdated (specially those which belong to an application)
Most KDE developers do not even have a LAMP stack installed. They checkout their
website's source, change some dirty html and commit. Then they refresh the
webpage to see what has changed.
We are going to create a single webapp which contains all data: One site to
rule them all.
3) Dedicated to applications.
As we said, we are going to create a single website which contains all data.
But you probably dont want your application to be 'just another page' of
kde.org, right? You want your (sub)domain to be dedicated to your application.
Dedicated to your application.
We are going to handle this. We want your application's page to be dedicated
to your application, while being a part of kde.org. we will also have
<appname>.kde.org stuff handled as well.
4) Flexibility.
Of course there is one bad thing about using a cms or something like that: You
lose flexibility. With current capacity, you can just commit your html stuff.
With new approach, you couldnt.
So, the cms will HAVE to be very much flexible to satisfy your needs.
5) Revisions.
Good thing about current setup? We can blame you. We can see what you commited
and we can YELL at you.
We dont want to lose this feature. CMS will have to track whatever, whoever,
whenever does it. And will have to be able to revert easily.
6) Multilingual. It has to be. Do i have to explain?
7) ACL's. Another good thing about using svn to manage websites is that we
have acl's to know who has access to which website. Now that we are going to
have a single site to rule them all, we need advanced ACL's.
8 ) Integration. It needs to interact with identity.kde.org for authentication
and user data, projects.kde.org to understand project's, repositories,
managers and other info. OCS and KNewStuff intergration could all be done.
Those are the core points. If you have others to add, please feel free to reply and make it happen.
Note, a rewrite is seriously needed for the ease of maintenance, so this is not necessarily about keeping the current way or not.
It is about improving the whole kde web experience.
This post is written with collaboration of Ingo Malchow and Sayak Banerjee. Special thanks to both. Saturday, September 25. 2010SVG manipulation using php and xpath
(This is not a KDE related post)
I've had very little experiences with SVG manipulation on server side. So i thought i'd better share it. Following is a very little guide about creating a dynamic frame for your pictures. And its just supposed to show how cool stuff could be done using SVG, XPath, PHP and a SVG rendering tool, like rsvg. You upload your family picture, it places it inside a very cool frame. Thats it. Good thing about SVG is, you can do some real WYSIWYG. So, open your favourite svg editor, and create a cool frame. ![]() (I suck at artistic stuff, so I borrowed the frame from this page. Then, You should import an example picture which is supposed to be a placeholder for uploaded family photos. ![]() ![]() To add a cool effect, i duplicated the image and stretched it a bit: ![]() Then i added the blur effect to make it look cool and fancy. ![]() SVG features a group feature, by which you can group a few elements togheter. We do it because later, it will allow us to transform the image painlessly. ![]() There are many group's on the document. Later, we have to be able to find the one we want. So we use inkscape's XML editor feature and give our group (<g>) element the 'frame' id. ![]() ![]() We should also fit our page to the whole frame. So we use inkscape's feature. Select the whole frame, then use the 'Fit page to selection' button inside the 'Document properties' dialog. ![]() ![]() ![]() And, last, save your SVG file. Make sure you save it as plain SVG, not an inkscape SVG or any other modified SVG file. ![]() Now save the following into an html file. <html> <head> <title>SVG photo-frame</title> </head> <body> <form action="show.php" enctype="multipart/form-data" method="post"> Photo: <br /> <input type="file" name="photo" /> <br /> <br /> Rotate: <br /> <input type="text" name="rotate" value="0" /> <br /> <br /> Size: <br /> <input type="text" name="size" value="100" /> % <br /> <br /> <input type="submit" value="Daa it Co0l!"/> </form> </body> </html> and here is show.php file. I explain it step by step. <?php$document=new DomDocument;$document->loadXML(file_get_contents('/path/to/your/svg/frame')); DOMDocument, is a php class for accessing DOM objects. first, we create a DOMDocument. Then, in the second line, we load our SVG file onto it. Now, we have to replace the placeholder (in our case, Griffin's family) with the uploaded one. First, we save the uploaded one as a temporary file: copy($_FILES['photo']['tmp_name'],'temp.png'); Remember some html? to embedd an image, we had to do the following: <img src="/path/to/image.png"... in SVG, it has to be done this way: <image xlink:href="/path/to/image.png"... We currently have two placeholder <image>'s there. the main one and the blurred one. So we have two of the following in our page: <image xlink:href="/path/to/image/we/imported/in/our/svg/editor.jpg"> We should find <image> elements. Thats where XPath comes in. $xpath=new DOMXpath($document);$images=$xpath->query('//image'); First, we create an XPath object from our DOMDocument. Then, in the second line, we look for all <image> tags inside the whole document. XPath object searches through provided DOMDocument and the query results are DOMElement's, which are inside the DOMDocument. So by altering the results of XPath query, we are actually manipulating our $document: foreach($imagesas$image){// Each $image is represents one <image> element.$image->setAttribute('xlink:href','temp.png');} we altered $document which now contains <image> elements whom link to uploaded image, not the placeholder. Now images are replaced. We also got some Size and Rotate stuff on input. SVG, means Scalable Vector Graphics. We should be able to resize the image as much as we want. to resize the image, we have to use some SVG features. Remember that we grouped our frame? A group, in SVG file, is represented by a <g> element. Our <g> has the id='frame' so we could find it easily. $group=$xpath->query("//group[@id='frame']/0")->item(0); Now, $group, represents our <g> element. <g> element in svg accepts a very cool attribute named transform. we can use the transform attribute to resize the whole group, or rotate it. Like this: <g id="foo" transform="scale(2) rotate(30)"> This will scale up the group by 2 times and rotate it 30 degrees. (notice that there is no ; between transform functions) So we should apply user's input to our <g>. $group->setAttribute('transform',"scale(".$_POST['size']/100.") rotate(".$_POST['rotate'].")"); (Notice that scale should be between 0 and 1 where 1 means 100%) But its not enough. Without doing any change, our document size fits our <g>'s size. But when we changed our <g>'s size, they dont fit anymore. And we have to fix it. $svg=$xpath->query('/svg')->item(0);$width=($_POST['size']/100)*$svg->getAttribute('width');$height=($_POST['size']/100)*$svg->getAttribute('height'); $svg->setAttribute('width',$width);$svg->setAttribute('height',$height); SVG's root element in Thats it. now we have to generate a png from our svg file. I use the rsvg command to generate it. usage is simple: rsvg input.svg output.png as you see, it gets an input. so we have to save our manipulated svg file first: $temp=fopen('temp.svg','w+');fwrite($temp,$document->saveXML());fclose($temp); exec('rsvg temp.svg out.png');unlink('temp.png');unlink('temp.svg');?><img src="out.png"/> we save our svg file as temp.svg, then run the rsvg command to generate png file and then remove temporary files. at last, we show it. This was just a demo. A lot more could be done using the techniques mentioned above. And, this is the live working copy. Monday, March 8. 2010Tehran's 4.4 release party
On Feburary 18th, Tehran Linux Users Group gathered in Cafe Prague (a nice cafe in Tehran) to celebrate KDE SC 4.4's release.
We had so little time to arrange everything and there were shortcomings, but it wasnt bad after all. We gave a piece of [KDE] cake to everyone present at cafe, with a paper describing what FOSS is. Too bad we hadnt time to burn live discs so they can really try it immediately. Also, at the end, we created a very little KDE domino. Not that we are good at it or something, it was just fun. It was our first time and it didnt collapse as beautiful as what we saw on TV. Maybe a bigger and better one next time I would thank Behnam, for helping me out with all stuff and Abbas, who was my partner on domino project
Wednesday, November 4. 2009Im sorry worldToday was the 30'th anniversary of Iran hostage crisis. The Islamic Republic, as usual, prepared a rally against the former building of U.S Embassy to tell Americans how much Iranians hate them. Thats just wrong. Despite (several) official threats by the goverment in the past week, real people came to streets. They closed underground-trains so people couldnt reach the rally points. Internet was extremely slow so that we couldnt post the videos of the violence of goverment. Security forces hit us, throw us tear gas (this thing really sucks!) captured some people. Again, our television reported none of this. The real people came to the streets to tell the world that we are in peace. Our goverment may burn your flag, may shout 'Down with America/Israel/Britain' but we, Iranian people, are in peace with you and I am personally sorry for what our ancestors did 30 years ago. I am truly sorry for what our goverment has done in the past 30 years. Fighting with world, hating the world and thinking about (literal) world domination is what my goverment has done so far. However, the events in the past four months made me feel so good. Why? Because I felt whole world cares about me. We have seen people around the world wearing green, throwing green stuff out of their windows or wearing green wrist-wraps. Cities around the world turned green at some times. This means A LOT to me, personally. Not that it makes the damn extremists/dictators go away. Of course they are not leaving that easy. But it just made me feel that people care. Friday, April 24. 2009This isnt how its supposed to beIt seems that the khtml topic is up again.Here is my $0.02: When people say khtml must be deprecated/killed/etc, they seem to forgot a few points: 1) khtml is already doing 90-05% of the job it should do.Its compatible with all major js libraries, it does css very well.there are bugs, of course, but webkit (and not webkit part) is just a few percents better than khtml.Killing khtml in favour of those few percentages is not the right thing to do. 2) khtml SHOULD LIVE until KDE 5.0, so KDE has to maintain it. 3) webkit part is not getting pushed *enough*.Instead, everyone just rants about how bad khtml is.This hurts khtmls development i believe. Now, khtml is maintained, webkit part is not (enough).Still everyone hates khtml? come on guys, this is FOSS.You forgot how it works? khtml developers are volunteers! 4) The way of making software better is not by posting murdurer blog posts (like lets kill khtml).Its by developing it.If you want khtml dead, please dont hurt khtml.Instead, develop a better alternative. 5) Results of acid3 and such tests are cool, but they have nothing to do with real world.IE6 is still having a huge percentage of market share and none of those tests are not going to do anything on real web pages.So if you are going to use another browser because it does better in these tests, you are doing the wrong thing.At least i think so. Sorry for my bad English. Update: I didnt try to be offensive, if it felt like that, that was probably my fault and im sorry for that.Also i dont hate webkit or webkit part and i hope that webkit part would be good enough soon that unhappy users get happy again.I just wanted to ask people not to hurt khtml. Friday, December 5. 20084.2 CounterFor the KDE 4.0 release Eugene "it-s" Trounev and I created a release counter that was used in many blogs and websites.We missed the 4.1 release, but here is the KDE 4.2 Release Counter: The 4.0 counter was an image but this one is created using some html + javascript help.To embedd it into your webpage paste the following code: Wednesday, May 21. 2008Prototype TooltipsI had no reason to write a weblog until today that I wrote a Tooltip creator and i wanted to publish it. My Javascript skills are so limited.So probably you could find many 'WTF's in it. Using it is rather easy: T = new Tooltip( 'ActivatorId', 'TooltipId' ); Activator is the element that Tooltip will show up when its hovered. this Tooltip is customizable and has many other options: T = new Tooltip( 'Activator', 'Tooltip' ); Its released under GPL 2 (or any newer version released by FSF). My English sucks.Sorry if there is any mistake.
(Page 1 of 1, totaling 13 entries)
|
QuicksearchSyndicate This Blog |