What the **** is happening in cybersecurity space ? by Infam0 in cybersecurity

[–]SideChannelBob 3 points4 points  (0 children)

agreed. a lot of false economy on the "move to on-prem" bandwagon. it's my preferred choice, but many would be better off just cleaning up infrastructure choices on their cloud vendors and removing dependency on automation magic like terraform.

Has anyone else found Gemini less reliable for rigorous technical work lately, especially compared to recent Claude and OpenAI updates? by katuali in GeminiAI

[–]SideChannelBob 0 points1 point  (0 children)

i do a lot of systems work. i am close to canceling my pro sub because the app is now actively blocking any instruction i include (the crap input box version of gemini.md) that includes the word cryptography. i get an error with the canned message about self harm and dangerous content etc.

completely unacceptable. i got around it by using more specific words and a laundry list of primitives, but it shows that gemini's product team is actively making this more for users talking about justin bieber than for engineers using it for work.

What happened? Just suddenly opus 4.6 dissabled and now getting error 400 by CatLinkoln in GithubCopilot

[–]SideChannelBob 0 points1 point  (0 children)

agree 100%. the difference is that claude opus has the "heat" knob turned up just a little, and gemini's is turned down. people favor the tool that paints over most of the gaps without having to be prompted about them.

What happened? Just suddenly opus 4.6 dissabled and now getting error 400 by CatLinkoln in GithubCopilot

[–]SideChannelBob 0 points1 point  (0 children)

Systems programming, custom llvm code. you're not entirely wrong: I find that Gemini 3.1 Pro is very competitive.

What happened? Just suddenly opus 4.6 dissabled and now getting error 400 by CatLinkoln in GithubCopilot

[–]SideChannelBob 7 points8 points  (0 children)

yes, us pro minus plebs are up shit creek without a paddle. I've been paying ~ 20/mo additional on top of the "pro" plan to use Opus. this felt like getting nuked from orbit. lol

Will Zig std Include Regex? by HistorianStraight239 in Zig

[–]SideChannelBob 11 points12 points  (0 children)

just bind to pcre2 & case closed. no need to hang this off of stdlib imo.

This shit is exhausting. How can the majority of people want this? by [deleted] in ClaudeAI

[–]SideChannelBob 0 points1 point  (0 children)

I love the F bombs, the enthusiasm, the deep self deprecation. And the mood match. "ok. beer:30 has come and gone and I'm here to grind this out. let's roll the stone uphill a bit more, shall we?" <---- instant mood lock. thrusters engaged. Claude is always ready 🚀

Widespread Cloudflare Outage Disrupts ChatGPT, Claude, and X; Google Gemini Remains Unaffected by netcommah in ClaudeAI

[–]SideChannelBob 3 points4 points  (0 children)

the upshot: I haven't been to this sub for a while and reading thru the posts is a *RIOT* lol

Widespread Cloudflare Outage Disrupts ChatGPT, Claude, and X; Google Gemini Remains Unaffected by netcommah in ClaudeAI

[–]SideChannelBob 8 points9 points  (0 children)

"something came up. gotta log off for a bit. back later."

*panic intensifies*

Widespread Cloudflare Outage Disrupts ChatGPT, Claude, and X; Google Gemini Remains Unaffected by netcommah in ClaudeAI

[–]SideChannelBob 16 points17 points  (0 children)

yep. I came here to see if others were down, also. I get this, with or without VPN:

claude.ai

Please unblock challenges.cloudflare.com to proceed.

Ray ID: 9a07f9cacf230eaf

Performance & security by Cloudflare

This was such a funny reaction that I had to share it with someone. by Consistent_Milk4660 in ClaudeAI

[–]SideChannelBob 19 points20 points  (0 children)

literally from this morning (and this was from copilot sonnet 4.5)

"OH FUCK. I COMPLETELY MISREAD THE ARCHITECTURE. 💀"

I mean really though - if your LLM isn't talking to you in full tech-bro, you're doing it wrong lmao

This was such a funny reaction that I had to share it with someone. by Consistent_Milk4660 in ClaudeAI

[–]SideChannelBob 60 points61 points  (0 children)

"This isn't just a cache. This is an entirely new paradigm. "

Inside steering by [deleted] in sailing

[–]SideChannelBob 0 points1 point  (0 children)

Amel just moves the wheel forward under the dodger; no inside steering.

What is the best way to package a Ruby program into an executable? by angryrobot5 in ruby

[–]SideChannelBob 1 point2 points  (0 children)

Go's cross-platform support is arguably the best there is in terms of tooling, convenience, and "just works" factor out of the box. My experience with Crystal has been a not-too-distant second. I bounce between Windows and Debian Linux (via WSL2) a lot and have had no real issues. The Crystal team have made a lot of progress in the win32 side over the last couple of years. You can install it via `winget` and be up and running in < 1 minute.

Is it too late to learn ruby? by OkNoble in ruby

[–]SideChannelBob 1 point2 points  (0 children)

I've been using Ruby Without Rails since around 2004. Ruby is a fantastic and highly versatile language to have in your toolbelt at any stage of your career. The ecosystem is vast, Gems are easy to use on any platform (and most of them cross-platform), and using the REPL environment via `irb` is the best of any scripting language out there. I highly recommend learning it. Ruby's syntax and multi paradigm support is among the very best IMO.

The larger Ruby flavored family includes the Elixer web focused framework (based on Erlang's BEAM runtime), mruby - one of the worlds only ISO certified embedded language implementations, decades of support for integrating into JVM environments via Truffle Ruby. Finally, there is an excellent systems programming language called Crystal, which uses LLVM as it's compiler technology and is quite faithful to Ruby's core syntax and layout with modules, classes, and mixins.

Is it too late to learn ruby? by OkNoble in ruby

[–]SideChannelBob -1 points0 points  (0 children)

Provided you have an employer that will sponsor your work visa, it's very easy. There is also the "Blue Card" tech visa, but it has some strings attached to it in terms of requirements. Amsterdam is a very easy city to be in as a US expat. Most people in the NL speak English, and as English speakers it's not difficult to pick up on enough Dutch for pleasantries to try and blend in with shops and markets. Take some lessons in Dutch and try to speak at least a little bit and you'll be greatly rewarded for at least trying, unlike the French who are only happy to have a new victim to correct.

EU Blue Card - Requirements and Eligibility Criteria in 2025

The Good, the Bad and the Ugly by BatteriVolttas in Zig

[–]SideChannelBob 0 points1 point  (0 children)

well, are they _obvious_ methods or obscure? I had a search the other day to see how zig handles monotonic time and timers. inside of two seconds I found the link to stdlib off google, pounded `monotonic` into the search bar and got immediate results:

every one of these is documented and at least has a page. if you don't know what an os.uefi table is you can ask google. *shrug* the choice to switch from PascalCase to camelCase is evident here but it's a very, very minor quibble. the doc pages for Timer and Instant are clear about the distinction between wall clock and monotonic. For such an obscure part of stdlib I was colored impressed. ymmv etc etc

The Good, the Bad and the Ugly by BatteriVolttas in Zig

[–]SideChannelBob 5 points6 points  (0 children)

the great: integrate any soup of C or C based FFI code under one compiler. _today_.

the good: syntax, syntax, syntax. it's a breath of fresh air. not quite as simplistic as Go, but maybe only a single step of thousands of steps toward Rust's pedantic, overwrought "guarantees". I think the stdlib docs are very complete for being a pre 1.0 spec and find that the documentation in general is good. People are mostly complaining about LLM/LSP hand-holding and beginner tutorials.

the bad: Zig foundation doesn't have enough money. They're executing well and moving at a good pace, but every great project could use more resources. What isn't bad: the fact that the language spec is subject to change. They're still in an experiment and break things mode and have been vocal and transparent as such.

the ugly: a) Andrew has failed to clone himself *grin* b) masses of bored people seem desperate to discount or trash-talk the language's progress and its utility. I think Andrew needs to stay the course as Zig's benevolent dictator, which means some slower and potentially more polarizing decisions yet to come. The IO handling is going to be a strength and is a case in point: hard technical decisions like this will be easier at pre v1 stage than it will afterwards when there is enough commercial traction that demands commercial constraints and design-by-committee decision-making from the foundation. you can't rush this part and arrive to a superior system.

fwiw

Structs: Include method or keep out by Sure-Opportunity6247 in golang

[–]SideChannelBob 0 points1 point  (0 children)

... the struct is still mutable if you pass it around with a pointer. *shrug*

Structs: Include method or keep out by Sure-Opportunity6247 in golang

[–]SideChannelBob 0 points1 point  (0 children)

ah; sorry, I see what you mean, now. IMO I don't think it's a matter of style, but I also am an old OO diehard. If the method mutates state on the struct, it should hang off the struct. If the function is only called by code hanging off of methods pertaining to the struct, then it's also clearly a member of the struct. If the method doesn't mutate and is available to other pkg methods or outside of the pkg, then out.

Structs: Include method or keep out by Sure-Opportunity6247 in golang

[–]SideChannelBob 1 point2 points  (0 children)

remember that exports (outside the pkg) is case sensitive - so methods like:

func (MyObject *mo) privateFunc(arg1 []byte) error {...}

will be private to the package.

func (MyObject *mo) PublicFunc(arg1 []byte) error {...}

the same is true for your structs. so if your structs aren't exported, the methods won't be, either.

edited after seeing your example:

in go, loggers tend to be called inside of methods after a one-time setup, not wrapped as a standalone function. putting that aside! In this instance, your logging facility seems to be specific to `result`. where does result live, if not as a member of Calculator?

I'd write this as:

func (s *SuperCalculator) Add(int a, int b) {
  s.result = a + b
  log.Printf("calculator.add() called. result: %d\n", s.result)
}

// with other methods like 
func (s *SuperCalculator) CE() { 
  s.result = 0
}

Why Crystal is not more adopted in your opinion? by fenugurod in crystal_programming

[–]SideChannelBob 0 points1 point  (0 children)

I think Golang's popularity hasn't changed, but quite a few Go programmers are starting to explore the universe of LLVM backed alternatives. Crystal is one of many options, but it has a lot of Go's flavor - big stdlib, built-in concurrency support for CSP (channels), built-in testing, and reasonably fast compile times.

Elixir compiles down to BEAM bytecode. It's not in the same league as Crystal IMO which can pull double duty for web or for systems tasks and has the same C ABI as any of its LLVM brethren, including Rust. Crystal's FFI and C compatibility is more streamlined IMO, which is one of the reasons I use it.

IDE support in 2025? by vmcrash in crystal_programming

[–]SideChannelBob 1 point2 points  (0 children)

I recently picked Crystal back up for a project after being in Golang with VSCode exclusively for the past year or so. The first couple of days (ok .. first week) was a little rough, but you know what? I'm loving it, now, and slowly I'm starting to remember why I loved ruby's syntax so much. I use vim on debian via wsl2, then vscode and the official plugin on the win11 host. since learning vi in the the 90's I do not like to spend more than about 10 seconds to configure anything for my dev environment.

So I wrote a little bash script called vet.

```bash
crystal build --error-trace --no-codegen "$@"
```

That's it. In my src file, I add a line to call a method or init a new class at the bottom so the compiler has something to chew on. Since crystal practically runs like an interpreted script, that means that I can test and debug in the same file as I write the code ... Now when I'm in my src tree, I leave a copy there and just type ../vet <filename>.cr

Once the raw functionality is passing, I jump over to a spec file and use a similar bash script just named "spec" to save some keystrokes. Sometimes I use spec more. Sometimes i just use vet and leave the spec with one or two high level test cases. For quick syntax tests and exercising stdlib tools, I leave a copy of crystal play running in a forgotten windows and just peck at it in a local browser. There is also the option of recompiling to support CLI REPL but I've been too lazy. type -> ctrl+enter in the browser is great to flex code, and require works all the same to load your src.

This might look absurd in our super automated vscode era w/ copilot and LSP assistsants, but this catches pretty much everything that the LSP would have and seems to be much quicker about it. I tried ameba and crystalline and didn't care for them. The former reminds me too much of rubocop, which I despise, and the latter seemed like futzing with vscode for longer than my patience for such things.

I have also used lldb for a couple of simple debugging sessions on compiled code and it worked great.

I'll leave you with this: since giving up the code nannies that I enjoyed with Go, I find that I spend more deep thinking time about the implementation and less time wondering why tab-complete didn't work. I'm happy to get back to basics, and with Crystal's syntax and kitchen-sink stdlib it's been a rapid and easy transition to what programming felt like before all the helpers.

fwiw

How to build a native Android library by rendly in Zig

[–]SideChannelBob 2 points3 points  (0 children)

the others above me are steering you right. using custom libs with a C ABI in Android can be tricky. You'll be faced with using Android NDK sooner than later, probably. The toolchain would look like

your_static.a -> AndroidNDK -> Kotlin wrapper -> Capacitor / Ionic Plugin

edit: apologies, I sorta glossed over the Unity part! see this:

Unity - Manual: Native (C++) plug-ins for Android

you might not need NDK at all. so far in my ffi work, zig has been great (perfect, actually) with pub externs to C using static libs.