tag:blogger.com,1999:blog-77118559119468748362024-03-18T20:36:59.152-07:00Danilo FreitasDanilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-7711855911946874836.post-41544930515493368502012-03-02T12:50:00.002-08:002012-03-02T13:01:35.077-08:00Finally rebased!<span><span style="font-size: 100%;">After a long time, I finally rebased my branch "master" to upstream. I had never used git rebase before, but yesterday I finally did it successfuly.</span></span><br /><br />Now I intend to improving my fork, working on stastistic, multiproject and branches features.<br /><div><span><br /></span></div><div><span><br /></span></div>Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-88390078715235353402011-08-06T17:28:00.001-07:002011-08-06T17:32:09.054-07:00Multi-project support on CodespeedHi, all. I commited today to the branch gsoc on my Codespeed fork (<a href="https://github.com/daniloaf/codespeed/tree/gsoc">https://github.com/daniloaf/codespeed/tree/gsoc</a>) some small fixes and multi-project support on Timeline view.<br /><br />I'll make some more tests and work on multi-project support on Changes view this week.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-21513247210338885762011-07-17T19:46:00.000-07:002011-07-17T19:50:59.013-07:00Codespeed 0.9.0 released!A few hours ago, Miquel just released Codespeed 0.9.0!<br /><br />It doesn't have many differences from 0.8.1, but code base was completely refactored by Frank into a Django App.<br /><br />If no critical bugs appear in next days, this release will be uploaded to PyPI soon.<br /><br />More info: <a href="http://groups.google.com/group/codespeed/browse_thread/thread/2e865464d78259a3">http://groups.google.com/group/codespeed/browse_thread/thread/2e865464d78259a3</a>Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-62237129295741467092011-07-05T04:06:00.001-07:002011-07-05T04:06:30.868-07:00Finally, error bars!Finally we got error bars on Codespeed!<br /><br />We used an old post by Jeremiah Faith (bfjf) on a issue created by Chris Leonello (cleonello) on jqPlot bitbucket which adds error bars using jqPlot OHLCRenderer plugin. You can check this issue <a href="https://bitbucket.org/cleonello/jqplot/issue/35/add-error-bar-capability">here</a>.<br /><br />Now, we got <span style="font-weight:bold;">real</span> error bars on Timeline view.<br /><br />We tried using series inverse colors:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihYrZcrlh040STpY1ZPqPOy1IRc0duApF60koP7OKWXHOJsog-7cag7XKKwNcoi9xLhh7VToLZb_6Jk7gxF9V86oaB32jpMdLVl1cx0ozzpfR9QK7oXy9J2ny3xYDhAW8laTw22woR9qM/s1600/series_colors.png"><img style="cursor:pointer; cursor:hand;width: 320px; height: 165px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihYrZcrlh040STpY1ZPqPOy1IRc0duApF60koP7OKWXHOJsog-7cag7XKKwNcoi9xLhh7VToLZb_6Jk7gxF9V86oaB32jpMdLVl1cx0ozzpfR9QK7oXy9J2ny3xYDhAW8laTw22woR9qM/s320/series_colors.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5625802747762941474" /></a><br /><br />and using grey:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNEBIfyjdi9kXyQb93Fa27TaqJoM6CFWs_H2npEBZY-JNZFaDRXyR5Lts4X8p8YbsCbqCFid566I1OVKX-6RotPexm0nQctEX4sLrZJvngNDPQnxWfz5VzdHkgO8I2GcAfzYURuF4LkNU/s1600/series_grey.png"><img style="cursor:pointer; cursor:hand;width: 320px; height: 166px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNEBIfyjdi9kXyQb93Fa27TaqJoM6CFWs_H2npEBZY-JNZFaDRXyR5Lts4X8p8YbsCbqCFid566I1OVKX-6RotPexm0nQctEX4sLrZJvngNDPQnxWfz5VzdHkgO8I2GcAfzYURuF4LkNU/s320/series_grey.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5625802751857608050" /></a><br /><br /><br />It's also possible to set if you want Codespeed to display error bars or not by editing codespeed/settings.py and changing the value of use_error_bars to True or False.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com1tag:blogger.com,1999:blog-7711855911946874836.post-80120406851556557692011-06-27T23:52:00.000-07:002011-06-28T00:12:27.675-07:00Codespeed 0.8 - Released!Last week Miquel finished merging some code and fixing some stuff and released Codespeed 0.8!<br /><br />Some changes on this release are:<br /> - Branch support (for now, only working on the Comparison view)<br /> - VC integration for github<br /> - Command line client to post results via HTTP<br /> - New documentation explaining Codespeed views and concepts<br /><br />The objective of the branch support is to allow comparing feature branches then get merged back into the master.<br /><br />If you are using Codespeed 0.7 and wants to use 0.8, please check <a href="https://github.com/tobami/codespeed/wiki/How-to-migrate-DB-schema-to-0.8">this link</a><br /><br />For more info, check:<br /><a href="https://github.com/tobami/codespeed/wiki/Releases">https://github.com/tobami/codespeed/wiki/Releases</a><br /><a href="https://groups.google.com/group/codespeed/browse_thread/thread/f1abb7ff5bc96681?">https://groups.google.com/group/codespeed/browse_thread/thread/f1abb7ff5bc96681?</a>Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-8094238534709536972011-06-17T22:30:00.001-07:002011-06-17T22:43:27.874-07:00Error bars on CodespeedWe are trying to use error bars on Codespeed to get a more confident and useful information on plots.<br /><br />Playing with jqPlot1.0 examples, I got an initial idea to create a plot with error bars, which was a bar chart with vertical lines based on standard deviation. The following image shows it:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsI13bxCyXDtZhHzMTzkUMzaNwNKzjfvOzNxNFtLvVTC2TEtRb2ZvxkF9PpO9TTrXZ_2jAHIR2f3N_xnUWx_NPQYW6A5kWSsInP4dsCEMUp0aMAH4ZjjGIpiWHU9z9LkOEYVbM8gIm3K4/s1600/bars.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsI13bxCyXDtZhHzMTzkUMzaNwNKzjfvOzNxNFtLvVTC2TEtRb2ZvxkF9PpO9TTrXZ_2jAHIR2f3N_xnUWx_NPQYW6A5kWSsInP4dsCEMUp0aMAH4ZjjGIpiWHU9z9LkOEYVbM8gIm3K4/s320/bars.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5619429007015594978" /></a><br /><br />But the idea was to use the error bars on Timeline view. So, I changed the plot to a line chart, and got:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZE3VAr2WX5D9Pd9eScYvcPjNECTRyW-a5Aou2HMEhrlhbMFtJ0tNIgsyOBKYSo5KejLq-vSNytUg3YwcPMkaGInAD8xTZ_K9yHwcnOWpnQ79ZD0Ers0FPeLnOExl6WNJHxEjmSYGM0Xw/s1600/serie.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 193px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZE3VAr2WX5D9Pd9eScYvcPjNECTRyW-a5Aou2HMEhrlhbMFtJ0tNIgsyOBKYSo5KejLq-vSNytUg3YwcPMkaGInAD8xTZ_K9yHwcnOWpnQ79ZD0Ers0FPeLnOExl6WNJHxEjmSYGM0Xw/s320/serie.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5619430677775959986" /></a><br /><br /><br />Now I need to use this on Codespeed. In fact, I did it, but it's still not fine because of performance problems. I hope to finish it still this weekend.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-25387741331531989492011-05-23T16:36:00.001-07:002011-05-23T16:48:38.801-07:00Codespeed 0.8 - To be releasedHi, all.<div><br /></div><div>Version 0.8 of Codespeed is to be released [0]. This release brings some new stuff: support for git and github (by acdha) and the branch comparison (by me). </div><div><br /></div><div>The most visible feature related to branch is on the Comparison view. It now combines project, executable, revision and branch to compare and the generated plots are still easy to understand, but now, one graphic is generated for each benchmark.</div><div>The Timeline view only shows results for the trunk branches (for now). We're still not using the branch features on this view because we got some problems with multi-project stuff. We may have a nice advance after my GSoC project.</div><div><br /></div><div>So, what's missing to release?</div><div>Well, from the branch features, tobami needs to merge my fork code [1] with the main branch [2].</div><div><br /></div><div>0: https://github.com/tobami/codespeed/wiki/Releases</div><div>1: https://github.com/daniloaf/codespeed</div><div>2: https://github.com/tobami/codespeed</div>Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-80150086694381544332009-08-02T19:44:00.000-07:002009-08-02T19:48:42.762-07:00ProgressA list of what we have implemented:<br />-Declaring C++ classes and methods from extern<br />-Instanciating and deleting C++ objects<br />-C++ methods overloading (still with some problems with function overloading...)<br />-Operators overloading (not all them, but it's a really simple work)<br />-Declaring template types (C++ classes and functions)<br /><br />Next step is to allow using template types.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-91529197260615130992009-07-02T00:02:00.000-07:002009-07-02T00:07:17.974-07:00new and del operators working!Now we can instanciate C++ objects dynamically on Cython.<br />thins like<br />cdef Foo *aFoo = new Foo()<br />del aFoo<br />are allowed.<br />We're using Python Syntax for it, so, we define the contructor with "__init__" special method.<br />Now, the next step is to work with function overloading. We already have the logic to implement it. So, what I need now is to work :).<br />But, before it, I shall write some tests and some documentation, and my branch of GSoC will be merged to the main branch of Cython, and so, let users do what is needed.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-59853214043540713892009-07-01T12:28:00.000-07:002009-07-01T12:34:30.035-07:00Some questions about syntaxWe are deciding what syntax to use on operators overloading and constructor.<br />We have C++ and Python syntax, and we have big differences between them.<br />A thread was created on cython-dev list for voting and commenting the choose of the syntax.<br />On C++ syntax, the constructor is a method with no return type (it's not void!) and the operators are methods with the keyword "operator" followed by the operator to overload (e. g. "bool operator==(int value);").<br />On Python, we have the special method __init__ for constructor and other special methods for the operators (__add__, __str__, etc.)<br /><br />For more information, take a look at the wiki of the project:<br />http://wiki.cython.org/gsoc09/daniloaf/progressDanilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-6282184574314110552009-06-23T13:55:00.000-07:002009-06-23T13:59:23.183-07:00new and delete operatorslast week we begun with the work to support the 'new' and 'delete' operators.<br />A new node was created (NewStatNode) and a function in the parser to call it (p_new_statement).<br />I hope everything continue with no problems.<br /><br />The midterm evaluations is coming. I hope everything be on time until there. :)Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-11513994132784111202009-06-15T10:56:00.000-07:002009-06-15T11:08:01.677-07:00ProgressSome features were already implemented on Cython.<br />Until now, we already have:<br />- C++ class declaration<br />- C++ class attributes declaration<br />- Multiple inheritance<br />- Declaration of inherited attributes<br />- Use of namespace<br />The next step now is allowing attribution of inherited objects.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-34016585117097830272009-06-09T12:39:00.000-07:002009-06-09T12:41:32.027-07:00Internet problems :(Since Friday, May 29, I'm without internet at home. I'm using internet on university these days. I hope it come back soon.<br />It's a really bad I have this problem right now. It's obviously not helping on nothing.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-69041492820952959332009-05-20T01:08:00.000-07:002009-05-20T01:38:55.190-07:00Work begun!This Monday (May 18) me and Robert begun righting code. I'm writing some functions on Parsing.py, and Robert created a new Node (CppClassNode).<br /><br />First goal is to allow Cython to recognize "cdef cppclass..."<br /><br />All the progress is going to Mercurial.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-14413454431535081422009-05-15T15:03:00.000-07:002009-05-15T15:05:36.639-07:00Wiki updated!I updated the wiki with a basic schedule for Cython work together with Robert for this week. I'll be available on IRC, email and GTalk during this period.<br /><br />http://wiki.cython.org/gsoc09/daniloaf/progress<br /><br />See ya!Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-67962185339634645182009-05-13T14:46:00.000-07:002009-05-13T14:55:11.111-07:00Studying ProgressThese days I'm studying the Cython parser, beggining with the nodes. Many nodes of many types are created during the parsing. There are many types of nodes, from the simplest nodes to the most complex. There are many inheritance with the nodes, and (I think) all they inherit from Node (a "basic" node).<br />For every code, a node is created.<br /><br />I still need to understand how all the .c or .cpp code is written (Many lines are automatically written by a ModuleNode) and also how the extension works at a lower level.<br /><br />I'm thinking in generating a UML of nodes and parser. Maybe I should have thought this before, but never is too late.<br /><br />I'll soon update the wiki.Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-23650718032060457852009-04-25T15:35:00.000-07:002009-04-25T15:36:13.960-07:00Project wiki available!Today I setted-up the wiki for my project on GSoC.<div><br /></div><div>http://wiki.cython.org/gsoc09/daniloaf/progress<br /></div><div><br /></div><div>Make a good use of it</div><div>:D</div>Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0tag:blogger.com,1999:blog-7711855911946874836.post-68629927351639917072009-04-24T19:44:00.000-07:002009-04-24T20:32:35.672-07:00GSoC-2009I'm very glad my proposal had been accepted for GSoC-2009.<div>Now I'm begginning this blog to show all how I'm working and all the developing process.</div><div>Tomorrow I'll create a wiki to show more detailed the developent.</div><div><br /></div><div>My project is to improve C++ support for Cython. At the moment, I'm studying the compilation files to better understand how it works and also at a code-level.</div><div><br /></div><div>The link of my proposal is: http://wiki.cython.org/gsoc09/daniloaf</div><div><br /></div><div>See, ya!</div>Danilo Freitashttp://www.blogger.com/profile/13556801649049794022noreply@blogger.com0