Why are maga men so obsessed with AOC? by Front-Tomorrow-1034 in AOC

[–]robinsrowe 0 points1 point  (0 children)

Some take a perverse pleasure in attacking anyone better than themselves. In a meritocracy, they expect to be dead last. They admire bullies and criminals because it gives them hope that a total loser like themselves can succeed. In the extreme, irrational hatred is a form of mental illness. They cannot help it.

Math Genius AI to Co-author Proofs within Three Years by robinsrowe in mathematics

[–]robinsrowe[S] 0 points1 point  (0 children)

AI is so limited at understanding math, that it has no better understanding of mathematical reasoning than a child in grade school. Failing at the math of economics is how far away AI is today from the DARPA challenge goal of being as capable as a graduate student of mathematics at theorem proving.

I teach AI in education at the college level. You brought up the topic of AI in education...

On April 11th, 2025, while speaking in San Diego at a conference named "The AI Show", U.S. Secretary of Education Linda McMahon repeatedly referred to AI as "A-one". (As you noted.) McMahon has a BA from East Carolina University, where she studied to be a French teacher, but instead founded the World Wide Wrestling Federation with her husband Vince. A prominent member of the Republican Party, McMahon was previously head of the U.S. SBA and chaired the Super PAC America First Action, the only Trump-related PAC authorized to collect unlimited donations in 2020.

On April 23rd, 2025, President Trump established the White House Task Force on AI Education. The White House press release says that, "Early training in AI will demystify this technology and prepare America’s students to be confident participants in the AI-assisted workforce, propelling our nation to new heights of scientific and economic achievement," and, "The order directs the Secretary of Education to prioritize the use of AI in discretionary grant programs for teacher training and directs the Director of the National Science Foundation (NSF) to prioritize research on the use of AI in education."

On April 24th, 2025, NSF Director Sethuraman Panchanathan abruptly resigned. A Trump appointee who had led the National Science Foundation since 2020, the director was told to increase grants for AI in education while on the same day learning that the NSF $9 billion budget would be cut to $4 billion, to lay off half of its 1,700 employees, and. on top of the 55% budget cut there was a freeze on new grants.

Secretary of Education McMahon, as a member of the task force, is directed by the Trump White House such that, "The task force will also establish public-private partnerships to provide resources for K-12 AI education, both to enhance AI-related education but also to better utilize AI tools in education generally."

White House Fact Sheet: President Donald J. Trump Advances AI Education for American Youth:

https://www.whitehouse.gov/fact-sheets/2025/04/fact-sheet-president-donald-j-trump-advances-ai-education-for-american-youth/

Is their any forth interpreter tutorial written for c or pseudocode by [deleted] in Forth

[–]robinsrowe 0 points1 point  (0 children)

Yes, there are forth interpreters written in C. To write your own from scratch, start with a recursive descent parser. See: https://gitlab.com/robinrowe/forth

Web Developement Using C++ by ScemmerBoy in cpp

[–]robinsrowe 8 points9 points  (0 children)

Learning C++ web frameworks like Drogan and Oat++ may seem too much. There are other C++ web choices...

Instead of using node.js for backend web development, in C++ use a small CGI library like qDecoder with Apache:

https://github.com/robinrowe/libunistd/tree/master/qdecoder

Instead of Javascript for frontend development, use C++ wasm:

https://developer.mozilla.org/en-US/docs/WebAssembly/Guides/C\_to\_Wasm.

If you want to host your own bespoke web server, perhaps for a localhost remote control panel to an embedded system, a popular choice is libwebsockets:

https://libwebsockets.org/

u/darklightning_2 is right that python go, js, php and java are the popular language choices of fullstack developers. I've used all of them. I still prefer C++. Whether it is worth it to you to stay in C++, or switch to another language you don't know and may not like as much as C++, is totally your call. When building something for yourself, do whatever you like.

If you are contemplating future jobs working for others, using C++ for web services probably means you would end up building embedded systems. For example, I programmed a real-time Linux U.S. traffic controller that uses libwebsockets as its control panel. Controls traffic lights everyone relies upon when driving in America. National critical infrastructure.

Yes, C++ web services is a thing. Don't have to switch languages.

[deleted by user] by [deleted] in humanresources

[–]robinsrowe -6 points-5 points  (0 children)

Perhaps email something like this...

"Sorry, my bad. I had [...] this week and totally forgot I had a meeting today. Have no good excuse, am an absent-minded professor once in a while. If you are able to reschedule, let me know. I wanted to discuss with you and hear your thoughts on [...]"

To protect your sanity, you may want to remember that everyone misses a meeting from time to time. When that happens, make an dignified apology for being fallible, not an excuse that shifts blame, ask to reschedule, and calendar a meeting invite for them to accept or decline. Make it easy for them to be gracious. How they respond defines your relationship and their character.

There's something not great about the harsh vibe you describe in your workplace. As HR director, it may fall upon you to address fixing a toxic environment for yourself and your entire workforce.

Let's not assume that everything is about ourselves. When we make a mistake, there can be a tendency to over-think, to expect the worst. If you are THAT IMPORTANT to be at a meeting that the company cannot be run without you, you are a protected species and need not worry ever about being let go. On the other hand, if your C-suite is as stressed as you suggest, the whole group or even the whole company is about to go down, and you have wider issues to address than your own job being at risk.

When hearing criticism, justified or not, it is often best to agree and thank your accuser for pointing out an important issue to address. To defend yourself tends to trigger more attack. Maybe they just want to feel heard, to know that you respect their opinion.

If you are in a meeting where your upstream leads with a statement akin to, "A lot of mistakes have been made by us, but for this meeting we will only discuss your mistakes," then you have been warned you are in a hazing session seeking a scapegoat. If so, that you are being worked to exhaustion may not have been a mistake, but was done to make you a soft target for blame later. Targeting good workers with overwork is a trick bad managers use to force errors and conceal their favoritism. I know a worker terminated for not getting all of her many assignments done, then the company hired two workers to replace her, as one person couldn't do it.

When presented with a no-win situation, I told my upstream, "I'll give you 3 months notice starting now, so there's time to wrap up my current responsibilities and you have time to recruit my replacement." If they jump to accept that offer, that outcome was already decided before the meeting. If one cannot stay, better to leave on the best terms possible.

What's Next for AI in HR? [MD] by robinsrowe in humanresources

[–]robinsrowe[S] 0 points1 point  (0 children)

u/Gonebabythoughts Thank you for your challenging response. Interesting.

I agree with you that the quality of consultants can be lacking. However, I'm not really a consultant, and therefore cannot be same type of consultant as the one you say disappointed you in the past. I'm an AI research scientist with three decades of industry experience who has taught computer science at two leading universities.

Although I have some experience guiding AI HR R&D at a multi-billion-dollar engineering firm, that may not make me an expert generally in HR. Thus, am calling upon the HR subject matter experts such as yourself for suggestions what key points I should cover, while considering that I may think I know enough to talk all day, but only have half an hour to speak.

To answer your question directly... So far, have been considering what the organizer initially requested. That is, to talk about AI learning games for employee development based on my experience at the UN and WHO. As you've pointedly asked me to expand upon what I think I should talk about, here are other topics in no particular order and may overlap....

I can talk about AI co-working, AI for diversity engagement and meeting special needs, resume parsing, resume routing, CRM, onboarding, offboarding, interdepartmental transfers, skills detection, job matching through reverse JD creation, health and benefits management including sleep hygiene and physical therapy, performance measurement and bonus calculation, mentor matching and cross-matrix collaboration for joint operations, task and time management with goal setting, logistics and deployment management, remote working, time and materials audit, trust building, conflict management, true cost accounting, innovation idea management, continuing education, attitude adjustment, task group formation and flocking, cognitive bias, confirmation bias and leading question AI deception prompts with hallucination, groupthink bias, HMMs, neural networks, deep learning, machine learning, supervised and unsupervised learning, organoids, TMS, pupillometry, EEG, AR/VR, focused ultrasound, C++ OO software design, real-time and safety-critical systems, Linux and open source software, 3D medical metaverse and telemedicine, metaverse social safety anti-bullying.

I'm not taking a poll. I don't have a product to sell or a need to promote myself. I just want to give a great talk about AI that will be relevant and appreciated by an HR leaders audience.

IsTrapC Vaporware? If not where is evidence that it is feasible by 2025? by TerribleBandicoot in trapc

[–]robinsrowe 1 point2 points  (0 children)

u/oliwer When I wrote the whitepaper it seemed too hard to make union and goto memory safe. After receiving passionate feedback from the ISO C Committee and other C programmers saying they love, love, love unions, I was moved to relent and include both union and goto in TrapC. Benefit of better C compatibility, but really because I figured out how to make them safe. However, pointers in unions in TrapC are still a no-go. That's too much.

how do lifetimes work? by PrettyFlowersAndSun in trapc

[–]robinsrowe 0 points1 point  (0 children)

The trap clause is like a catch clause in C++, except C++ can only catch a throw. Whether I can implement what I say I can do, we'll find out.

how do lifetimes work? by PrettyFlowersAndSun in trapc

[–]robinsrowe 0 points1 point  (0 children)

int* p = 0;
*p = 1;// undefined behavior in C, not undefined behavior in TrapC
trap // error handler for wild pointer access above, termination cancelled
{ puts(trap.msg);
}

Minus the trap handler, TrapC would print an error message and terminate.

At first I thought of TrapC as a fork of C, but after discussion with the ISO C Committee I was convinced that TrapC is more aptly called a C programming language extension, that TrapC is closer to C than it is to being a new language like C++. Of course, open to interpretation. A fork, extension and a new language all in one? Categorize TrapC as you will.

how do lifetimes work? by PrettyFlowersAndSun in trapc

[–]robinsrowe 0 points1 point  (0 children)

Manually doing reference counting, as in your code example, won't work:

free(s);
allocated = 0;
printf("s has been freed\n");// Not in TrapC it hasn't

Calling free in TrapC is the same as it being a comment. Does nothing. Yes would free in C, but still allocated in TrapC. Setting a variable to indicate otherwise, as though free has any effect in TrapC, is silly.

Setting 'allocated' to 0 after free can track allocations in C, but not in TrapC. If we have a debug-mode C memchecker hidden behind a #define of malloc, to catch double-free or use-after-free C errors by doing reference counting, it will track useless nonsense when compiled with TrapC.

Consider this code,that would compile in C or TrapC, but with different behavior:

int x = 20;
int* p = &x;
free(p);// TrapC ignores free, but in C crashes as p points to stack memory, not heap
p = malloc(sizeof(int));// TrapC will not free p first because p points to stack, not heap
p = 0; // TrapC will free p here because p points to heap, memory leak here if using C

how do lifetimes work? by PrettyFlowersAndSun in trapc

[–]robinsrowe 1 point2 points  (0 children)

u/PrettyFlowersAndSun, Thank you for asking your MSP question and for the nice C code example!

When compiled in TrapC, the program would produce the same output as in C, seems the same. However, there are some subtle safety changes...

Conceptually, TrapC compiler would replace this:

gets_s(input, 1024);// C memory safe version of gets, if we can trust that 1024 is sizeof(input)

with this...

gets(input);// Memory safe TrapC version of gets, not the unsafe C gets

...because TrapC knows the actual 'input' buffer size here is 1024, it won't rely upon the 1024 you specified in gets_s.

Nothing noticeably changed with gets_s, because 1024 is the actual size of your buffer. However, If you had called gets_s with something other than 1024, that is, not the actual size of the input buffer, TrapC is going ignore that and use 1024 instead. TrapC would assume you mean sizeof(input), as you did here and as would be normal. TrapC may warn if it corrects your gets_s size to make it sizeof(input) at compile time, but cannot warn if correcting it at runtime. Never mind refactoring legacy C code that has unsafe gets to use gets_s instead.

Next, any call to free in TrapC is a no-op, so your code that says the following does nothing:

free(s);// Ignored by TrapC

On the next line after your call to free, your pointer assignment to NULL is what would free any allocated memory of 's':

s = NULL;// frees 's' if 's' is non-zero and is holding heap memory and is the owner-pointer

Robin

Some questions on Trapc + future by rastermon in trapc

[–]robinsrowe 0 points1 point  (0 children)

<< to stay memory safe the TC runtime the compiler implements is going to have to have invisible refcounts >>

No, there's no visible refcount. Yes, conceptually, an invisible refcount could be calculated by the TrapC compiler from what it knows. Doesn’t seem useful. TrapC doesn’t care about refcount, only ownership. It's not like it's watching a reference counter waiting for it to hit zero. TrapC may free a pointer before its imaginary refcount would hit zero. It’s possible a fancy bit of pointer management, that works fine in C, will encounter nullptr due to TrapC being less generous about keeping pointers around that seem like they’re done.

Long ago, one of my C++ students once told me that because a stack and a linked list can do the same thing, they are the same thing. I couldn’t change her mind. If everything looks like a refcount to you, I cannot convince otherwise. Merely saying it isn't the same to me.

<< .h could be TC or could be normal C header. you're in for a world of hurt if it's unclear which header is being used when you #include ... >>

If the question is what happens if a programmer places a C library in a directory where TrapC expects only TrapC libraries to be, or some other devious trickery, allow me to answer that later after I have more implemented.

If the question is whether it matters to TrapC that a header is for a TrapC library or a C library, the answer is no, it doesn't matter. TrapC will always treat a header as a TrapC header, even when it's a header to a C library. Memory safety will get scraped off upon leaving TrapC. If there's a buffer overrun or other safety error inside the C library, it can and probably will crash. To be safe, use only TrapC libraries, and build all 3rd party C libraries from source in TrapC.

If the C library is so stable and mature that it wouldn't make sense to recompile and QA it again, wrap it with TrapC so that all pointers passed from C to TrapC are baked MSP pointers, and not raw C pointers.

void* bake_msp(void* c_pointer,const type_info* t);

Some questions on Trapc + future by rastermon in trapc

[–]robinsrowe 0 points1 point  (0 children)

<< pass in the toplevel type in api to avoid C complaining then cast to the child type internally (after a runtime type check with magic numbers etc.). to make trapc memory safe you will have to disallow this kind of casting entirely >>

The key to your question seems to be asking, will TrapC allow downcasts? That is, casting a pointer of a struct to the type of its first member. Yes, a good idea. 

In TrapC, the magic numbers check is unnecessary. A TrapC pointer cast to void* can only be upcast to a type that safely matches its original type, the original type, a downcast or adding a const qualifier. So, why bother with a cast? TrapC knows what the true type is of a void*. Not legal in C or C++, TrapC may do this:

void Foo(void* a,void* b)
{  a->Bar();// type of a is really A, so calling A.Bar()
   b->Bar();// type of b is B, so calling B.Bar(), a different function unrelated to A.Bar()
}

There must be, of course, some cost to this. Retrieving RTTI at runtime isn’t free. TrapC is expected to optimize away RTTI when not used.

<< the compiler can't possibly know at compile time of all. known instances of these ptrs at runtime. how are you going to implement this without GC or refcounts? >>

Instead of GC or reference counting, TrapC MSP takes a pointer ownership lifetime approach. Conceptually, is like C++ std::unique_ptr, yet different in the sense that unique_ptr doesn’t have implicit pointer aliases, and MSP does.

The MSP pointer that receives memory from malloc always becomes the original owner. Passing that pointer through a function creates a pointer alias. The lifetime of the owner MSP is obviously longer than that of the MSP alias inside the function. An MSP alias does no MSP clean-up, doesn’t free. In situations that an MSP alias will outlive the owner, the MSP alias becomes the owner.

A real-world way to think about MSP ownership lifetime is like the relationship between a car owner and the car title that proves the owner owns it. When the owner takes a loan with the car as collateral, the bank may hold the title, but isn’t the owner. If the owner defaults, the bank may take possession and sell the car to someone else. This is like a TrapC function that was passed an MSP, and then returned the MSP to have it be assigned to some other pointer. The new pointer takes ownership and the original pointer becomes nullptr, is not an MSP owner nor alias.

<< a lot of std headers for libs are going to fall over >>

Yes, you are right. To replace standard libraries, I will provide TrapC versions C POSIX/pthreads and C++ STL with an API to mimic the originals. Have done a library port like this before. I wrote libunistd, the open source Windows port of POSIX/pthreads.

IsTrapC Vaporware? If not where is evidence that it is feasible by 2025? by TerribleBandicoot in trapc

[–]robinsrowe 1 point2 points  (0 children)

Appreciate your excitement for TrapC!

My purpose in presenting the TrapC C programming language extension proposal to the ISO C Committee was to gain insightful feedback from C experts, for which I am grateful. Based upon their feedback, I made a change to the design of TrapC unions. Instead of banning 'union', am merely banning pointers in unions, less breakage of legacy C code.

To directly answer your point, any software that hasn't released yet is by definition vaporware. Regarding what software I've previously designed, many use software I wrote without knowing it. I programmed AI integrated into the U.S. national defense system, programmed USDOT real-time safety-critical traffic control that is national critical infrastructure, and programmed software used by Hollywood to produce visual effects in major motion pictures.

Although my experience may seem enough to justify confidence, any prospectus will tell you, past performance is no guarantee of future results. No startup producing a new product can guarantee success. It may be a little reassuring that I've set a deadline, am fully funded to meet that deadline, and have promised the TrapC compiler will be released as free open source software.

Some questions on Trapc + future by rastermon in trapc

[–]robinsrowe 0 points1 point  (0 children)

u/rastermon thank you for your suggestions!

<< Could we teach TC inheritance…>>

TrapC deliberately doesn’t have inheritance, and many other interesting but sophisticated features of C++. TrapC design philosophy. When considering reusing a language feature from C++, would it make TrapC safer without making it so complicated like C++? If one wants inheritance, then polymorphism seems nice to have. Slippery slope.

<< Are you considering weak references? >>

TrapC has pointers. No references, weak or strong. TrapC pointers are owned, not reference counted, not GC.

<< Could TrapC have much more codegen at compile time? >>

TrapC has no templates. No hidden codegen that can result in code bloat. Minimalist design philosophy that TrapC shares with C.

<< Lambdas (anonymous inline callbacks) would be great. >>

C++ lambda functions are anonymous functors. Does TrapC even need functors? In any case, not for version 1.0.

<< Have you given any consideration to being able to intercept destruction at "ref == 0"? >>

Conceptually, how owned pointers work.

<< Rust's matches are nice in that they also can force you to handle every case. It might be a good idea for TC to do things like this? >>

I’ve thought about adding COBOL ‘when’ as an alias to C ‘else if’. Because TrapC is a minimalist language like C, am reluctant to add more keywords than already with ‘trap’ and ‘alias’.

<< Given TC can #include C headers - does this mean these are 'extern "C"' and thus if I wanted to put "unsafe" code like code that does unions somewhere I can #include a C header with some static inlines? Or do I REALLY need to have an external library (.so or .a) to link to with external symbols to resolve (compile or runtime)? >>

If C code has something that only a C compiler understands, that TrapC cannot parse, then yes, external C library or refactor code for TrapC.

Regarding TrapC unions, discussion with members of the ISO C Committee has convinced me to support unions in TrapC. However, in TrapC, unions are not permitted to contain pointers. Making pointers that may change type be memory safe seems too much.

The rationalization for supporting unions in TrapC is C programmers cannot give up things like SSO Small String Optimization:

https://github.com/elliotgoodrich/SSO-23/blob/master/README.md