183 reputation
8
bio website
location Porto Alegre, Brazil
age
visits member for 3 years, 3 months
seen yesterday

Aug
30
comment Is it possible to speed-read code well?
I work with C# in Visual Studio Ultimate and the Architecture -> Dependency Graph gives a very good high level view. In other languages, some manual dependency-graph generation is possible using Graphviz.
Aug
19
comment How do programmers handle several versions of a same program?
""Free-Trials" tend to be easier to crack/reverse-engineer." Do you have any hard data on that?
Aug
10
comment Best practices for geolocation
@DanPichelman good point. That would be actually looking for points inside a bounding box centered at the user location. But unlike latitude deltas, which have the same distance-to-degree ratio, longitude deltas correspond to smaller distances at larger latitudes. That might or not be a problem, depending on the level of desired precision (rough vs precise).
Aug
8
comment Best practices for geolocation
The calculation is trivial (look for "Great Circle Distance" algorithm). The problem, in my opinion, lies in the assumption that the closest airport is the most convenient. There are a lot of factors influencing airport choice that are more important than raw geographical distance, IMO.
Aug
2
comment What is a good way to structure my UI classes?
I don't have experience with Java/Swing, but have with C#/WPF/XAML. After some initial suffering, we started to get good results following a simple rule: use your GUI toolkit the way it is supposed to be used. That you can get from documentation, from books about the toolkit, and by taking a look at some opensource code, for example at GitHub. But I would prefer some tutorials or documentation.
Jul
31
comment Should the commit history be used to convey critical information to developers?
+1 Quoting Jeff Attwood (although he talks about, ugh, "users"): "The next time you're designing [X], consider [client] myopia. You might be surprised just how myopic your [clients] can be. Think long and hard about placing things directly in front of them, where they are not just visible, but unavoidable. Otherwise they might not be seen at all." blog.codinghorror.com/treating-user-myopia
Jul
25
comment Why would programmers ignore ISO standards?
Some argue that (some) ISO Standards are a perfect example of the "Design by Committee" anti-pattern...
Jul
25
comment Why would programmers ignore ISO standards?
It doesn't help that a lot of ISO standards are expensive and/or hard to obtain... Even if you badly want to!
Jul
25
comment Is it possible to avoid enormously big switch in that case?
Also a good reading regarding the "polymorphism" part: sourcemaking.com/refactoring/…
Jul
3
comment File exists vs. File does not exist. Is there a difference in performance?
The third case (early termination) is called "guard clause".
Jul
3
comment File exists vs. File does not exist. Is there a difference in performance?
The second form might be semantically used to denote a guard clause: refactoring.com/catalog/…
Jun
18
comment How to transition from “help vampire” to “developer”?
Agreed. From my small personal experience, I think we won't stop learning new technologies, as they come and go all the time, but the most important knowledge in my opinion has to do with architecture, dependency and complextity management, etc. These apply to every platform.
Jun
16
awarded  Critic
Jun
11
comment Continuing to code on large projects
+1. One possible way to get this middle approach is to think/design top-down, and code bottom-up. Then you can code deepest, more elementary components first (those without dependencies), and then going up taking advantage of encapsulation and higher-level interfaces to keep complexity tractable on each layer.
Jun
10
comment Continuing to code on large projects
I'm currently doing this in a BLOG I created only to guide development step by step. I don't even care if someone reads it (by the way it is in portuguese). Besides documentation, the very rationale of "why and how" you design the system is something worth writing about (not only thinking about inside your head). +1
Jun
10
comment Continuing to code on large projects
I have a story similar to yours with pet-projects I do at home as a hobby. The most paralyzing sensation is not being sure of what use the "system" will have when it's "ready". I mean, everything "can" be done if you really want to, but is it really necessary, or is it really the RIGHT thing to do? So my advice is: choose something you fell will make a difference to someone, even if this someone is only you. Of course, if you work as a developer, applying every best-practice imagineable is the best exercise you can get.
Jun
10
comment Why is the function called lseek(), not seek()?
From what @ysap suggests, lseek would be "long" seek, that is, it returns a long (64bit) offset.
Jun
9
comment What is the origin of the negative term “legacy code”
Given also my current job experience, in my company we tend to think about "legacy code" as production code developed by people no longer in the company. Code that we are somewhat FORCED to use because (it works AND (we don't quite understand it enough to replace it OR it has created dependencies we cannot currently eliminate)). If it is undocumented, or nobody knows even how or why it works, then it has a VERY bad conotation (not by the code per se, but for the fact that such situation has come to happen).
Jun
6
comment Any advice from self-taught programmers on competing with more conventional types?
Regarding "work standing for your credibility", there is a famous quote from a century-old bicycle saddle manufacturer: "It is not the name of Brooks which makes the saddle good, but the saddle, and its excellence, that makes the name supreme." (Brooks Saddles, 1912)
Dec
12
comment How can I structure my code when I have orthogonal arrays of features?
I have a very similar problem. Our product is a data acquisition system with lots of different sensors. There is a hardware layer, a GUI layer, a calibration layer... Each time I have to add a sensor to the codebase, I have to spray a bit of code in every layer... Very un-natural and error prone...