Formerly of team Bell Labs.
F
It was very sad to hear. I trust everyone here knows who Dennis Ritchie
was,
Just in case there is someone who doesn't know:
- Creator of the C programming language.
- Co-creator of the Unix operating system
- Co-author of "The C Programming Language" (ComputerReich's
greatest textbook)
Also sad to see, while Steve Jobs' death got front page treatment, the
mainstream press seems to have ignored the death of a man who arguably
had an exponentially greater impact on the computer industry than Mr. Jobs.
I fucking hate 'C'. Real men program in Pascal and assembler.
--
A good programmer can write FORTRAN in any language!
A friend of mine once told me that you get what you want. If he's a
standard nerd, Ritchie wanted the respect of his peers and a source of
income to support his hacking and he certainly got those. Steve Jobs
also got what he wanted, he got more talented people to do his bidding
and he got the respect of people who don't know any better.
-ilan
Here's some of Davey's COBOL :)
A quick port to run on a windoze box
/******************************************************************************/
/******************************************************************************/
/** **/
/******************** **/
/** gl_acctadd.cpp * **/
/******************** **/
/** **/
/** Copyright (c) Davey Crockett 1982-2011 **/
/** **/
/** Licensed under GNU General Public License **/
/** **/
/** This program is free software; you can redistribute it and/or modify **/
/** it under the terms of the GNU General Public License as published by **/
/** the Free Software Foundation; either version 2 of the License, or **/
/** (at your option) any later version. **/
/** **/
/** This program is distributed in the hope that it will be useful, **/
/** but WITHOUT ANY WARRANTY; without even the implied warranty of **/
/** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **/
/** GNU General Public License for more details. **/
/** **/
/** **/
/** Please refer to the file 'Copying.doc' which was included **/
/** in the distribution package. **/
/** **/
/** Please read 'Copying.doc' as it sets out your Rights and **/
/** Responsibilities. **/
/** **/
/** If the file 'Copying.doc' was not provided by the distributor **/
/** of the CA-General Ledger programme, please contact: **/
/** Free Software Foundation, Inc. **/
/** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA **/
/** **/
/******************************************************************************/
/******************************************************************************/
/* Adds an Account to a Company DataBase
It is i_CallingFunction 10 when passed to
other functions */
//////////////////////
//////// Include Files
//////////////////////
#include <windows.h>
#include "gl_main.h"
#include <mysql.h>
//////////////////////
///////////Definitions
//////////////////////
#define QCONT strcat ( szSQL_query, "','") // CONTinue constructing Query String
#define QEND strcat ( szSQL_query, "')") // END constructing Query String
#define QUERY mysql_query ( g_stMysql, szSQL_query ) // Send Query to Server
#define QFREE mysql_free_result( res ) // Free Query results
#define ENDD EndDialog ( hwnd, IDOK ) // END Dialog
#define QSTORE res = mysql_store_result ( g_stMysql ) // STORE Query results
#define QFETCH row = mysql_fetch_row ( res ) // FETCH a row
/////////////////////
// External Functions
/////////////////////
extern void glMessage ( int i_Condition, int i_CallingFunction, int i_ItemNo ); // (in file gl_message.cpp)
extern int glAcctTestNo ( char* sz_AccountNo, int i_CallingFunction ); // (in file gl_AcctTestNo.cpp)
//////////////////////
/// External Variables
//////////////////////
extern char g_szCurrentCorpID [ 11 ]; // Variable to hold currently selected Company ID
extern char g_szNextTrx [ 7 ]; // Variable for Next Trx No. of currently selected Company
extern MYSQL * g_stMysql; // The MySQL Structure for CA-GL
//////////////////////
/////////// Prototypes
//////////////////////
void glAcctAdd ( HWND );
BOOL CALLBACK ACCT_ADD_DlgProc ( HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam );
BOOL CALLBACK ACCT_ADDOPTB_DlgProc ( HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam );
//////////////////////////////////////
/////////// glAcctAdd Implementation
//////////////////////////////////////
void glAcctAdd ( HWND hwnd )
{
//////////////////////
////// Local Variables
//////////////////////
int iReturnValue = 0 ; // Variable to hold return values
// Test for an Open Company (FAIL NOT OPEN)
if ( strlen ( g_szCurrentCorpID ) == 0 )
{
glMessage(9901,10,0);
return;
}
// Open appropriate Dialog Box based on 'Init' status
if ( strcmp ( "0", g_szNextTrx ) == 0 )
{ // permit opening TB amounts if Company not initialized
iReturnValue = DialogBox ( GetModuleHandle ( NULL ),
MAKEINTRESOURCE ( IDD_ACCT_ADDOPTB_DLG), hwnd, ACCT_ADDOPTB_DlgProc );
if ( iReturnValue == -1 )
glMessage(11004,10,0); // IDD_ACCT_ADDOPTB_DLG Dialog failed
}
else
{ // permit only Account Name and Number if Company initialized
iReturnValue = DialogBox ( GetModuleHandle ( NULL ),
MAKEINTRESOURCE ( IDD_ACCT_ADD_DLG ), hwnd, ACCT_ADD_DlgProc );
if ( iReturnValue == -1 )
glMessage(11005,10,0); // IDD_ACCT_ADD_DLG Dialog failed
}
return;
}
/////////////////////////////////////
/////////// CALLBACK FOR ACCT_ADDOPTB
/////////////////////////////////////
BOOL CALLBACK ACCT_ADDOPTB_DlgProc ( HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam )
{
//////////////////////
////// Local Variables
//////////////////////
MYSQL_RES * res;
MYSQL_ROW row;
char szSQL_query [ 400 ]; // Variable to hold MySQL Query
char szCurrentDate [ 12 ]; // Variable to hold Current Date
char szAccount_no [ 8 ];
char szAccount_name [ 21 ];
char szCurrent_trx [ 18 ];
// Set Current Date
strcpy( szSQL_query, "SELECT CURRENT_DATE" );
if ( ! QUERY )
{
QSTORE;
QFETCH; // There is only one Row returned for this Query
strcpy ( szCurrentDate, row [ 0 ] );
}
QFREE;
switch ( Message )
{
case WM_INITDIALOG:
SendMessage ( hwnd, WM_SETICON, ICON_SMALL, ( LPARAM ) LoadIcon ( GetModuleHandle ( NULL ), MAKEINTRESOURCE (IDI_CA_ICON ) ) );
SendMessage ( hwnd, WM_SETICON, ICON_BIG, ( LPARAM ) LoadIcon ( GetModuleHandle ( NULL ), MAKEINTRESOURCE ( IDI_CA_ICON ) ) );
SetDlgItemText ( hwnd, IDC_ACCTADDOPTB_ACCTNO_DAT, "" );
SetDlgItemText ( hwnd, IDC_ACCTADDOPTB_ACCTNAME_DAT, "" );
SetDlgItemText ( hwnd, IDC_ACCTADDOPTB_AMOUNT_DAT, "0.00" );
mysql_select_db ( g_stMysql, g_szCurrentCorpID );
return TRUE;
case WM_COMMAND:
switch ( LOWORD ( wParam ) )
{
case IDOK: // read out data and append to 'accts'
GetDlgItemText ( hwnd, IDC_ACCTADDOPTB_ACCTNO_DAT, szAccount_no, 8 );
GetDlgItemText ( hwnd, IDC_ACCTADDOPTB_ACCTNAME_DAT, szAccount_name, 21 );
GetDlgItemText ( hwnd, IDC_ACCTADDOPTB_AMOUNT_DAT, szCurrent_trx, 18 );
// ADD ACCOUNTS: Test validity of Account Number
if ( glAcctTestNo ( szAccount_no, 10 ) == 0 )
{
SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADDOPTB_ACCTNO_DAT ) );
break;
}
// ADD ACCOUNTS: account without name entered
if ( strlen ( szAccount_name ) == 0 )
{
glMessage(9902,10,0);
SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADDOPTB_ACCTNAME_DAT ) );
break;
}
// Read Capital Account values into 'accts' table (accounts)
strcpy ( szSQL_query, "INSERT INTO accts VALUES ('" );
strcat ( szSQL_query, szAccount_no ); QCONT; // number
strcat ( szSQL_query, szAccount_name ); QCONT; // name
strcat ( szSQL_query, "0.00" ); QCONT; // balfwd
strcat ( szSQL_query, szCurrent_trx ); QCONT; // currtrx
strcat ( szSQL_query, "Active" ); QCONT; // status
strcat ( szSQL_query, szCurrentDate ); QCONT; // activated
strcat ( szSQL_query, "0000-00-00" ); QEND; // deactivated
if ( QUERY )
if ( strncmp ( mysql_error ( g_stMysql ), "Duplicate", 9 ) == 0 )
{
glMessage(9903,10,0);
SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADDOPTB_ACCTNO_DAT ) );
}
else
{
MessageBox ( NULL, mysql_error ( g_stMysql ), "Add Accounts - Unexpected Error", MB_OK | MB_ICONINFORMATION );
ENDD;
}
else
{
SetDlgItemText ( hwnd, IDC_ACCTADDOPTB_ACCTNO_DAT, "" );
SetDlgItemText ( hwnd, IDC_ACCTADDOPTB_ACCTNAME_DAT, "" );
SetDlgItemText ( hwnd, IDC_ACCTADDOPTB_AMOUNT_DAT, "" );
SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADDOPTB_ACCTNO_DAT ) );
}
break;
case IDCANCEL:
ENDD;
break;
}
break;
default:
return FALSE;
}
return TRUE;
}
/////////////////////////////////
/////////// CALLBACK FOR ACCT_ADD
/////////////////////////////////
BOOL CALLBACK ACCT_ADD_DlgProc ( HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam )
{
//////////////////////
////// Local Variables
//////////////////////
MYSQL_RES * res;
MYSQL_ROW row;
char szSQL_query [ 400 ]; // Variable to hold MySQL Query
char szCurrentDate [ 12 ]; // Variable to hold Current Date
char szAccount_no [ 8 ];
char szAccount_name [ 21 ];
// Set Current Date
strcpy( szSQL_query, "SELECT CURRENT_DATE" );
if ( ! mysql_real_query(g_stMysql, szSQL_query, 19 ) )
{
QSTORE;
QFETCH; // There is only one Row returned for this Query
strcpy( szCurrentDate, row [ 0 ] );
}
QFREE;
switch ( Message )
{
case WM_INITDIALOG:
SendMessage ( hwnd, WM_SETICON, ICON_SMALL, ( LPARAM ) LoadIcon ( GetModuleHandle ( NULL ), MAKEINTRESOURCE ( IDI_CA_ICON ) ) );
SendMessage ( hwnd, WM_SETICON, ICON_BIG, ( LPARAM ) LoadIcon ( GetModuleHandle ( NULL ), MAKEINTRESOURCE ( IDI_CA_ICON ) ) );
SetDlgItemText ( hwnd, IDC_ACCTADD_ACCTNO_DAT, "" );
SetDlgItemText ( hwnd, IDC_ACCTADD_ACCTNAME_DAT, "" );
mysql_select_db ( g_stMysql, g_szCurrentCorpID );
return TRUE;
case WM_COMMAND:
switch ( LOWORD ( wParam ) )
{
case IDOK: // read out data and append to 'accts'
GetDlgItemText ( hwnd, IDC_ACCTADD_ACCTNO_DAT, szAccount_no, 8 );
GetDlgItemText ( hwnd, IDC_ACCTADD_ACCTNAME_DAT, szAccount_name, 21 );
// ADD ACCOUNTS: Test validity of Account Number
if ( glAcctTestNo ( szAccount_no, 10 ) == 0 )
{
SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADDOPTB_ACCTNO_DAT ) );
break;
}
// ADD ACCOUNTS: account without name entered
if ( strlen ( szAccount_name ) == 0 )
{
glMessage(9902,10,0); SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADDOPTB_ACCTNAME_DAT ) );
break;
}
// Read Acount values into 'accts' table (accounts)
strcpy ( szSQL_query, "INSERT INTO accts VALUES ('" );
strcat ( szSQL_query, szAccount_no ); QCONT; // number
strcat ( szSQL_query, szAccount_name ); QCONT; // name
strcat ( szSQL_query, "0.00" ); QCONT; // balfwd
strcat ( szSQL_query, "0.00" ); QCONT; // currtrx
strcat ( szSQL_query, "Active" ); QCONT; // status
strcat ( szSQL_query, szCurrentDate ); QCONT; // activated
strcat ( szSQL_query, "0000-00-00" ); QEND; // deactivated
if ( QUERY )
if ( strncmp ( mysql_error ( g_stMysql ), "Duplicate", 9 ) == 0 )
{
glMessage(9903,10,0);
SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADD_ACCTNO_DAT ) );
}
else
{
MessageBox ( NULL, mysql_error ( g_stMysql ), "Add Accounts - Unexpected Error", MB_OK | MB_ICONINFORMATION );
ENDD;
}
else
{
SetDlgItemText ( hwnd, IDC_ACCTADD_ACCTNO_DAT, "" );
SetDlgItemText ( hwnd, IDC_ACCTADD_ACCTNAME_DAT, "" );
SetFocus ( GetDlgItem ( hwnd, IDC_ACCTADD_ACCTNO_DAT ) );
}
break;
case IDCANCEL:
ENDD;
break;
}
break;
default:
return FALSE;
}
return TRUE;
strong typing is for weak minds...
Ritchie (and a few others) grew the apples that Jobs polished.
Jim
--
Jim
Jim Feeley
POV Media
> Davey Crockett <r...@azurservers.com> wrote:
>
> > Fred Flintstein a écrit profondement:
> >
> > | On 10/12/2011 11:04 PM, Davey Crockett wrote:
> > | > I just heard that, after a long illness, Dennis Ritchie (dmr) died at
> > | > home this last weekend.
> >>
> > | Formerly of team Bell Labs.
> >
> > It was very sad to hear. I trust everyone here knows who Dennis Ritchie
> > was,
> >
> > Just in case there is someone who doesn't know:
> >
> > - Creator of the C programming language.
> > - Co-creator of the Unix operating system
> > - Co-author of "The C Programming Language" (ComputerReich's
> > greatest textbook)
> >
> > Also sad to see, while Steve Jobs' death got front page treatment, the
> > mainstream press seems to have ignored the death of a man who arguably
> > had an exponentially greater impact on the computer industry than Mr. Jobs.
>
> Ritchie (and a few others) grew the apples that Jobs polished.
de mortuis nil nisi bonum dicendum est
Of the dead, speak nothing unless good
--
Old Fritz
You must be searching for clojure.
| > Davey Crockett <r...@azurservers.com> wrote:
| >
| > > Fred�Flintstein�a��crit�profondement:�
| > > �
| > > |�On�10/12/2011�11:04�PM,�Davey�Crockett�wrote:�
| > > |�>�I�just�heard�that,�after�a�long�illness,�Dennis�Ritchie�(dmr)�died�at�
| > > |�>�home�this�last�weekend.�
| > >>�
| > > |�Formerly�of�team�Bell�Labs.�
| > > �
| > > It�was�very�sad�to�hear.�I�trust�everyone�here�knows�who�Dennis�Ritchie�
| > > was,�
| > > �
| > > Just�in�case�there�is�someone�who�doesn't�know:�
| > > �
| > > -�Creator�of�the�C�programming�language.�
| > > -�Co-creator�of�the�Unix�operating�system�
| > > -�Co-author�of�"The�C�Programming�Language"�(ComputerReich's�
| > > greatest�textbook)�
| > > �
| > > Also�sad�to�see,�while�Steve�Jobs'�death�got�front�page�treatment,�the�
| > > mainstream�press�seems�to�have�ignored�the�death�of�a�man�who�arguably�
| > > had�an�exponentially�greater�impact�on�the�computer�industry�than�Mr.�Jobs.�
| >
| > Ritchie (and a few others) grew the apples that Jobs polished.
>
| de mortuis nil nisi bonum dicendum est
| Of the dead, speak nothing unless good
Ille dolet vere, qui sine teste dolet
Davey Crockett wrote:
> Ille dolet vere, qui sine teste dolet
Englishway easeplay.
ooglegay:
"He truly grieves who grieves when none is there". Goes in the
"Praying in Public" basket.
I heard Jobs gave some of The Money to his illegitimate (human)
offspring.
That's the best I can do, and I had to make it up.
"Admire the works, not the man". Even there, ya gotta be picky! Such
is life.
"I'm a Mac".
--D-y
I want one of these.
http://www.bicycles.net.au/Road-Cycling-News-and-Articles.62.0.html?&cHash=f31304a492&tx_cmarticle_pi1[singleID]=1043
Did your friend say what the likely period between wanting and delivery is and
should I be holding my breath?
--
--
Seems to be the square bracket that does it.
--
He said with a pronounced lisp.
--
Illegitimate...? Interesting that you hit that particular lob.
What's your take, that it's a surprise that a California Buddhist boy
from the 70's didn't get married before popping one into the oven? Or
that someone whose parents gave him away for adoption wasn't so big on
the whole marriage thing? Maybe that the concept of illegitimate,
that everso useful way of protecting the inheritable lineage, is still
a laudable label in the age of easy and cheap DNA testing? Something
else?
R
> Frederick the Great a écrit profondement:
>
> | > Davey Crockett <r...@azurservers.com> wrote:
> | >
> | > > Fred Flintstein a écrit profondement:
> | > >
> | > > | On 10/12/2011 11:04 PM, Davey Crockett wrote:
> | > > | > I just heard that, after a long illness, Dennis Ritchie (dmr) died at
> | > > | > home this last weekend.
> | > >>
> | > > | Formerly of team Bell Labs.
> | > >
> | > > It was very sad to hear. I trust everyone here knows who Dennis Ritchie
> | > > was,
> | > >
> | > > Just in case there is someone who doesn't know:
> | > >
> | > > - Creator of the C programming language.
> | > > - Co-creator of the Unix operating system
> | > > - Co-author of "The C Programming Language" (ComputerReich's
> | > > greatest textbook)
> | > >
> | > > Also sad to see, while Steve Jobs' death got front page treatment, the
> | > > mainstream press seems to have ignored the death of a man who arguably
> | > > had an exponentially greater impact on the computer industry than Mr. Jobs.
> | >
> | > Ritchie (and a few others) grew the apples that Jobs polished.
> >
> | de mortuis nil nisi bonum dicendum est
> | Of the dead, speak nothing unless good
>
> Ille dolet vere, qui sine teste dolet
Yes, I got that the first time.
--
Old Fritz
Let's not overreact to the fact that it often takes a newspaper
a couple of days to publish an obit.
http://www.nytimes.com/2011/10/14/technology/dennis-ritchie-programming-trailblazer-dies-at-70.html
Jobs was a well-known public figure and also known to be
very ill, so they had something in print (undoubtedly
prepared beforehand) right away.
Ilan, your insight (that both men got what they wanted)
was fine without adding meaningless potshots at Jobs.
Jobs made consumer products, Ritchie invented the
engines under the hood, it's no surprise Jobs was known
to more people.
Many people, and possibly especially academics,
underestimate the value of good project management
(which is sort of by definition getting other people to do
the work for you).
RIP,
Fredmaster Ben
Simply Fred wrote:
>> You must be searching for clojure.
atriage wrote:
> He said with a pronounced lisp.
Its not about the parenthesis.