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


Groups > comp.programming > #2659 > unrolled thread

programmer's keyboard

Started bybob <bob@coolfone.comze.com>
First post2012-12-26 11:45 -0800
Last post2012-12-28 12:29 -0600
Articles 8 on this page of 48 — 11 participants

Back to article view | Back to comp.programming


Contents

  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

Page 3 of 3 — ← Prev page 1 2 [3]


#2718

Fromrugxulo@gmail.com
Date2013-01-03 00:54 -0800
Message-ID<83e4cb23-112e-42e4-8a75-bce1ef6c679b@googlegroups.com>
In reply to#2713
Hi,

On Wednesday, January 2, 2013 3:03:04 PM UTC-6, BGB wrote:
> 
> the main difference this makes is mostly that it makes one unable to 
> directly open edit files on an FTP server, but have to have a local copy 
> to edit stuff.

I'm pretty sure GNU Emacs supports editing across FTP, and IIRC, it's called "tramp", but I don't know the details, never tried!

http://www.gnu.org/software/tramp/

[toc] | [prev] | [next] | [standalone]


#2723

FromBGB <cr88192@hotmail.com>
Date2013-01-03 13:06 -0600
Message-ID<kc4kuu$gad$1@news.albasani.net>
In reply to#2718
On 1/3/2013 2:54 AM, rugxulo@gmail.com wrote:
> Hi,
>
> On Wednesday, January 2, 2013 3:03:04 PM UTC-6, BGB wrote:
>>
>> the main difference this makes is mostly that it makes one unable to
>> directly open edit files on an FTP server, but have to have a local copy
>> to edit stuff.
>
> I'm pretty sure GNU Emacs supports editing across FTP, and IIRC, it's called "tramp", but I don't know the details, never tried!
>
> http://www.gnu.org/software/tramp/
>

granted, most often I am not editing source-code on my server, but more 
often, things like web-site contents.

some of this though did result in me largely migrating to use of 
MediaWiki for "general website stuff", but I eventually ended up 
disabling the ability of anonymous users to create new user accounts (in 
addition to disabling anonymous editing), mostly to deal with spam 
issues (and getting tired of having to fairly often go and remove all of 
said spam).

I suspect maybe the spam bots were getting around the captchas or 
similar (they seemed to work pretty well for a while).

[toc] | [prev] | [next] | [standalone]


#2695

FromRui Maciel <rui.maciel@gmail.com>
Date2012-12-30 18:04 +0000
Message-ID<kbpvmh$g9p$1@dont-email.me>
In reply to#2690
BGB wrote:

> I don't really use version-control though.
> 
> most stuff that people would usually do via version control, I often end
> up doing via copying files/directories...
> 
> lame, I know, but this way is less effort...
> and I am a lone developer anyways, so it doesn't really matter.

You are missing out by not using version control.  At the very least it's a 
convenient way to help you manage all those copies, and it also does a whole 
lot more than that.

There are plenty of version control systems out there that don't cost a 
thing, and are extremelly simple to use.  If you give it a try, I believe 
you will see the light.


Rui Maciel

[toc] | [prev] | [next] | [standalone]


#2699

FromBGB <cr88192@hotmail.com>
Date2012-12-30 14:24 -0600
Message-ID<kbq828$fkg$1@news.albasani.net>
In reply to#2695
On 12/30/2012 12:04 PM, Rui Maciel wrote:
> BGB wrote:
>
>> I don't really use version-control though.
>>
>> most stuff that people would usually do via version control, I often end
>> up doing via copying files/directories...
>>
>> lame, I know, but this way is less effort...
>> and I am a lone developer anyways, so it doesn't really matter.
>
> You are missing out by not using version control.  At the very least it's a
> convenient way to help you manage all those copies, and it also does a whole
> lot more than that.
>

typically, I manage copies as-relevant by including dates and internal 
version numbers in the directory names.

granted, for minor changes, I don't usually bother, and tend to make all 
changes readily reversible.

so, it is like:
make a few changes;
test that everything still works;
make a few more changes;
test again...

if a change results in something breaking, I switch it back, and see if 
I can figure out why/how it is breaking.

granted, this sometimes leads to some amount of duplicated/disabled 
code, which is usually pruned away eventually.


this way, copies are used mostly for "changes sufficiently drastic that 
they are likely to break something", where the copy is made and the 
version number advanced slightly.

typically, I go on a simplistic major/minor system, typically:
single digit: major, typically advanced on near complete rewrites;
two digits: major+minor, usually done if a change was made which is 
likely to break stuff.

this notation informally uses base36 (or: 0-9, A-Z).

for other things, I often use a "major_minor" notation (like: "foo3_1"), 
and sometimes, "majorminor_subminor", like "foo63_5".


typically, if file or directory names are prefixed with '_', this 
basically means "candidate to be deleted" (I may delete them later if it 
becomes fairly certain I wont need them again).

periodic old copies of projects are kept around as well, and 
occasionally have been used for retrieving/reviving bits of very old 
code (which had since fallen out of the project).

sometimes, old stuff is moved into directories with names like "_old", 
which may be deleted later.


> There are plenty of version control systems out there that don't cost a
> thing, and are extremelly simple to use.  If you give it a try, I believe
> you will see the light.
>

I had used CVS and Mercurial before, but generally found them less 
convenient than copy-pasting things.

mostly, Windows Explorer makes copy/paste really easy, whereas even in 
their GUI-based forms, are still typically more of a hassle in-general 
than copy/paste or drag&drop (to move things).

[toc] | [prev] | [next] | [standalone]


#2709

FromRui Maciel <rui.maciel@gmail.com>
Date2013-01-02 11:34 +0000
Message-ID<kc160s$i6h$1@dont-email.me>
In reply to#2699
BGB wrote:

> typically, I manage copies as-relevant by including dates and internal
> version numbers in the directory names.
> 
> granted, for minor changes, I don't usually bother, and tend to make all
> changes readily reversible.
> 
> so, it is like:
> make a few changes;
> test that everything still works;
> make a few more changes;
> test again...
> 
> if a change results in something breaking, I switch it back, and see if
> I can figure out why/how it is breaking.
> 
> granted, this sometimes leads to some amount of duplicated/disabled
> code, which is usually pruned away eventually.
> 
> 
> this way, copies are used mostly for "changes sufficiently drastic that
> they are likely to break something", where the copy is made and the
> version number advanced slightly.
> 
> typically, I go on a simplistic major/minor system, typically:
> single digit: major, typically advanced on near complete rewrites;
> two digits: major+minor, usually done if a change was made which is
> likely to break stuff.
> 
> this notation informally uses base36 (or: 0-9, A-Z).
> 
> for other things, I often use a "major_minor" notation (like: "foo3_1"),
> and sometimes, "majorminor_subminor", like "foo63_5".
> 
> 
> typically, if file or directory names are prefixed with '_', this
> basically means "candidate to be deleted" (I may delete them later if it
> becomes fairly certain I wont need them again).
> 
> periodic old copies of projects are kept around as well, and
> occasionally have been used for retrieving/reviving bits of very old
> code (which had since fallen out of the project).
> 
> sometimes, old stuff is moved into directories with names like "_old",
> which may be deleted later.

With a version control system, it's possible to have all that, and in a 
convenient, non-intrusive way.  For example, with git, it's possible to 
create separate development branches which ca be used independently and, if 
it's the case, merged with any other branch.  To create a new branch, the 
only thing that a user needs to do is to run the following command:

git branch <branch name>

Then, to switch back and forth between different development branches, the 
user only needs to run:

git checkout <branch name>

Finally, to discard a development branch, a user only needs to run:

git branch -D <branch name>


These commands are enough to do essentially everything you mentioned in the 
description of your workflow.

The best part about using a version control system is that you don't have to 
worry about managing all the different versions of your development branch, 
or track the meaning of any naming convention you used.  All these 
management details are pushed under the hood, which lets you focus on 
writing code instead of how and where to store/track any development version 
and/or branch.


>> There are plenty of version control systems out there that don't cost a
>> thing, and are extremelly simple to use.  If you give it a try, I believe
>> you will see the light.
>>
> 
> I had used CVS and Mercurial before, but generally found them less
> convenient than copy-pasting things.
> 
> mostly, Windows Explorer makes copy/paste really easy, whereas even in
> their GUI-based forms, are still typically more of a hassle in-general
> than copy/paste or drag&drop (to move things).

I see what you mean.  IMO, GUI front-ends tend to suffer from a serious 
usability problem, at least when compared to the command line interface: 
they tend to shove all features onto the screen, whether the user uses them 
or not.  In addition, they also tend to display an ungodly amount of 
information.  This isn't helpful and tends to needlessly overcomplicate 
things, which in turn contributes to a steeper learning curve.

Nevertheless, even when faced with this problem, once the user manages to 
wrap his head around how a particular version control system works, and how 
a particular GUI front-end lets the user interface with that version control 
system, things tend to quickly become both significantly simpler and better.


Rui Maciel

[toc] | [prev] | [next] | [standalone]


#2714 — Writing Experimental Code

From"Aaron W. Hsu" <arcfide@sacrideo.us>
Date2013-01-02 15:08 -0600
SubjectWriting Experimental Code
Message-ID<wJKdneiZwpJ9PHnNnZ2dnUVZ_jydnZ2d@giganews.com>
In reply to#2667
On Fri, 28 Dec 2012 13:46:10 +0000, BartC wrote:

> Do you never write experimental code? Or have code which doesn't work as
> expected and you have to try several different approaches? Or have an
> elusive bug and have to put in temporary debug code in lots of different
> places?

I do a lot of rapid prototyping type things in a number of programming 
languages, the primary of these being APL and Scheme, which are known for 
allowing and encouraging this sort of thing. However, there is a big 
difference between using a REPL (Read-Eval-Print-Loop) or Interactive 
Session in order to learn what a particular piece of code does and 
writing experimental code. In particular, when I don't know what a 
particular piece of code is going to do, I don't put it in my program. I 
might test it out first with the explicit goal of understanding what it 
does, but that's it. Once I understand what that code actually does, then 
I can put it in my program. Even when you are writing experimental code 
or code that is going to go away very soon, you should, IMO, never write 
code that you do not fully understand and the result of which you cannot 
definitively know. I consider that lazy and wild west sort of coding that 
will cause a loss in productivity rather than a gain. 

Just as an example, imagine what would happen if you wrote your debug 
code incorrectly. It might seem to work, but give you the wrong debugging 
information! Intentionally introducing mistakes into your program is a 
*lot* different than accidentally introducing something.

-- 
Aaron W. Hsu | arcfide@sacrideo.us | http://www.sacrideo.us
לֵ֤ב חֲכָמִים֙ בְּבֵ֣ית אֵ֔בֶל וְלֵ֥ב כְּסִילִ֖ים בְּבֵ֥ית שִׂמְחָֽה׃

[toc] | [prev] | [next] | [standalone]


#2666

FromRui Maciel <rui.maciel@gmail.com>
Date2012-12-28 11:45 +0000
Message-ID<kbk0ol$9m6$1@dont-email.me>
In reply to#2659
bob wrote:

> Wouldn't it be nice if there was an official programmer's keyboard?  So
> you don't have to hit shift for curly braces or parentheses?  And
> ampersands, asterisks, and plus signs.  And quotes.  Have you guys seen
> anything like this?

Unless the programmer doesn't have a pair of hands, using the shift key has 
absolutely no significant impact on efficiency or convenience.  In addition, 
plenty of text editors already support code completion, which practically 
solves this issue.  I suspect that using a custom keyboard layout or a 
keyboard with extra keys sprinkled around causes more problems than the ones 
it solves.

There is no substitute or shortcut to actually learning how to type.


Rui Maciel

[toc] | [prev] | [next] | [standalone]


#2668

FromBGB <cr88192@hotmail.com>
Date2012-12-28 12:29 -0600
Message-ID<kbkoi6$b82$1@news.albasani.net>
In reply to#2666
On 12/28/2012 5:45 AM, Rui Maciel wrote:
> bob wrote:
>
>> Wouldn't it be nice if there was an official programmer's keyboard?  So
>> you don't have to hit shift for curly braces or parentheses?  And
>> ampersands, asterisks, and plus signs.  And quotes.  Have you guys seen
>> anything like this?
>
> Unless the programmer doesn't have a pair of hands, using the shift key has
> absolutely no significant impact on efficiency or convenience.  In addition,
> plenty of text editors already support code completion, which practically
> solves this issue.  I suspect that using a custom keyboard layout or a
> keyboard with extra keys sprinkled around causes more problems than the ones
> it solves.
>
> There is no substitute or shortcut to actually learning how to type.
>

ironically, by the usual "standard" definition (touch typing), I never 
really learned to type.

it isn't really "hunt and peck" either though, since I know where the 
keys are, and typically use multiple fingers from each hand (typically 
2/3, sometimes little finger for shift/ctrl/alt/... or thumb for space), 
just it isn't the whole (hold hands at the home-row and at a certain 
angle) thing. (which is usually uncomfortable and limiting IME, and 
requires an awkward hand-movement to make use of the character keys 
while keeping the hand in the "standard" position).

granted, I suspect touch-typing is not very useful for programmers 
anyways, since a lot of the most frequently-used keys are hard or 
awkward to reach with touch-typing, so having more freely moving hands 
is an advantage I think.

for natural language, it doesn't really matter much so long as one can 
basically keep up with how quickly they can think up things to write 
about, which isn't necessarily all that fast (and, OTOH, if using lots 
of letter keys, hands will tend to just "end up" in the general area 
anyways...).


or such...

[toc] | [prev] | [standalone]


Page 3 of 3 — ← Prev page 1 2 [3]

Back to top | Article view | comp.programming


csiph-web