473,796 Members | 2,664 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Pre-PEP Proposal: Codetags

I also have this living as a wiki <http://tracos.org/codetag/wiki/Pep>
if people would like to add comments there. I might try to capture there
feedback from this group anyway. First try at a PEP -- thanks for any
feedback!
Please add **NOTE:** comments to the bottom of this wiki document
using `WikiRestructur edText`:trac:.

=============== =============== =========
Codetag PEP (*or* Tao of Codetagging)
=============== =============== =========

PEP: XXX
Title: Codetags
Version: $Revision$
Last-Modified: $Date$
Author: Micah Elliott <mde at tracos.org>
Status: Active
Type: Informational
Content-Type: text/x-rst
Created: 27-Jun-2005
Post-History: XXX
Abstract
========

This informational PEP aims to provide guidelines for consistent use
of Codetags, which would enable the construction of standard utilities
to take advantage of the Codetag information, as well as making Python
code more uniform across projects. Codetag is a also a very
lightweight programming micro-paradigm and becomes useful for project
managment, documentation, change tracking, and project health
monitoring. This is submitted as a PEP because I feel its ideas are
Pythonic, although the concepts are not unique to Python programming.
Herein are the definition of a Codetag, a philosophy rant, a
motivation for standardized conventions, a specification, a toolset
description, and possible objections to the Codetag project/paradigm.
What's a Codetag?
=============== ==

Programmers widely use ad-hoc code comment markup conventions to serve
as reminders of sections of code that need closer inspection or
review. Examples of markup include ``FIXME``, ``TODO``, ``XXX``,
``BUG``, but there many more in wide use in existing software. Such
markup will be henceforth referred to as a *Codetag*. These Codetags
may show up in application code, unit tests, scripts, general
documentation, or wherever suitable.
Philosophy
==========

NOTE: **I'm not certain Philosophy_ belongs in the PEP, but it
somewhat explains the usefulness of Codetags** <mde>

If you subscribe to most of these values, then Codetags will likely be
useful for you.

1. As much information as possible should be contained **inside the
source code** (application code or unit tests). This along with use
of Codetags impedes duplication. Most documentation can be
generated from that source code Eg, by using help2man, man2html,
docutils, epydoc/pydoc, ctdocgen, etc.

2. Information should be almost **never duplicated** -- it should be
recorded in a single original format and all other locations should
be automatically generated from the original, or simply be
referenced. This is the *SPOT* rule.

3. Documentation that gets into customers' hands should be
**auto-generated** from single sources into whatever output formats.
People want documentation in many forms. It is thus important to
have a documentation system that can generate all of these.

4. Whatever information is subject to (and suited for) user
feedback/input should be contained in a **wiki** (or maybe usenet or
maillists). Eg, FAQ, RFC, PEP.

5. There should not be a dedicated, disjoint **documentation team**
for any non-huge project. The developers writing the code know the
code best, and should be the ones to describe it.

6. **Plain text** (with non-invasive markup) is the best form of writing
anything. All other formats are to be generated from the plain
text.

7. **Revision control** should be used for almost everything. And
modifications should be checkin'd at least daily.
Motivation
==========

**Various productivity tools can be built around Codetags.**
See `Toolset Possibilities`_ .

**Encourages consistency.**
Historically, a subset of these Codetags has been used informally in
the majority of codes in existence, whether Python or some other
language. Tags have been used in an inconsistent manner with
different spellings, semantics, format, and placement. Eg, some
programmers might include datestamps and/or user identifiers, limit to
a single line or not, spell the Codetag differently than others, etc.

**Encourages adherence to SPOT/DRY principle.**
Eg, generating a roadmap dynamically from Codetags instead of keeping
TODOs in sync with separate roadmap document.

**Easy to remember.**
All Codetags must be concise, intuitive, and semantically
non-overlapping with others. Format is also simple.

**Use not required/imposed.**
If you don't use Codetags already, there's no obligation to start, and
no risk of affecting code (but see Objections_). A small subset can be
adopted and the Tools_ will still be useful (a few are already
implicitly adopted anyway). Also very easy to identify and remove if a
Codetag is no longer deemed useful. Then it is effectively *completed*
and recorded by revision control simply by checkin'ing.

**Gives a global view of code.**
Use tools to generate documentation and reports.

**A logical location for capturing CRCs/Stories/Requirements.**
The XP community often does not electronically capture Stories, but
Codetags seem like a good place to locate them.

**Extremely lightweight process.**
Creating tickets in a tracking system for every thought degrades
development velocity. Even if a ticketing system is employed, Codetags
are useful for simply containing links to those tickets.
Examples
========

This shows a simple Codetag as commonly found in sources everywhere
(with the addition of a trailing ``<>``).

::

def foo():
# FIXME: Seems like this loop should be finite. <>
while True: ...

This contrived example demonstrates more common use of Codetagging.
It uses some of the available fields to specify the owners (a pair of
developers with initials *mde* and *cle*), the Work Week of expected
completion (*w14*), and the priority of the item (*p2*).

::

def foo():
# FIXME: Seems like this loop should be finite. <mde,cle w14 p2>
while True:
Specification
=============

This describes the format: parsing layout, mnemonic names, fields,
and semantics.

General Layout
--------------

Each Codetag should be inside a comment, and can be any number of lines.
It should match the indentation of surrounding code. The end of the
Codetag is marked by a ``<...>``, which must not be split onto
multiple lines.

There are multiple fields per Codetag, all of which are optional.

To be succinct, a Codetag is a mnemonic, a colon, a commentary, an
opening broket, a list of optional fields, and a closing broket. Ie,::

# MNEMONIC: Some (maybe multi-line) commentary. <field field ...>

... FIXME: Add completion vs target date?? <mde>
Mnemonic Semantics
------------------

The Codetags of interest (``recommended mnemonic (synonym list)``, *canon*,
semantics, and **NOTEs**) are as follows.

Some of these are temporary (eg, ``FIXME``) while others are
persistent (eg, ``REQ``). Synonyms should probably be deprecated in
the interest of minimalism and consistency. I chose a mnemonic over a
synonym for three criteria: descriptive, short, common usage trends.

``TODO (TBD, MLSTN, DONE)``
*To Do*, An informal task/feature that is pending completion.
Relevant to roadmap.

NOTE: **DONE would really be a completed TODO item, but these
should probably be done through the revision control system.** <mde>

``FIXME (XXX, DEBUG, BROKEN, RFCTR, OOPS, SMELL)``
*Fix Me*, Problematic or ugly code. Needs refactoring or cleanup.

NOTE: **Choosing between FIXME and XXX is difficult. AFAICT XXX is
more common, but so much less descriptive. Furthermore, XXX is a
useful placeholder in a piece of code having a value that is
unknown. Sun says that XXX and FIXME are slightly different,
giving XXX higher severity.** <mde>

``REQ (STORY)``
*Requirement*, Satisfaction of a specific, formal requirement.

``RFE (FEETCH, NYI, FR, FTRQ, FTR)``
*Request For Enhancement*, A roadmap item not yet implemented.

``IDEA``
*Idea*, Possible ``RFE`` candidate, but less formal than ``RFE``.

``??? (QUEST, WTF, TBD, QSTN)``
*Question*, Misunderstood detail. Product of coincidental programming.

``HACK (WKRD)``
*Hack*, Temporary code to force inflexible functionality, or
simply a test change, or workaround a known problem.

``PORT``
*Portability*, Workaround specific to OS, Python version, etc.

``BUG (BUGFIX)``
*Bug*, Reported defect tracked in bug database.

``NOTE (HELP)``
*Note*, Implementation detail that stands out as non-intuitive. Or
a code reviewer found something that needs discussion or further
investigation.

NOTE: **Maybe a useful metric where a high count of NOTEs indicates
a problem.** <mde>

``FAQ``
*Frequently Asked Question*, Interesting area that requires
external explanation.

NOTE: **This is probably more appropriately documented in a wiki
where users can more easily contribute.** <mde>

``GLOSS``
*Glossary*, Item definition for project glossary.

``STAT``
*Status*, File-level statistical indicator of work needing done on this
file.

``RVDBY``
*Reviewed By*, File-level indicator of programmer(s) who performed
recent code review.

``SEE (REF)``
*Reference*, Pointer to other code, web link, etc.

NOTE: **File-level Codetags might be better suited as properties in the
revision control system.** <mde>

Fields
------

All fields are optional. It should be possible for groups to
define/add their own, but the proposed standard fields are as follows:

``wNN``
Workweek target completion (estimation). Origination and
completion are freebees with revision control.

``pN``
Priority level.

``xxx[,yyy]...``
List of initials of owners of completion responsibility. There
should be no digits for initials.
Toolset Possibilities
=============== ======

Currently, programmers (and sometimes analysts) typically use *grep*
to generate a list of items corresponding to a single Codetag. However,
various hypothetical productivity tools could take advantage of a
consistent Codetag format. Some example tools follow.

NOTE: Codetag tools are mostly unimplemented (but I'm getting started!) <mde>

Document Generator
Possible docs: glossary, roadmap, manpages

Codetag History
Track (with revision control system interface) when a BUGtag (or any codetag)
originated/resolved in a code section

Code Statistics
A project Health-O-Meter

Codetag Lint
Notify of invalid use of Codetags, and aid in porting to Codetag

Story Manager/Browser
An electronic means to replace XP notecards. In MVC terms, the
Codetag is the Model, and the Story Manager could be a graphical
Viewer/Controller to do visual rearrangment, prioritization, and
assignment, milestone management.

Any Text Editor
Used for changing, removing, adding, rearranging Codetags.

There are some tools already in existence that take advantage of a
smaller set of pseudo-Codetags (see References_)

Objections
==========

**Objection**: Extreme Programming argues that such Codetags should not ever
exist in code since the code is the documentation.

**Defense**: Maybe put the Codetags in the unit test files instead.
Besides, it's tough to generate documentation from uncommented source
code.

----

**Objection**: Too much existing code has not followed proposed
guidelines.

**Defense**: [Simple] utilities (*ctlint*) could convert existing
codes.

----

**Objection**: Causes duplication with tracking system.

**Defense**: Not really -- If an item exists in the tracker, a simple
ticket number as the Codetag commentary is sufficent. Maybe a
duplicated title would be acceptable. Furthermore, it's too
burdensome to have a ticket filed for every item that pops into a
developer mind on-the-go.

----

**Objection**: Codetags are ugly and clutter code.

**Defense**: That is a good point. But I'd still rather have such info
in a single place (the source code) than various other documents,
likely getting duplicated or forgotten about.

----

**Objection**: Codetags (and all comments) get out of date.

**Defense**: Not so much if other sources (externally visible
documentation) depend on them being accurate.

----
References
==========

Some other tools have approached defining/exploiting Codetags.

See http://tracos.org/codetag/wiki/Links
Comments
========

Please add comments below following line. Or feel free to comment
inline in above sections with **NOTE:** Codetags. Objections_ might be
a popular area for comments. :-)

Thank you!

----

<First comment.>

----
...
Local Variables:
mode: indented-text
indent-tabs-mode: nil
sentence-end-double-space: t
fill-column: 70
End:
}}}

--
Micah Elliott
Aug 11 '05 #1
8 1740
Micah Elliott wrote:
I also have this living as a wiki <http://tracos.org/codetag/wiki/Pep>
if people would like to add comments there. I might try to capture there
feedback from this group anyway. First try at a PEP -- thanks for any
feedback!


I think you somewhat misunderstood the purpose of the PEP process.
This is meant primarily for enhancements to Python (the language
and its library), and it is meant to save the PEP author from
implementing unagreeable functionality - if the PEP is accepted,
the PEP author is typically expected to implement the proposed
functionality (in many cases, having a draft implementation is
prerequisite to accepting it).

Both elements seem to be missing your document: it does not propose
changes to the Python language; instead, it proposes a specific
way of writing comments (ie. something that is not relevant to the
Python interpreter or libraries, only to the Python developer).
Also, there is no indication that you would like to implement
something for the PEP: what tool would you like to change in what
specific way?

If you want this as a PEP so that Python somehow "endorses" code
tags (which appear to be independent from the programming language),
I'm -1: Python has traditionally abstained from pushing unrelated
technologies. Instead, it integrates with the technologies people
find useful; in this spirit, I would rather like to see code tags
become popular on their own merits, and *then* perhaps integrating
support for it into IDLE could be considered.

Regards,
Martin
Aug 11 '05 #2
I'm sure Martin's comment is basically correct. *However* - you could
take your proposal forward by developing a set of tools (e.g.
documentation tools) that use your proposal. That way people have a
working implementation to use.

e.g. Tools to generate HTML TODO lists from source code

It would then be easier to integrate your ideas into existing IDEs.

Regards,

Fuzzy
http://www.voidspace.org.uk/python

Aug 11 '05 #3
In article <42************ **@v.loewis.de> ,
=?ISO-8859-1?Q?=22Martin_v =2E_L=F6wis=22? = <ma****@v.loewi s.de> wrote:
Micah Elliott wrote:

I also have this living as a wiki <http://tracos.org/codetag/wiki/Pep>
if people would like to add comments there. I might try to capture there
feedback from this group anyway. First try at a PEP -- thanks for any
feedback!


I think you somewhat misunderstood the purpose of the PEP process.
This is meant primarily for enhancements to Python (the language
and its library), and it is meant to save the PEP author from
implementing unagreeable functionality - if the PEP is accepted,
the PEP author is typically expected to implement the proposed
functionalit y (in many cases, having a draft implementation is
prerequisite to accepting it).

Both elements seem to be missing your document: it does not propose
changes to the Python language; instead, it proposes a specific
way of writing comments (ie. something that is not relevant to the
Python interpreter or libraries, only to the Python developer).
Also, there is no indication that you would like to implement
something for the PEP: what tool would you like to change in what
specific way?


However, it's also true that there are plenty of informational PEPs,
most notably PEP 8 (Python style guide). OTOH, it is also generally the
case that such PEPs codify existing practice rather than attempting to
create new practices (PEP 6 being a notable counter-example).
--
Aahz (aa**@pythoncra ft.com) <*> http://www.pythoncraft.com/

The way to build large Python applications is to componentize and
loosely-couple the hell out of everything.
Aug 11 '05 #4
On Thu, 11 Aug 2005 08:47:37 +0200,
Martin v. Löwis <ma****@v.loewi s.de> wrote:
I think you somewhat misunderstood the purpose of the PEP process.
This is meant primarily for enhancements to Python (the language
and its library), ...


PEP 0 disagrees:

PEP stands for Python Enhancement Proposal. A PEP is a design
document providing information to the Python community, or describing
a new feature for Python. The PEP should provide a concise technical
specification of the feature and a rationale for the feature.

...

There are two kinds of PEPs. A Standards Track PEP describes a new
feature or implementation for Python. An Informational PEP describes
a Python design issue, or provides general guidelines or information
to the Python community, but does not propose a new feature.

Most of PEP 0 is concerned with describing the workflow for Standards Track
PEPs, of course, but I guess there's not much to say for informational PEPs.
("Publish your PEP. Eventually, freeze the PEP and stop making changes to it."
would be about the sum of it.)

I think we need to encourage writing detailed specifications of interfaces
for the community's use, such as the WSGI interface (PEP 333, IIRC), so
using the PEP repository for this purpose is a good idea. If such things
are deemed off-topic for PEPs, then I think we should have a separate set of
documents for this (perhaps the suggested PEEPS: Python Environment
Enhancement Proposals).

--amk
Aug 11 '05 #5

""Martin v. Löwis"" <ma****@v.loewi s.de> wrote in message
news:42******** ******@v.loewis .de...
Both elements seem to be missing your document: it does not propose
changes to the Python language; instead, it proposes a specific
way of writing comments (ie. something that is not relevant to the
Python interpreter or libraries, only to the Python developer).
It is similar in this way and complementary to
http://www.python.org/peps/pep-0287.html
:reStructuredTe xt Docstring Format

However, that was only submitted after the specification and tool
development was much more advanced, a user community existed, and proposals
in hand to integrate with existing Python development mechanisms (pydoc and
PEPs). And indeed, it was adopted as an allowed PEP format and separately
for other things such as PyDev summaries.
Python has traditionally abstained from pushing unrelated technologies.
I remember that there was also opposition to simply 'endorsing' reST.
Instead, it integrates with the technologies people
find useful; in this spirit, I would rather like to see code tags
become popular on their own merits, and *then* perhaps integrating
support for it into IDLE could be considered.


The OP might also look for codetag usage in Python source (I know of XXX)
and produce a useful collation/reporting tool if there is not one already.

Terry J. Reedy

Aug 11 '05 #6
On Thu, 11 Aug 2005 08:47:37 +0200, =?ISO-8859-1?Q?=22Martin_v =2E_L=F6wis=22? = <ma****@v.loewi s.de> wrote:
Micah Elliott wrote:
I also have this living as a wiki <http://tracos.org/codetag/wiki/Pep>
if people would like to add comments there. I might try to capture there
feedback from this group anyway. First try at a PEP -- thanks for any
feedback!


I think you somewhat misunderstood the purpose of the PEP process.
This is meant primarily for enhancements to Python (the language
and its library), and it is meant to save the PEP author from
implementing unagreeable functionality - if the PEP is accepted,
the PEP author is typically expected to implement the proposed
functionalit y (in many cases, having a draft implementation is
prerequisite to accepting it).

Both elements seem to be missing your document: it does not propose
changes to the Python language; instead, it proposes a specific
way of writing comments (ie. something that is not relevant to the
Python interpreter or libraries, only to the Python developer).


Erm, (cough) PEP 263 specifies comment syntax ;-)

But I agree that the OP's proposal is not a core language matter.
Perhaps this is another PEEP candidate (i.e., a "Python Evironment Enhancement Proposal"
to put in a "PEEP" application/tools/environment-oriented clone of the PEP process).

Maybe a PEEP top page in the wiki with links to specific PEEPs could be a way to
try it out.

Regards,
Bengt Richter
Aug 11 '05 #7
Wow, thanks for all the quick responses!

Martin wrote:
the PEP author is typically expected to implement the proposed
functionality (in many cases, having a draft implementation is
prerequisite to accepting it).
Fuzzyman wrote: ...you could take your proposal forward by developing a set of tools
(e.g. documentation tools) that use your proposal. That way people
have a working implementation to use.
Yes, I'm working on that and should have some tools reasonably
functional within the next few months. I didn't want to commit a lot
of time to writing tools if no one showed interested in the proposed
conventions. Since no one is flaming the idea yet, I will get a
move-on. The five example tools (that have come to mind so far) which
I mentioned in the pre-pep were:

* Document Generator (glossary, roadmap, manpages, bug lists, etc.)

* Codetag History (useful for estimating, autopsy, etc.)

* Code Statistics (a project Health-O-Meter)

* Codetag Lint (aid in fixing almost-Codetags)

* Story Manager/Browser (graphical viewer for various potential
purposes)

I'd love to hear any other ideas.

Aahz and Terry wrote: it's also true that there are plenty of informational PEPs...
...It is similar in this way and complementary to reStructuredTex t
Docstring Format...
Right, that's why I thought the PEP process was appropriate for this,
like it was for restructuredtex t. This of course is much smaller
scale. I just want the proposal to live somewhere where I can get some
feedback. I haven't seen much in the way of "+/-" yet, but that's
fine since Codetags are not implemented/in use yet.

amk wrote: If such things are deemed off-topic for PEPs, then I think we should
have a separate set of documents for this (perhaps the suggested
PEEPS: Python Environment Enhancement Proposals).
Sounds great. Make it a PEEP! I couldn't find anything official about
PEEPs yet :-) I did create a link to PEEPs from the Front Page wiki.

Terry wrote: The OP might also look for codetag usage in Python source (I know of
XXX)
Great idea. I tried this some months ago and this was one of the
things that justified the idea. For some cursory stats:

$ csrcs=$(find ~/archive/Python-2.4.1 -name *.c)
$ for tag in XXX FIXME TODO BUG HACK IDEA NOTE RFE; do echo -n "$tag: "; grep $tag $csrcs |wc -l
done XXX: 376
FIXME: 11
TODO: 12
BUG: 109
HACK: 0
IDEA: 0
NOTE: 32
RFE: 0
$
$ pysrcs=$(find /usr/lib/python2.3/ -maxdepth 2 -name '*.py')
$ for tag in XXX FIXME TODO BUG HACK IDEA NOTE RFE; do echo -n "$tag: "; grep $tag $pysrcs |wc -l
done

XXX: 457
FIXME: 10
TODO: 57
BUG: 149
HACK: 0
IDEA: 0
NOTE: 50
RFE: 0

So I guess I'll now ask for ongoing feedback on the PEEP wiki site.
I'm happy to wait for that feedback while the toolsmithing gets
underway. Maybe a PEEP process discussion is warranted for another
c.l.py thread.

--
Micah Elliott

Aug 12 '05 #8
Bengt Richter wrote:
Both elements seem to be missing your document: it does not propose
changes to the Python language; instead, it proposes a specific
way of writing comments (ie. something that is not relevant to the
Python interpreter or libraries, only to the Python developer).

Erm, (cough) PEP 263 specifies comment syntax ;-)


Indeed. However, it turns out that the syntax *is* relevant to
the Python interpreter. So despite it looking like a comment, it is
not.

I personally had wished if it would have been proper syntax (and
had proposed PEP 244 in that direction), however, the BDFL rejected
that idea an preferred a comment-like syntax.

Regards,
Martin
Aug 12 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

21
10226
by: Headless | last post by:
I've marked up song lyrics with the <pre> tag because it seems the most appropriate type of markup for the type of data. This results in inefficient use of horizontal space due to UA's default rendering of <pre> in a fixed width font. To change that I'd have to specify a proportional font family, thereby falling into the size pitfall that is associated with any sort of author specified font family: a) If I specify a sans serif font...
7
18537
by: Alan Illeman | last post by:
How do I set several different properties for PRE in a CSS stylesheet, rather than resorting to this: <BODY> <PRE STYLE="font-family:monospace; font-size:0.95em; width:40%; border:red 2px solid; color:red;
2
2790
by: Buck Turgidson | last post by:
I want to have a css with 2 PRE styles, one bold with large font, and another non-bold and smaller font. I am new to CSS (and not exactly an expert in HTML, for that matter). Is there a way to do this in CSS? <STYLE TYPE="text/css"> pre{ font-size:xx-large;
5
718
by: Michael Shell | last post by:
Greetings, Consider the XHTML document attached at the end of this post. When viewed under Firefox 1.0.5 on Linux, highlighting and pasting (into a text editor) the <pre> tag listing will preserve formatting (white space and line feeds). However, this is not true when doing the same with the <code> tag listing (it will all be pasted on one line with multiple successive spaces treated as a single space) despite the fact that...
8
3804
by: Jarno Suni not | last post by:
It seems to be invalid in HTML 4.01, but valid in XHTML 1.0. Why is there the difference? Can that pose a problem when such a XHTML document is served as text/html?
7
2752
by: Rocky Moore | last post by:
I have a web site called HintsAndTips.com. On this site people post tips using a very simply webform with a multi line TextBox for inputing the tip text. This text is encode to HTML so that no tags will remain making the page safe (I have to convert the linefeeds to <BR>s because the Server.EncodeHTML does not do that it seems). The problem is that users can use a special tag when editing the top to specify an area of the tip that will...
9
5551
by: Eric Lindsay | last post by:
I can't figure how to best display little snippets of shell script using <pre>. I just got around to organising to bulk validate some of my web pages, and one of the problems occurs with Bash shell pieces like this: <pre><code> #!/bin/sh ftp -i -n ftp.server.com&lt; &lt;EOF user username password epsv4 cd /
23
3650
by: Xah Lee | last post by:
The Concepts and Confusions of Pre-fix, In-fix, Post-fix and Fully Functional Notations Xah Lee, 2006-03-15 Let me summarize: The LISP notation, is a functional notation, and is not a so-called pre-fix notation or algebraic notation. Algebraic notations have the concept of operators, meaning, symbols placed around arguments. In algebraic in-fix notation, different
14
3633
by: Schraalhans Keukenmeester | last post by:
I am building a default sheet for my linux-related pages. Since many linux users still rely on/prefer viewing textmode and unstyled content I try to stick to the correct html tags to pertain good readibility on browsers w/o css-support. For important notes, warnings etc I use the <pre> tag, which shows in a neat bordered box when viewed with css, and depending on its class a clarifying background-image is shown. I would like the...
0
9685
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9533
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10461
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10239
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10190
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7555
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6796
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5447
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3736
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.