Forgot your password?

Comment: Re:From my understanding of Android (Score 1) 384

"That's amusing. Google has re-invented Go Computer's PenPoint. That's how they ran multiple semi-persistent applications on their tablet in the late 1980s."

You must mean Terminate and Stay Resident computing, invented before Go Computer's PenPoint, which is how everyone in the DOS world ran multiple semi-persistent applications on their computers in the mid 80s.

Which is predated by any multiprocessing system that can suspend any process to run another... so, kinda not stealing.


Comment: You *should* feel bad... (Score 1) 532

by Bright Apollo (#31124084) Attached to: Learning and Maintaining a Large Inherited Codebase?

... because clearly, you like setting the bar impossibly high for yourself.

You will never know the code as well as the original developer. so stop trying. For very old cases >10 years, that developer was also the analyst who gathered the requirements, further cementing you to a 3rd-bit player in the drama. Let it go.

You *can* maintain someone else's code, though, if you can do a few things:
      -dispense with ego
      -learn to *read* code, especially as a reviewer
      -ask lots of questions

As a maintenance programmer, you have to be fearless about asking questions, even if they dead-end you. You asked. You were thrust into a bad spot, you do your best to figure out where you're at. Assess the situation. There's no rush to fix anything, it's not like the problem's going anywhere and no one is hiring clueless mission-critical coders.

Start small. Start really small, like just reading the code as you might in a code review and see if you can spot trends. If you've been doing this awhile, you can start picking up on the strengths and weaknesses of the author(s). At the very least you can start to immerse yourself in the style and convention, making translation to the actual algorithms easier, i.e. what's this bit doing? I'm not embarrassed to say I've professionally reviewed code that I could never write -- it was VB and ASP -- but I know what object-oriented code should look like, should be capable of doing, and this wasn't it. It wasn't even good procedural/ iterative code... but that's besides the point. The point is, I know when to use a while loop, a for loop, and when to unroll the loop. It's the kind of knowledge that comes in handy no matter what language I'm looking at. Declarative? No problem, it's set-based thinking and straight Boolean logic. Functional? Fine, let's start busting down the parentheticals. It's also about moving data into a register, eventually.

So, you start small, you read the code, you trace some data by hand, a little, and then... run the fuckin' thing with a debugger, step by step, and watch the data move. If it takes you all day to run it once, you're entirely ready on day two to start messing with it. You've likely done what only the original developer has ever done, and that's seen data at the top run straight through to the bottom.


Comment: I'm with you on this. (Score 1) 6

by Bright Apollo (#30944938) Attached to: Why can't I (how can I) have an EmacsPad?

However, what I'd really like to see is a basic pad, just a command prompt, basic drivers. WiFi yes, 3G no. No external ties. The Pixel Qi projects promises a new innovation, color and real resolution in daylight. I was thinking a basic Linux distro would make for an absolute eBook killer, but so much more: forms entry and processing as well.

Comment: Re:c++ is 'write-only' code (Score 1) 752

by Bright Apollo (#30506418) Attached to: The Environmental Impact of PHP Compared To C++ On Facebook

PHP does the same things as C++? Really? And C++ lacks standard libraries to process XML, connect to DBs..? Interesting assertions. Cite sources, because from what I understand, C++ has tons of libraries and templates, and does things that lots of languages including PHP cannot do... operating systems, real-time applications, and compilers spring to mind.

Evolution is a million line computer program falling into place by accident.