Follow Slashdot stories on Twitter


Forgot your password?

Comment: Stricter compilation also an option (Score 3, Insightful) 233

by Codeyman (#48991313) Attached to: Ask Slashdot: What Tools To Clean Up a Large C/C++ Project?
Along with coverity as one of the commenters suggested, you can compile the code with stricter compilation options (like -Werror in gcc, which will error out if variables/functions are not used etc), you would then need to go through each of these files manually and resolve all the issues. Tools like bcpp can help you make sure your complete code base follows a common coding standard. Apart from that, if the name of the function is not indicative of what the function actually does, there are no tools smart enough to help you with that. You'd need to do a lot of cleanup manually by hand.

Comment: Software Design (Score 2) 214

by Codeyman (#48920257) Attached to: Ask Slashdot: What Makes a Great Software Developer?
To be a great software developer, you need to write great software. Any great software requires a lot more forethought than just coding.
Upfront design is the key to flexible and maintainable software. Peer reviewed, simplified, unoptimized design gives you a great base to start writing great code. It is akin to listening to a shakespeare play before writing one (as opposed to just winging it as you move along) .

Comment: C will always be relevant (Score 1) 641

by Codeyman (#48559377) Attached to: How Relevant is C in 2014?
C is an abstraction of hardware concepts, and newer languages (even C++) tend to be abstraction of concepts from Comp Sci (object, function curries, comprehensions, templates etc etc). Someone has to bridge the two concepts. C++ succeeds as a language that supports both, but never been that big because most people either use it as C (and not use any features), use it poorly (because they don't understand how the various constructs work) on the hardware end. C has lesser concepts to worry about, but gives more rope to shoot you on the foot.
E.g. simple statement like "if (string == "hello")" in C++ could mean that == is overloaded and if it accepts an object string, "hello" invokes the copy constructor for string object and passes it to the string object's == operator, which might do a char by char comparison, and then the unnamed object "hello" is destructed.
You generally don't care about this for business logic or if your website is getting one hit every few seconds, but if you are getting a million hits per second, you need to start optimizing the way you do things, you'd need to know which of L1/L2/L3 caches you'll miss, what'll be the real impact of your code. C, without the fluff, gives you lesser things to worry about.
C will be relevant because no other new language is trying to replace it.

Comment: Re:A complaint (Score 1) 207

Actually it makes sense from Cisco's perspective (leaving aside its morality for a moment). Normally the people laid offs are either the bottom performers or the product that they were working on is no longer seen as a cog in the wheel. People are never laid off from units for which growth is projected. And the business units where the people are being added would most definitely have a completely different set of core competency than other folks at Cisco. Most people would not willingly accept a work in some random domain either. Seems like a no brainer to me.

Comment: Because nobody cares.. (Score 1) 278

by Codeyman (#47655853) Attached to: Ask Slashdot: Why Are Online Job Applications So Badly Designed?
People just got to XYZ's job portal to apply for job, they don't rate or complain about the product. The job portal doesn't generate any revenue. Nobody says that they are not going to join/interview for a job at XYZ because their online job portal sucks. There is no competition in the space at all. Why would the portals be any better?

Comment: Re:seems like a back door (Score 1) 566

by Codeyman (#46950083) Attached to: Let Spouses of H-1B Visa Holders Work In US, Says White House
The abstract seemed to mention only the effect on short-run wages! In the short run, the nominal wage rate is taken as fixed. Thus, rising P implies higher profits that justify expansion of output. In the neoclassical long run, on the other hand, the nominal wage rate varies with economic conditions.[From wikipedia]
So H1B's effect on long run wages would be better study. The causality of non-normalized reduction in fixed-wage is too chaotic to be attributed to H1b only. Note the year of study. It is 2009-2010, which was height of the depression.

Comment: Re:H1b Is a marriage killer in its current form! (Score 1) 566

by Codeyman (#46949567) Attached to: Let Spouses of H-1B Visa Holders Work In US, Says White House
This is not the case. If you think there are more jobs than people willing to do it, then think again. There is a shortage of skilled labor in US. If you go to 10 job interviews, get selected in 5 of those, and end up choosing one, that still means that 90% of the vacancies are still unfilled. Introducing more people to the mix increases the competition and improves US's capability to compete in global arena.

Comment: umm... no! (Score 1) 217

by Codeyman (#44183587) Attached to: AOC's 21:9 Format, 29" IPS Display Put To the Test At 2560x1080
No.. a bigger monitor doesn't make you productive.. nor does the number of monitor (well directly). Productivity increase comes from the fact that you can separate multiple tasks on multiple monitors and your context switches are as long as moving your eyeball/turning your head. None of the windowing managers/OS do tiling very well IMO(well except wmii). Now if I can "see" the one long monitor as X logical monitors (which still depends on the widowing manager), then I'll use it.

Comment: Thanks for everything.. (Score 2) 39

by Codeyman (#43906373) Attached to: Indian FOSS Evangelist Atul Chitnis Dead At 51
I got introduced to Linux at a university when no one even cared about Linux. PCQ with its stream of different distros, blug meets and (was called linux-bangalore when I attended it), and the various people I met, including Atul Chitnis, t3rmin4t0r(Gopal V), LaForge (Herald Welte), Brian Behlendorf.. all helped me mature as a linux user and eventually paved way for a career in Linux dev. Atul, with his team, was responsible for getting all the great geeks under one roof, even if they didn't agree with him. He wasn't a software developer, he wasn't a distro maintainer.. he hacked people! He was responsible for a generation of linux enthusiasts and made sure that they didn't turn into fanatics. Atul.. you'll be missed.

Comment: Muchies and Structure (Score 1) 79

by Codeyman (#43797239) Attached to: Ask Slashdot: What Makes a Great Hackathon?
1.Have enough supply of food and drinks(non-alcoholic) to last one whole 24 hour cycle.

2.Have a structure to it. E.g. Would start at 8 am on Saturday, finish on 8 am on Sunday, upload demos by 10 am, and do anything using X library in python.
Then just let the participants do whatever they want, don't unnecessarily linger or ask too many questions. Remember, people are there to enjoy themselves, and code whatever they think is a good project. Don't judge.

Comment: Testing is an extension of the Dev process (Score 1) 220

by Codeyman (#43644611) Attached to: A Case For a Software Testing Undergrad Major
Am I alone in thinking that development and testing should go hand in hand? A developer needs to write his own test cases for unit testing, write stub code to test them out, work with the team to get the integration test cases ironed out.. with someone from the automation team just providing support for writing test vectors. Of course, this is just wishful thinking. In real environment, the developers barely get time to do some real UT, IT testing consists mostly of test cases that the a separate team of testers thought about and tests to check the bugs reported by the users in the last release. This decoupling of development and testing introduces a chasm where the bugs slip through.. and thanks to the crazy deadlines, it is not going anywhere. Let us not further widen this gap by teaching testers differently. Testing is an extension of development and should be handled as such.

There's no sense in being precise when you don't even know what you're talking about. -- John von Neumann