Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #2707

Re: programmer's keyboard

From BGB <cr88192@hotmail.com>
Newsgroups comp.programming
Subject Re: programmer's keyboard
Date 2012-12-31 16:58 -0600
Organization albasani.net
Message-ID <kbt5fd$6fa$1@news.albasani.net> (permalink)
References (13 earlier) <akbmv7Fltc3U3@mid.individual.net> <kbqiq3$3q7$1@news.albasani.net> <akc2s5Fltc3U4@mid.individual.net> <kbrl33$659$1@news.albasani.net> <ake9gcFltc3U6@mid.individual.net>

Show all headers | View raw


On 12/31/2012 2:05 PM, Ian Collins wrote:
> BGB wrote:
>> On 12/30/2012 6:00 PM, Ian Collins wrote:
>>> BGB wrote:
>>>> On 12/30/2012 2:36 PM, Ian Collins wrote:
>>>>> BGB wrote:
>>>>>>
>>>>>> granted, but it isn't really all that clear if/how it is worth the
>>>>>> hassle of doing so.
>>>>>
>>>>> The "hassle" of typing "hg commit" once in a while is far
>>>>> outweighed by
>>>>> the convenience of being able to type "hg revert" when you break
>>>>> something.
>>>>>
>>>>
>>>> or, a person can be systematic, and manually revert the last changes
>>>> they made (this being a big win for "#if 0" and "#if 1")
>>>>
>>>> or, maybe just hit CTRL-Z a few times (if the breaking change was
>>>> recent).
>>>>
>>>> if by some chance they really screw up, copy/paste files from an older
>>>> version.
>>>
>>> So that's all less hassle than "hg revert"?
>>>
>>
>> partly yes, because usually this can be done via the GUI, whereas typing
>> in "hg revert" could very well involve bringing up a shell, changing to
>> the right path, and typing it in.
>>
>> granted, TorgoiseHg adds revert to Explorer, making the above a bit moot.
>
> As do popular IDEs such as Eclipse and Netbeans.
>

Eclipse with C or C++ kind of sucked IME, and doesn't seem to support 
using MSVC as the back-end compiler (the version I looked at only 
supported GCC as a backend, and wasn't really all that configurable).

never tried Netbeans, wasn't aware of it working with non-Java languages...


>> the rest would come down mostly to granularity.
>> (like, if you revert, it will go back to the last commit, meaning being
>> strategic about when to commit, ...).
>
> You commit when you pass a test or refactor.
>

this could potentially still be a fairly coarse granularity.


>> guards, however, can be finer-grained, and can be enabled/disabled at
>> will, rather than depending specifically on the immediate history.
>
> If you need lots of them, you are doing something wrong.
>

usually, a lot is about fine-tuning the behavior or performance.

say, a person has 2 or 3 versions of a piece of code, which may approach 
the problem in slightly different ways, and the goal may be to figure 
out which is faster, or has the more desirable behavior.

once it gets pretty much settled, the other versions may be discarded.


>> and, CTRL-Z is about specific edits, meaning it can undo very recent
>> changes, and go as far back (usually) as there are undo levels, or when
>> the editor was last closed and reopened (whichever was more recent).
>
> A pain in the arse if you want to undo changes in several files.
>

usually, in this case (a change which would need to be reverted in 
multiple places), these will be put under the control of a define:
#define MYLIB_SOMEFEATURE

otherwise, it makes sense to try to avoid changes which may effect code 
in multiple locations.

if a more drastic set of changes needs to be done, it is usually at this 
point that the directory is cloned, creating a new "version" of the 
given library, which control may be changed over to once these changes 
are "reasonably complete".

an alternate (sometimes used) strategy, is to make a backup copy, and 
keep this backup around until these modifications seem to be holding up.


>> it is much like the tradeoff between using Find/Replace and grep or sed.
>>
>> Find/Replace is often easier, because it it right there in the editor.
>
> Again, popular IDEs support project wide edits and common refactorings.
>

I typically use stand-alone text-editors.

I could use Visual Studio more often, if I wanted the IDE experience.


>> the convenience balance may be partly reversed on Linux though,
>
> There are more than two operating systems....
>

well, there are Windows, Linux, and OSX.

much beyond this, it is hard-pressed to find "anyone who gives a crap".
it is like, how many people use FreeBSD? not really enough to matter.

other options, like Android or Chrome, don't really count, in that they 
are Linux-based.


>>>>> As for copying, with Mercurial at least, everything in in the source
>>>>> directory, so there's no additional effort required.  Because you
>>>>> don't
>>>>> have all those dated directories floating around, where's way less
>>>>> data
>>>>> to copy.
>>>>>
>>>>> The convenience of being able to use ssh to clone and synchronise
>>>>> between hosts and devices is a big win.
>>>>>
>>>>
>>>> you can also transfer things using, say, FTP, or network shares (if
>>>> on a
>>>> LAN). (granted, yes, a person needs an FTP server for the FTP route).
>>>
>>> Share maybe, but handle merging?  Branches?
>>>
>>
>> not usually a big issue for a single developer project.
>>
>> more so, if the developer does the bulk of their development from a
>> single computer (which then generally holds the "authoritative" copy).
>>
>> more often, if I am going to be away, and have a laptop, I will usually
>> make a copy on an external HDD (or "USB Mass Storage Device"), then if I
>> work on it more, that version will become the authoritative copy, at
>> least until I copy it back onto my main computer.
>
> Using hg push/pull to/from external storage is a lot quicker than
> copying the whole tree.
>

could be, but it usually isn't a big deal...

a few seconds or minutes usually isn't a huge issue.


>>>> as-is though, both my main computer and web-server are running
>>>> Windows...
>>>
>>> So share your repository via http(s)!
>>>
>>> You can use Tortoise HG to pull from or push to remote repositories on
>>> windows.  You should try it (or Tortoise SVN) some time, it is an
>>> excellent application.
>>>
>>
>> I was using TortoiseHg before with BitBucket.
>>
>> as noted before, the main killer was the long upload times, and because
>> it seemed to want nit-picky things, like creating a new version entry
>> and typing something in the changelog, before it would commit anything.
>
> Ah yes, good development practice!
>

yes, but it doesn't save in annoyance, especially if the whole point is 
that a person commits regularly.

most likely, a person will end up with a whole lot of "fiddling with X" 
or "trying to optimize Y", or occasionally "fixed bug Z".


> The long upload times would be down to the Internet, not Mercurial.  It
> will only copy changes.  This can be a big advantage when you make a
> small change to a big file over a slow link.
>

IME, it was typically uploading a lot of data each time.


granted, maybe, endlessly copying ones' entire codebase over the 
internet would be slower, but OTOH, for local storage it isn't really a 
big issue... (and modern HDDs are big enough that this isn't really a 
big issue either).

over a LAN, it is a bit slower, which is more typically why either it 
isn't done when time matters (I can just go do something else while it 
copies), or a USB HDD can be used instead (because the USB HDD is faster).

(like, one gets 15-20MB/s for a USB HDD, but only about 5-7MB/s over a 
LAN, or 2-4 MB/s over WiFi).


could be faster though, if one is using a wired connection and all of 
the parts support 1GbE (vs only 100baseT or similar...).

in past cases where I was able to copy between computers using 1GbE, it 
performed essentially about as fast as local file-copying.

Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

programmer's keyboard bob <bob@coolfone.comze.com> - 2012-12-26 11:45 -0800
  Re: programmer's keyboard Robert Wessel <robertwessel2@yahoo.com> - 2012-12-26 15:01 -0600
    Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-26 21:36 +0000
      Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-26 21:12 -0600
      Re: programmer's keyboard Robert Wessel <robertwessel2@yahoo.com> - 2012-12-27 23:45 -0600
        Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-28 13:46 +0000
          Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-29 11:42 +1300
          Re: programmer's keyboard "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2012-12-29 15:15 +0000
            Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-29 14:41 -0600
              Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-29 21:10 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-29 15:26 -0600
                Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-29 22:41 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 02:12 -0600
                Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-30 11:20 +0000
                Re: programmer's keyboard malcolm.mclean5@btinternet.com - 2012-12-30 10:19 -0800
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 14:51 -0600
              Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-30 10:43 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 01:55 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-30 21:06 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 02:35 -0600
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2012-12-30 18:12 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 13:30 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-31 09:36 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 17:27 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-31 13:00 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-31 03:13 -0600
                version control (was: Re: programmer's keyboard) rugxulo@gmail.com - 2012-12-31 10:36 -0800
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2013-01-01 09:05 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-31 16:58 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2013-01-01 13:24 +1300
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-02 12:23 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-02 14:34 -0600
                Re: programmer's keyboard Robert Wessel <robertwessel2@yahoo.com> - 2013-01-02 15:35 -0600
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-03 13:19 -0600
                Re: programmer's keyboard Willem <willem@turtle.stack.nl> - 2013-01-03 08:35 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-03 13:46 -0600
                Re: programmer's keyboard rugxulo@gmail.com - 2013-01-03 00:52 -0800
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-03 15:00 +0000
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-02 11:58 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-02 15:03 -0600
                Re: programmer's keyboard rugxulo@gmail.com - 2013-01-03 00:54 -0800
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-03 13:06 -0600
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2012-12-30 18:04 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 14:24 -0600
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-02 11:34 +0000
          Writing Experimental Code "Aaron W. Hsu" <arcfide@sacrideo.us> - 2013-01-02 15:08 -0600
  Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2012-12-28 11:45 +0000
    Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-28 12:29 -0600

csiph-web