Now you're Doin' the Vatican Rag!
Everything Else
Hell actually exists, proofs of existence, the computer science is not a safe place, Gcc attempts your soul - Page 3
so if the worst comes to the worst:
php a fractal of bad design
, perhaps the worst ever.
have fun
ivelegacy wrote: so if the worst comes to the worst: php a fractal of bad design , perhaps the worst ever.
A riveting read! Excellent breakdown of why people should not learn or code PHP. Back in 2003 friends already dissuaded me from programming that turd since they had "issues" with it, and even with Zend fixing stuff it's not really pleasant. (built PhP with threading and using it on a non-threaded apache? Goodbye to two days on debugging that flaw )
I deployed several applications on my webserver at work: PDF document server, Email frontend (Horde /Imp) and Calendars (WebCalendar), all PHP with modifications or homebrew.
Handed over to server department and other coworkers 5 years ago, and been running from their support pleads ever since.
I'll use PHP for a quick-and-dirty way to dike out common code on a webpage into separate files, but yeah, I shudder to think of people actually building
applications
in it...
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/Jupiter-6/D-50/MT-32/SC-55k, Ensoniq SQ-80/Mirage, Yamaha DX7/V-50/FB-01, Korg DW-8000/03-RW/MS-20 Mini, E-mu Proteus MPS/Proteus/2, Rhodes Chroma Polaris
"'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
Synthesizers: Roland JX-10/Jupiter-6/D-50/MT-32/SC-55k, Ensoniq SQ-80/Mirage, Yamaha DX7/V-50/FB-01, Korg DW-8000/03-RW/MS-20 Mini, E-mu Proteus MPS/Proteus/2, Rhodes Chroma Polaris
"'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
ivelegacy wrote: Interesting languages and books
- ADA & Protected Objects
- Modula3
- RUST
- Concurrent Euclid, Addison Wesley Computer-Science
let's add an other great coin to the list!
- Erlang!
Github is partially implemented in Erlang && The "great strange thing" about Erlang is the message passing model for parallelism and the "let it fail" philosophy
I guess Erlang will become very relevant in the near future with cpus with hundreds of cores, also I think it's a good language for fpga soft cores, this because in Erlang you build lots of independent processes that communicate sending messages. No locks, no shared memory, no semaphores, no contention. That's also how hardware works or should work. There is no globally shared data. If you want/need globally shared data, give it to a process and communicate with it with messages. Make a server, and when a process starts another, it can "ask the system" for a message when the created process "crashes". So you can have very easily an hierarchy of "supervisor" processes watching "workers" and restarting them when one "dies".
As far as I understood, It may not suitable for the "embedded" side near the sensors, but if you need to connect hundreds or thousands of embedded systems, or clients or whatever, you better look into Erlang!
Nice to know
~~~~~~~~ going back to the C language ~~~~~~~~
well … until GCC 4.6.3, compiler built-ins for atomic operations were a pure compiler extension, and in GCC they were grouped into the __sync_* family of functions (it means problems, a lot!), while as of version 4.7.0, both the new C++11 and the C11 standards had been finalized, and GCC updated their atomic built-ins to better reflect the new memory model of those two new language revisions. The new functions are grouped into the __atomic_* family.
(the older built-ins are still available, for legacy purposes)
have fun
Wings3D
is written in Erlang!
Project:
Temporarily lost at sea...
Plan:
World domination! Or something...
Temporarily lost at sea...
Plan:
World domination! Or something...
vishnu wrote: Wings3D is written in Erlang!
We have a thread for Wings3D and Erlang back in the days: viewtopic.php?f=11&t=1709
I've always thought of Erlang as a weird corner case language but according to ivelegacy it's the
Way of the Future,
who knew?
Well, apparently he did...
Project:
Temporarily lost at sea...
Plan:
World domination! Or something...
Temporarily lost at sea...
Plan:
World domination! Or something...
A gentleman has
warned me about
: don't do it, you are still in time, stop your maleficent plan … too late, sir
I am coding a similC interpreter & I have redefined the grammar in a strictly-schoolmarm way
look at the above code, I haven't implemented the semantical part, just (a part of) the syntax tree
Schoolmarm' rules
that's all, for the moment, but … the SafeC Schoolmarm used to drink Conium Maculatum (Aka Cicuta) for her tea break
don't call her "poison-schoolmarm"
oh men, I am afraid that I have been writing worst wicked witch ever
Code: Select all
/*
* this is a comment
*/
/*
* // this kind of comment is not accepted
* // sync_val_compare_and_swap
*/
/*
this is ADA: does it look nicer than C ?
procedure Example is
X: array (Integer range 1..5) of Integer;
begin
for I in X'Range loop
X(I) := I;
end loop;
end Example;
*/
private uint32_t my_var1;
private uint32_t my_var2;
public boolean_t is_ok;
private char_t hAllo;
private char_t msg1[]="hAllo";
private char_t msg2[10];
public uint32_t ciao;
private boolean_t is_ok()
{
}
/*
* hallo
*/
/*
// hAllo again
*/
private void_t hallo1
(
p_my_t InOut p_my
)
{
}
private void_t hallo2
(
p_my_t In p_my
)
{
while (False)
{otherwise
;
}
}
private uint32_t my_var1;
public typedef struct
{
{
{
}
}
} my_t;
I am coding a similC interpreter & I have redefined the grammar in a strictly-schoolmarm way
look at the above code, I haven't implemented the semantical part, just (a part of) the syntax tree
Schoolmarm' rules
- a type MUST ends with "_t", otherwise a syntax error is issued
- a pointer MUST begins with "p_", otherwise a syntax error is issued
- a function MUST have its parameters in the form TYPE DATADIR VARNAME, where DATADIR = { In, Out, InOut }, otherwise a syntax error is issues
- comments MUST be in the form /* … */, the // form is banned
- every while && if/else statement MUST be followed by a block { … } otherwise a syntax error is issues
- everything MUST be explicitly declared "private" or "public", there are NO includes (#include ".."), everything is automatically built using a db, and this is a part of the language (auto interfaces)
that's all, for the moment, but … the SafeC Schoolmarm used to drink Conium Maculatum (Aka Cicuta) for her tea break
don't call her "poison-schoolmarm"
oh men, I am afraid that I have been writing worst wicked witch ever
have fun
Bummer, I love //
btw is this just for fun, or are you getting paid to do this? the stuff you listed only needs a parser to kick out errors, so why the interpreter too? maybe I missed something.
btw is this just for fun, or are you getting paid to do this? the stuff you listed only needs a parser to kick out errors, so why the interpreter too? maybe I missed something.
DECUS Member 368596
Ada is rather verbose with many "noise chars" that seem redundant. It does have a nicer type system that can explicitly define upper and lower bounds. VHDL was based on Ada.
ivelegacy wrote: that's all, for the moment, but … the SafeC Schoolmarm used to drink Conium Maculatum (Aka Cicuta) for her tea break
don't call her "poison-schoolmarm"
oh men, I am afraid that I have been writing worst wicked witch ever
I prefer C99, she's much more interesting and fun. Willing to go along with absolutely anything you can explain to her
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/Jupiter-6/D-50/MT-32/SC-55k, Ensoniq SQ-80/Mirage, Yamaha DX7/V-50/FB-01, Korg DW-8000/03-RW/MS-20 Mini, E-mu Proteus MPS/Proteus/2, Rhodes Chroma Polaris
"'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
Synthesizers: Roland JX-10/Jupiter-6/D-50/MT-32/SC-55k, Ensoniq SQ-80/Mirage, Yamaha DX7/V-50/FB-01, Korg DW-8000/03-RW/MS-20 Mini, E-mu Proteus MPS/Proteus/2, Rhodes Chroma Polaris
"'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
robespierre wrote: Ada is rather verbose with many "noise chars" that seem redundant. It does have a nicer type system that can explicitly define upper and lower bounds. VHDL was based on Ada.
VHDL was hell to write anything in. Verilog was much easier.
DECUS Member 368596
skywriter wrote: Bummer, I love //
Geany (the IDE) also loves //, but it's banned by MISRA-C-95
skywriter wrote: btw is this just for fun, or are you getting paid to do this?
Yes, I am payed(2) to develop a C checker = { MISRA-95 + MIL+STD + DO178B}(3) & an a few other tools(1), and in order to develop such a tool I need to learn a bit of things
I am studying a few books, and exercising with a few toys, but I can recycle the code
e.g. the lib_tokener is almost completed, and will be used in the production tool, while the SchoolMarm is just a "learning toy"
(1) dead code checker & inter module-dependencies
(2) unfortunately not as "consultant", so I will be paid for the final product, without caring about the effort in term of how many hours
(3) the reason why is the funniest part of this story: my tool can't be used to validate anything (because nobody has validated it), but! The official tool has just 2 licenses, and the dev squad is composed by a lot of guys, that means they looks like the "Dining philosophers problem" by Edsger Dijkstra where there are N users with M resources, with N >> M, so in order to solve it, my boss has asked me to develop a tool to let them to check their code without the need of accessing the official-C-checker, so they will use my tool during the development phase, and then to validate everything in one shot with the official one (2 guys per time). Funny Avionics World
edit:
syntax error fixed
I wish I could enter into the
vegetable garden
of
William Gibson
, on the right of a director, to decide how a film is ultimately released for public viewing, but I am not a nor
Cyberpunk writer
neither a dude in
Hollywood
, and my English still looks like an old rusty trailer which needs a fix-up, so my personal
wonderland
begins with a pill ... tumbling down the
rabbit hole
, where the sky above the router port is the color of television, tuned to a dead channel and some gears still need a debugger there.
1) OK, those are beyond a parser.
2) It really is spelled 'paid'.
3) I've seen worse organizations. But, if you can laugh about it, then you're out of harms way. :-)
2) It really is spelled 'paid'.
3) I've seen worse organizations. But, if you can laugh about it, then you're out of harms way. :-)
DECUS Member 368596
robespierre wrote: Ada is rather verbose with many "noise chars" that seem redundant. It does have a nicer type system that can explicitly define upper and lower bounds. VHDL was based on Ada.
yeah, and let me say: I like VHDL
(also my poor soft core likes the VHDL, whenever I promise to complete it …
… can I invent a cloning machine in order to get a few copies of me
in order to complete all my wicked plans ? seriously tempted)
I wish I could enter into the
vegetable garden
of
William Gibson
, on the right of a director, to decide how a film is ultimately released for public viewing, but I am not a nor
Cyberpunk writer
neither a dude in
Hollywood
, and my English still looks like an old rusty trailer which needs a fix-up, so my personal
wonderland
begins with a pill ... tumbling down the
rabbit hole
, where the sky above the router port is the color of television, tuned to a dead channel and some gears still need a debugger there.
skywriter wrote: those are beyond a parser
every trip begins with a foot step, I am currently involved into a syntax checker, while the next step will involve a full parser
e.g. no multi return in a function, no casting, check if a data respects its DataDir { In, Out, InOut }, etc etc etc
The rabbit hole goes deeper than you can imagine: just a few days ago (and confirmed by email 5 minutes ago) I was told that there is step3 of the wicked plan.
So everything begins with a simple syntax checker, and now it ought implement a real simil-C interpreter for an Ethernet debugger
oh man, the story goes funnier!
There is a similar product made by Windriver, and (probably due to the fact that it costs more than I can imagine, which is really too much) my boss wants to clone in order to have the full control. Windriver && Green Hills dudes sell these kins of debuggers, but you have what you pay, they sell just the bare debugger, if you want the scriptable engine (which is physically an add on) you have to pay as extra feature, and it costs a lot, and if you need to customize it will double the cost.
Hell knows why this must be the case: he has explained that a customization is needed, and they need a lot of these toys for the production, while they do not need a certified for such a purpose. Funny guys, they want to save a part of their money, and here we go.
So, since then, my boss has been thinking about my simile-C interpreter, pointing out all the good things out of the box IF it should run into an embedded box, arm-m4-driven and bare metal (developped with Keil ucVision), with a bandwidth of 20Mbyte/sec through a DMA & usb bulk driven combined methods (probably with an external USB 2 chip, I have to check their project files) and able to follow the debugger tap instruction (this part is implemented as TAP inside the PowerPC chip) in order to handle the low level of the debug interface
practically
- code injection
- flash programming
- flash reading
- hw breakpoints
- hw watchpoints
- stack trackers
- ram viewer
- bus error trappers
- not invasive
all of these "features" are planned for a PPC4xx line (which already implement a jtag port), already developed by a squad they have (lucky I am, all those parts would be too complex for me in term of several order of magnitude), but there is no product because they miss the user interface, and here we go trying to export to the user through a scriptable engine which looks like a C interpreter: "it's good when you have to write testing scripts" - he said. Which is ok, alright, and why on the why do you also want to put the "poison-schoolmarm" into a debugger ?
The science doesn't know What the Frog is beyond the motivation
I wish I could enter into the
vegetable garden
of
William Gibson
, on the right of a director, to decide how a film is ultimately released for public viewing, but I am not a nor
Cyberpunk writer
neither a dude in
Hollywood
, and my English still looks like an old rusty trailer which needs a fix-up, so my personal
wonderland
begins with a pill ... tumbling down the
rabbit hole
, where the sky above the router port is the color of television, tuned to a dead channel and some gears still need a debugger there.
You need a project manager that can say NO to changes.
I've had to work with a lot of in-house tools in my days, they were the worst (no offense), because stuff was added willy-nilly, nothing looked or acted the same between tools, lots on incompatibility problems due to incomplete specifications, and lastly arrogant developers that thought they were right. Don't go there, you won't earn any respect. Sorry if I'm preaching I don't know how long you've been in the business.
I've had to work with a lot of in-house tools in my days, they were the worst (no offense), because stuff was added willy-nilly, nothing looked or acted the same between tools, lots on incompatibility problems due to incomplete specifications, and lastly arrogant developers that thought they were right. Don't go there, you won't earn any respect. Sorry if I'm preaching I don't know how long you've been in the business.
DECUS Member 368596
I guess the problem is the cost, plus other problem with the EXEC manager, for example the QaC-tool costs too much (in several orders of magnitude), and they do not want to buy all the licenses for all the squad dudes (~ 40 dudes), so, they have bought just a pair of licenses. I am bit shocked, but the price is really too high, not for the final customer (which has enoght money to buy an aircraft), but too high for a consultant agency, and the problem is about communication, we are an external agency, and
my boss should understand
that we'd better use the customer's tools (forcing the customer to buy them for us) instead of being independent (which practically means not enough money to buy those tools for all the dudes in the squad, plus all the dudes in the production).
I don't have an idea about that (hidden business? hidden reasons? who knows), I am too young, 2 years in avionics, 4 years in automotive, and they are completely different worlds, like the Earth planet (automotive) vs Mars (avionics)
but I have understood that I'd better take secret everything I do develop in private (e.g. the SafeC-Schoolmarm) because it's "dangerous" if my boss hears about (and in second place because I am not paid more), and I guess I will leave avionics, automotive is better.
~~~~~~~~~~
when I was a student, I developed this interpreter for an homework examination. It's written in C++, but it's possible to port it to C89 with a minimal effort (a few hours). It's a toy, a minimal implementation which looks like pascal, if someone wants to play, here it is on google code, with a few examples, while calc_host_v2 is a tiny integer calculator, written in C, and ables to evaluate an expression. I have coded in order to "test" a soft core (mips2), but both of them are stalled project, so Enjoy
I don't have an idea about that (hidden business? hidden reasons? who knows), I am too young, 2 years in avionics, 4 years in automotive, and they are completely different worlds, like the Earth planet (automotive) vs Mars (avionics)
but I have understood that I'd better take secret everything I do develop in private (e.g. the SafeC-Schoolmarm) because it's "dangerous" if my boss hears about (and in second place because I am not paid more), and I guess I will leave avionics, automotive is better.
~~~~~~~~~~
when I was a student, I developed this interpreter for an homework examination. It's written in C++, but it's possible to port it to C89 with a minimal effort (a few hours). It's a toy, a minimal implementation which looks like pascal, if someone wants to play, here it is on google code, with a few examples, while calc_host_v2 is a tiny integer calculator, written in C, and ables to evaluate an expression. I have coded in order to "test" a soft core (mips2), but both of them are stalled project, so Enjoy
I wish I could enter into the
vegetable garden
of
William Gibson
, on the right of a director, to decide how a film is ultimately released for public viewing, but I am not a nor
Cyberpunk writer
neither a dude in
Hollywood
, and my English still looks like an old rusty trailer which needs a fix-up, so my personal
wonderland
begins with a pill ... tumbling down the
rabbit hole
, where the sky above the router port is the color of television, tuned to a dead channel and some gears still need a debugger there.
I'm not surprised. All the 'tool' costs bought from vendors were .... Exorbitant. The exception was logic simulators, those were fairly cheap compared to logic synthesis tools or formal verification tools. The worst was Goldfire
http://his.com
, so called 'innovation' tools.
DECUS Member 368596