<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>Viva64</title><generator>Tumblr (3.0; @viva64)</generator><link>http://viva64.tumblr.com/</link><item><title>The Shortest Crashing C Program</title><description>&lt;a href="http://llbit.se/?p=1744"&gt;The Shortest Crashing C Program&lt;/a&gt;: &lt;p&gt;It might seem like a strange idea to want to write a small crashing C program, but in one of the courses that I’ve been teaching labs this is one of the tasks! It’s actually a very educational thing to do.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51241510996</link><guid>http://viva64.tumblr.com/post/51241510996</guid><pubDate>Fri, 24 May 2013 15:15:02 -0400</pubDate><category>c</category></item><item><title>The Hazards of Remembering Positions in Vectors</title><description>&lt;a href="http://www.drdobbs.com/cpp/the-hazards-of-remembering-positions-in/240155532"&gt;The Hazards of Remembering Positions in Vectors&lt;/a&gt;: &lt;p&gt;Don’t remember pointers, references, or iterators to vector elements until  you’re done putting new elements in the vector.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51241230118</link><guid>http://viva64.tumblr.com/post/51241230118</guid><pubDate>Fri, 24 May 2013 15:10:35 -0400</pubDate><category>c++</category><category>cpp</category></item><item><title>Abstract: Using static analysis tools for automating code...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/kkUWq68FQAk?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Abstract: Using static analysis tools for automating code inspections can be beneficial for software engineers. Such tools can make finding bugs, or software defects, faster and cheaper than manual inspections. Despite the benefits of using static analysis tools to find bugs, research suggests that these tools are underused. In this paper, we investigate why developers are not widely using static analysis tools and how current tools could potentially be improved. We conducted interviews with 20 developers and found that although all of our participants felt that use is beneficial, false positives and the way in which the warnings are presented, among other things, are barriers to use. We discuss several implications of these results, such as the need for an interactive mechanism to help developers fix defects.&lt;/p&gt;

&lt;p&gt;Article: &lt;a href="http://www4.ncsu.edu/~bijohnso/ICSE2013.pdf"&gt;http://www4.ncsu.edu/~bijohnso/ICSE2013.pdf&lt;/a&gt;&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51240197639</link><guid>http://viva64.tumblr.com/post/51240197639</guid><pubDate>Fri, 24 May 2013 14:54:02 -0400</pubDate><category>programmer</category><category>bugs</category><category>tools</category><category>Static Analysis</category></item><item><title>Why Don’t Software Developers Use Static Analysis Tools to Find Bugs?</title><description>&lt;a href="http://www4.ncsu.edu/~bijohnso/ICSE2013.pdf"&gt;Why Don’t Software Developers Use Static Analysis Tools to Find Bugs?&lt;/a&gt;: &lt;p&gt;Abstract: Using static analysis tools for automating code inspections can be beneficial for software engineers. Such tools can make finding bugs, or software defects, faster and cheaper than manual inspections. Despite the benefits of using static analysis tools to find bugs, research suggests that these tools are underused. In this paper, we investigate why developers are not widely using static analysis tools and how current tools could potentially be improved. We conducted interviews with 20 developers and found that although all of our participants felt that use is beneficial, false positives and the way in which the warnings are presented, among other things, are barriers to use. We discuss several implications of these results, such as the need for an interactive mechanism to help developers fix defects.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51239995479</link><guid>http://viva64.tumblr.com/post/51239995479</guid><pubDate>Fri, 24 May 2013 14:50:43 -0400</pubDate><category>Static Code Analyzer</category><category>static code analisys</category><category>bugs</category><category>developers</category></item><item><title>C/C++ Low Level Curriculum Part 12: Multiple Inheritance</title><description>&lt;a href="http://www.altdevblogaday.com/2013/05/22/cc-low-level-curriculum-part-12-multiple-inheritance/"&gt;C/C++ Low Level Curriculum Part 12: Multiple Inheritance&lt;/a&gt;: &lt;p&gt;Hello, and welcome to the 12th part of the C / C++ low level curriculum. Really soon after part 11! (No, of course part 11 didn’t get too big and need to be split. Why would you ask?)&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51161814168</link><guid>http://viva64.tumblr.com/post/51161814168</guid><pubDate>Thu, 23 May 2013 14:32:25 -0400</pubDate><category>c++</category><category>c</category></item><item><title>Why I'm Trying Literate Programming</title><description>&lt;a href="http://shanecelis.github.io/2013/05/20/why-im-trying-literate-programming/"&gt;Why I'm Trying Literate Programming&lt;/a&gt;: &lt;p&gt;I decided to experiment with literate programming recently because I felt like something must be wrong with this story: A colleague and I began a research project using MATLAB for a class. We both started with about the same amount of MATLAB experience: close to nil. We both started at the ground floor of development. There was no legacy code to speak of, and again there was only two of us. We spec’d out most of the simulation as a LaTeX document that clearly described the simulation mathematically based on a reference implementation. In my mind, there isn’t a better scenario for collaboration. However, late into the project, my colleague was getting shut out of participating in development. What shut my colleague out?&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51161752857</link><guid>http://viva64.tumblr.com/post/51161752857</guid><pubDate>Thu, 23 May 2013 14:31:21 -0400</pubDate><category>protgamming</category></item><item><title>CPP SUBREDDIT. Discussions, articles and news about the C++</title><description>&lt;a href="http://www.reddit.com/r/cpp/"&gt;CPP SUBREDDIT. Discussions, articles and news about the C++&lt;/a&gt;: &lt;p&gt;Discussions, articles and news about the C++ programming language or programming in C++.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51008692008</link><guid>http://viva64.tumblr.com/post/51008692008</guid><pubDate>Tue, 21 May 2013 15:52:20 -0400</pubDate><category>c++</category><category>cpp</category><category>reddit</category><category>cplusplus</category><category>c++11</category><category>programming</category><category>development</category><category>code</category></item><item><title>C++ exceptions under the hood</title><description>&lt;a href="http://monoinfinito.wordpress.com/category/programming/c/exceptions/"&gt;C++ exceptions under the hood&lt;/a&gt;: &lt;p&gt;Our latest personality function knows whether it can handle an exception or not (assuming there is only one catch statement per try block and assuming no inheritance is used) but to make this knowledge useful, we have first to check if the exception we can handle matches the exception being thrown. Let’s try to do this.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/51007926027</link><guid>http://viva64.tumblr.com/post/51007926027</guid><pubDate>Tue, 21 May 2013 15:41:45 -0400</pubDate><category>c++</category><category>cpp</category></item><item><title>A perspective: developers vs Microsoft</title><description>&lt;a href="http://www.reactos.org/ru/node/637"&gt;A perspective: developers vs Microsoft&lt;/a&gt;: &lt;p&gt;Most people understand that Windows is used by a variety of people who have a variety of needs, ranging from corporate server to workstation to POS terminals to home PC and beyond. Most people accept that whenever Microsoft updates Windows, it has to balance the competing requirements to find some kind of workable compromise. There is however another set of competing requirements that many do not really register, even those that call themselves power users or are IT admins. It is a conflict between developers/programmers and Microsoft itself.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50848895665</link><guid>http://viva64.tumblr.com/post/50848895665</guid><pubDate>Sun, 19 May 2013 16:42:56 -0400</pubDate></item><item><title>Problems with TDD</title><description>&lt;a href="http://www.dalkescientific.com/writings/diary/archive/2009/12/29/problems_with_tdd.html"&gt;Problems with TDD&lt;/a&gt;: &lt;p&gt;If you have not yet read it, please read Maria Siniaalto’s 15 page “&lt;a href="http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.7_v1.0.pdf"&gt;Test-Driven Development: empirical body of evidence&lt;/a&gt;.” It summarizes the few empirical studies done to evaluate the effectiveness of TDD. In the conclusion you’ll find:&lt;/p&gt;
&lt;p&gt;Based on the findings of the existing studies, it can be concluded that TDD seems to improve software quality, especially when employed in an industrial context. The findings were not so obvious in the semi-industrial or academic context, but none of those studies reported on decreased quality either. The productivity effects of TDD were not very obvious, and the results vary regardless of the context of the study. However, there were indications that TDD does not necessarily decrease the developer productivity or extend the project lead-times: In some cases, significant productivity improvements were achieved with TDD while only two out of thirteen studies reported on decreased productivity. However, in both of those studies the quality was improved.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50811941709</link><guid>http://viva64.tumblr.com/post/50811941709</guid><pubDate>Sun, 19 May 2013 07:10:38 -0400</pubDate><category>tdd</category></item><item><title>Easy C/C++ Source Code Analysis with Visual CppDepend</title><description>&lt;a href="http://www.sobbayi.com/blog/software-development/easy-cc-source-code-analysis-visual-cppdepend/"&gt;Easy C/C++ Source Code Analysis with Visual CppDepend&lt;/a&gt;: &lt;blockquote class="link_og_blockquote"&gt;&lt;a href="http://www.sobbayi.com/blog/software-development/easy-cc-source-code-analysis-visual-cppdepend/"&gt;http://www.sobbayi.com/blog/software-development/easy-cc-source-code-analysis-visual-cppdepend/&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;For the past few weeks I have been quite busy working on a couple of things which involve quite a lot of coding. I had gotten myself a copy of &lt;a href="http://www.cppdepend.com" title="Visual CppDepend" target="_blank"&gt;CppDepend&lt;/a&gt; and knew this was the time to put it through the trenches. &lt;span&gt;CppDepend&lt;/span&gt; is a static code analysis application that simplifies managing very complex C/C++ code through analysis of the code dependencies on Windows through visualization and the use of CQL (Code Query Language).&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50810018145</link><guid>http://viva64.tumblr.com/post/50810018145</guid><pubDate>Sun, 19 May 2013 06:46:14 -0400</pubDate><category>c++</category><category>cpp</category><category>cppdepend</category><category>code</category></item><item><title>Free Static Code Analysis with Eclipse</title><description>&lt;a href="http://mcuoneclipse.com/2013/01/06/free-static-code-analysis-with-eclipse/"&gt;Free Static Code Analysis with Eclipse&lt;/a&gt;: &lt;p&gt;I know for myself: the earlier I’m able to fix a bug, the better. So I’m always grateful for things which help me to find issues in my sources as early in the development process as possible. Eclipse and CodeWarrior already help me to find syntax errors in my code while I’m typing:&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50806319408</link><guid>http://viva64.tumblr.com/post/50806319408</guid><pubDate>Sun, 19 May 2013 06:10:40 -0400</pubDate><category>c++</category><category>tools</category><category>eclipse</category><category>Static Code Analyzer</category></item><item><title>An eternal question of timing</title><description>&lt;a href="http://www.viva64.com/en/b/0097/"&gt;An eternal question of timing&lt;/a&gt;: &lt;p&gt;It seemed that long forum debates about methods of measuring algorithm’s running time, functions to use and precision that should be expected were over. Unfortunately, we have to return to this question once again. Today we will discuss the question how we should measure speed of a parallel algorithm.&lt;/p&gt;
&lt;p&gt;I want to say right away that I will not give you a concrete recipe. I myself have faced the issue of measuring parallel algorithms’ speed only recently, so I am not an expert in this question. So, this post is rather a research article. I will appreciate if you share your opinions and recommendations with me. I think we will manage the problem together and make out an optimal solution.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50743817198</link><guid>http://viva64.tumblr.com/post/50743817198</guid><pubDate>Sat, 18 May 2013 13:57:39 -0400</pubDate><category>c++</category><category>openmp</category><category>parallel</category><category>cpp</category><category>win32</category><category>win64</category></item><item><title>4GB per Vector</title><description>&lt;a href="http://probablydance.com/2013/05/13/4gb-per-vector/"&gt;4GB per Vector&lt;/a&gt;: &lt;p&gt;I recently had a problem where I had a vector that was growing once, being iterated over once, and then deallocated. And it was bothering me how much time I spent on reallocating. The problem was that I also could not predict well how big the vector would be ahead of time. It could vary by orders of magnitude for input that looked similar at first.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50592888777</link><guid>http://viva64.tumblr.com/post/50592888777</guid><pubDate>Thu, 16 May 2013 15:19:18 -0400</pubDate><category>c++</category></item><item><title>Coroutines in C++</title><description>&lt;a href="http://aldrin.co/coroutine-basics.html"&gt;Coroutines in C++&lt;/a&gt;: &lt;p&gt;An ideal subroutine is a mathematical function; it takes inputs and returns the results of its computation. It has a single entry point and all data local to it is initialized upon entry and cleaned up when it returns to the caller. The next call, if any, starts all over again and no local residues are carried over from the last invocation. A coroutine, is an interesting deviation from these conventions. It can &lt;em&gt;yield&lt;/em&gt; control back to the caller as soon as there are partial results that can be put to use. Moreover, when invoked again, it can &lt;em&gt;resume&lt;/em&gt; the computation from where it left. These &lt;em&gt;yield/resume&lt;/em&gt; semantics make coroutines a better unit of structuring programs for certain types of problems.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50592532276</link><guid>http://viva64.tumblr.com/post/50592532276</guid><pubDate>Thu, 16 May 2013 15:13:41 -0400</pubDate><category>c++</category><category>cpp</category></item><item><title>An Interview with Bjarne Stroustrup (May 15, 2013)</title><description>&lt;a href="http://www.informit.com/articles/article.aspx?p=2080042"&gt;An Interview with Bjarne Stroustrup (May 15, 2013)&lt;/a&gt;: &lt;p&gt;Danny Kalev talks to Bjarne Stroustrup, C++ creator and author of of &lt;a href="http://www.informit.com/store/c-plus-plus-programming-language-9780321563842"&gt;The C++ Programming Language, fourth edition&lt;/a&gt;, about the impact of C++11, why he doesn’t consider the job of a programming language to be secure, his thoughts on garbage collection, and what’s coming in C++14.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50592341730</link><guid>http://viva64.tumblr.com/post/50592341730</guid><pubDate>Thu, 16 May 2013 15:10:38 -0400</pubDate><category>c++</category><category>cpp</category><category>c++11</category><category>c++14</category></item><item><title>Empty list initialization</title><description>&lt;a href="http://akrzemi1.wordpress.com/2013/05/14/empty-list-initialization/"&gt;Empty list initialization&lt;/a&gt;: &lt;p&gt;&lt;blockquote class="link_og_blockquote"&gt;Did you already try using the new initialization syntax with STL containers? This works as you might have expected: The above initialization works because the constructs use the new initializer-lis…&lt;/blockquote&gt;&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50592147038</link><guid>http://viva64.tumblr.com/post/50592147038</guid><pubDate>Thu, 16 May 2013 15:07:29 -0400</pubDate><category>c++</category><category>c++11</category></item><item><title>C++11: Iterating range-based for backwards</title><description>&lt;a href="http://goodliffe.blogspot.co.uk/2013/05/c11-iterating-range-based-for-backwards.html"&gt;C++11: Iterating range-based for backwards&lt;/a&gt;: &lt;p&gt;A few weeks ago we upgraded our toolchain with spangly new C++ compilers. Then we flipped the magical switch unleashing C++11 code features. This is a joyful apocalypse.&lt;br/&gt;&lt;br/&gt; It’s been fun transitioning to some of the new neater C++11 idioms.&lt;br/&gt;&lt;br/&gt; Range-based for is one of the first things we adopted, largely due to the clear readability improvements it brings over tedious iterator type juggling.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50591984362</link><guid>http://viva64.tumblr.com/post/50591984362</guid><pubDate>Thu, 16 May 2013 15:04:46 -0400</pubDate><category>c++</category><category>c++11</category></item><item><title>JSON Spirit: A C++ JSON Parser/Generator Implemented with Boost Spirit</title><description>&lt;a href="http://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented"&gt;JSON Spirit: A C++ JSON Parser/Generator Implemented with Boost Spirit&lt;/a&gt;: &lt;p&gt;&lt;a href="http://www.json.org/"&gt;JSON&lt;/a&gt; is a text file format similar to XML, but less verbose. It has been called “XML lite”. This article describes JSON Spirit, a C++ library that reads and writes JSON files or streams. It is written using the &lt;a href="http://www.boost.org/doc/libs/1_39_0/libs/spirit/classic/doc/introduction.html"&gt;Boost Spirit&lt;/a&gt; parser generator. If you are already using Boost, you can use JSON Spirit without any additional dependencies.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50591781497</link><guid>http://viva64.tumblr.com/post/50591781497</guid><pubDate>Thu, 16 May 2013 15:01:33 -0400</pubDate><category>c++</category><category>boost</category></item><item><title>OpenGL 101: Drawing primitives - points, lines and triangles</title><description>&lt;a href="http://solarianprogrammer.com/2013/04/13/opengl-101-drawing-primitives/"&gt;OpenGL 101: Drawing primitives - points, lines and triangles&lt;/a&gt;: &lt;p&gt;This is the second article from my &lt;em&gt;OpenGL 101&lt;/em&gt; series. In the &lt;a href="http://solarianprogrammer.com/2013/04/10/opengl-101-window-osx-linux-getting-started"&gt;first article&lt;/a&gt; we’ve seen how to open a window for our OpenGL application with the &lt;a href="http://www.glfw.org/"&gt;GLFW&lt;/a&gt; library and how to compile and run the code on &lt;em&gt;Windows&lt;/em&gt;, &lt;em&gt;OS X&lt;/em&gt; and &lt;em&gt;Linux&lt;/em&gt;. It is time to actually draw something using OpenGL.&lt;/p&gt;</description><link>http://viva64.tumblr.com/post/50591660639</link><guid>http://viva64.tumblr.com/post/50591660639</guid><pubDate>Thu, 16 May 2013 14:59:37 -0400</pubDate><category>openGL</category></item></channel></rss>
