|
Choroid wrote: Curious what machine were you running in 1978 with tape readers? If you have ever heard about them, I'd be very surprised
In the mid-1960s, the Norwegian Defense Research Establishment (NDRE, or FFI in Norwegian) developed several small computers for military purposes. I am not into military terminology and do not really understand how they were used, but apparently, they controlled weapons directly, e.g. Penguin rockets. Some people at NDRE got the idea that the SM-2 machine could be a model for a computer aimed at the civilian market. So they gave that task to Kongsberg Weapons Factory (KV). In 1970, KV brought SM-3 to market, a couple of years later the SM-4 (I am not sure about the difference between these; they were binary compatible) and in 1975 the KS-500, also binary compatible. The KS-500 had semiconductor RAM, while the SM machines used ferrite core.
These were machines in the 'PDP-11 class' - 16 bit, single 19" rack general machines. The SM-4 and KS-500 were the ones I was "working on" in 1978 - this was before I started my studies, in a summer job, so I was mostly a runner boy: I didn't develop software. One of my tasks was duplicating paper / mylar / aluminum tapes for shipping to customers - punched tape was the "floppy disk" of those days
The SM-4/KS-500 never made a hit in commercial markets by themselves, but KV produced some highly recognized pen drafting boards (typically of A0 or A -1 size, the biggest one was 2.6 by 3.7 meters) controlled by these machines. Also, they were used for computer controlled cutting torches and welding machines, considered very advanced technology in the early 1970s. There were some significant military uses as well. (In peaceful years, in spite of its company name, most of KV's production was civilian, but in a crisis, it could all be switched to military production within a couple of weeks, I was told. So it is not surprising that the military products made use of the SM-4 and KS-500.)
My supervisor in my summer job was rather military oriented, and could never accept the KS-500: Semiconductor memory is just a fad! Completely useless, when you take the computer out in the field, and it looses the contents of the program memory if the power is broken - noone can live with such unreliability! (I guess that a paper tape might useless in muddy trenches, but with the software on an aluminum tape you might be able to reload the memory as soon as power was restored The SM-3 could run on 24V and could take a shock of 50G!)
So, if you were into computer controlled drafting, steel cutting or welding in the 1970s, you might have hear about these machines. Otherwise, they are rather obscure.
Bonus chatter:
You might have heard of NORD-1 and NORD-10 computers, and then came ND-100. These were highly successful in the commercial marked. When NDRE wanted to commercialize SM-2, they let two different companies have a go at it: The old, established KV, and the newly established Norsk Data (ND). In theory, the SM-3 from KV and the NORD-1 from ND should be more or less identical, binary compatible. They were not, and the story behind that is why I mention Norsk Data:
KV was no doubt old and established, with classical work patterns. They do thorough planning, and write the documentation before starting to solder components onto the board. The technical writers didn't know much about computers, and made a few mistakes. For shift instructions, one bit in the instruction word indicated rotational shift, another bit was "don't care" - and the TW mixed them up, different from the SM-2. He also misinterpreted the role of the B register (Base, i.e. stack pointer) in the calculation of the physical address; the description didn't match that of SM-2. (The way the B register was documented made it almost useless!)
This was discovered before the assembly line was started, but after 500 copies of the reference manual had been delivered from the print shop. So KV had a choice: Throw away 500 copies of a thick reference manual (printing was expensive in 1970!), or build the machine as documented. They chose the second alternative.
At the same time, the ND people built their NORD-1 with the circular shift bit and the B register use like the SM-2 "template", but different from the SM-3. So the two machines were not able to run each others' software (as originally planned).
Bonus chatter #2 - on tape readers:
The historical corner in my tech. university had a 1961 vintage Danish GIER computer with an optical paper tape reader that would read 2000 characters/sec! A well known secret was the purpose of the yellow tape on the floor in front of the GIER, with another short strip of yellow tape across, a couple of meters to the side. The cross was were you should place the basket to collect the paper tape after it shot out of the reader at a speed of 200 in/sec!
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
WOW that is some History
Did a search on google for Nord 10
There are several Nord-10 and Nord-10/S systems known to remain, many of which are in near-operational condition, and several are in the care of NODAF. Restorations of systems are planned in both Oslo by NODAF [1] and Trondheim by Norwegian University of Science and Technology.
Quote: I was mostly a runner boy
I was mowing lawns & trimming hedges for a landscaper in the daytime
and working the night shift on the drill press
You made a wise decision embracing software development
While at the University of Toledo in the College of Pharmacy
I took a BASIC computer course on a PDP 11 Deck Writer and was enamored
I ask the course professor about switching majors he said
"I don't think you have what it takes to be a software developer"
"You will make more money being a Pharmacist"
My first paycheck as a Pharmacist I bought a Apple ///
Learned to peek and poke and BASIC
Real claim to fame in programing I taught my friends son to program in VB6
when I switched to Windows
He went on to be the lead developer manager for the speech side Alexa
Thanks for the very enjoyable reply
Dwight
|
|
|
|
|
I am thinking about using a static code analysis to identify security vulnerabilities as I and my team write code. (Like Sonar lint but for security).
I have come across some extentions like
Security code scan[^] or Synk Security[^].
Do you have any experience with such extensions?
If yes do you think they are useful?
Do you have other recommendations?
|
|
|
|
|
You do know that Sonar can help identify security vulnerabilities don't you? If you're using Visual Studio, you can also use security analyzers to help detect OWASP errors. To be honest, and I speak with a lot of experience in this area, SAST can be more dangerous because it gives you a false sense of safety. All SAST tells you is that the code you checked in doesn't have a vulnerability. It's not that great at determining that a dependency of a dependency of a dependency has a known vulnerability, or that you have an unpatched container or OS vulnerability. You need to consider security as a top to bottom thing, so you would be looking to leverage SAST, DAST (the dynamic version of SAST), IAST (the infrastructure version), and so on.
|
|
|
|
|
|
We forced to use Checkmarx One - the most annoying thing is that 90% of the 'findings' are BS... For the first time - after that it is 100% BS (if you fix the real problems)
"If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization." ― Gerald Weinberg
|
|
|
|
|
I can recommend the free OWASP Dependency-Check.
I found Snyk disappointing, for .NET it only scans NuGet packages and ASP.NET applications are automatically marked as "high security risk".
|
|
|
|
|
GKP1992 wrote: static code analysis...If yes do you think they are useful?
No.
At best it might help junior developers.
At worst it makes senior developers think that is all or even most of what is needed. Or even significant.
|
|
|
|
|
I have experience with Sonar lint and so far I find it pretty annoying.
Lots of annoying micro (more like pico) performance recommendations: use Count/Length > 0 instead of Any() or use TrueForAll instead of All (TrueForAll didn't even exist when I wrote this code).
Sometimes it wants me to make code less readable by changing foreach (var something in somethings) { something.Whatever... } to foreach (var whatever in somethings.Select(s => s.Whatever)) { whatever... } (which kind of negates the prior performance recommendations).
On very few occassions it gave me recommendations that changes the meaning of the code and one time even to code that didn't compile.
I've seen lesser programmers changing JavaScript code to the latest greatest that wasn't supported in client's browsers because Sonar lint told them to.
I've tried hiding some recommendations, but can't get it to work (in the free version).
I haven't seen really good suggestions.
|
|
|
|
|
We use Veracode here. It seems to be pretty good at scanning your .NET code and suggesting how to fix it. I know it scans other languages, but we only use it for .NET.
Bond
Keep all things as simple as possible, but no simpler. -said someone, somewhere
|
|
|
|
|
Us also. We use Veracode for both SAST and SCA (which checks our 3rd party libraries). Seems to work fairly well.
|
|
|
|
|
I have seen some impressive findings from SAST. Example, some sensitive information will appear in a log from an exception thrown 14 call levels away. The log is very secure, so it was not a real issue, but it exhibited the kind of relentless analysis where programs surpass humans.
|
|
|
|
|
Thank you for sifting through the thousands of message and replying to this.
|
|
|
|
|
Wordle 1,067 4/6
⬜⬜⬜⬜⬜
⬜⬜🟨⬜🟨
🟩🟨🟩⬜⬜
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,067 3/6*
⬜⬜🟨⬜⬜
⬜🟨🟩🟨⬜
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wordle 1,067 4/6
⬜⬜⬜⬜⬜
🟨⬜🟨🟨🟨
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,067 4/6*
⬜⬜⬜⬜⬜
⬜⬜🟨🟨🟨
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
Wordle 1,067 5/6
⬜🟨🟨⬜⬜
⬜🟨⬜🟨🟨
🟨🟨⬜🟨⬜
⬜🟨⬜🟨⬜
🟩🟩🟩🟩🟩
Isn't this a proper noun?
|
|
|
|
|
|
Not a considered old persons game
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
⬜⬜⬜🟨⬜
⬜🟩🟨⬜⬜
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,067 5/6
⬛⬛🟨🟨⬛
⬛🟨🟩⬛⬛
⬛🟩🟩⬛🟩
⬛🟩🟩🟩🟩
🟩🟩🟩🟩🟩
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
Wordle 1,067 X/6*
⬛⬛🟨🟨⬛
⬛⬛🟨🟨🟨
⬛🟨🟨🟨⬛
⬛🟩🟩🟩🟩
⬛🟩🟩🟩🟩
⬛🟩🟩🟩🟩
|
|
|
|
|
And I think I found my most ambitious idea yet.
Training models to make LLMs spit out code for input specs where the code loops hand written.
So like parser generators.
DAL generators
etc.
Different model for each. Each model comes in a nuget package along with a C# source generator that invokes it.
The only thing is it will require hosting your own LLM. I have two 4080s across two machines, so it's not a problem for me - part of why I bought them, but I wonder how practical it is in general.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: I have two 4080s across two machines, so it's not a problem for me - part of why I bought them, but I wonder how practical it is in general.
While it might work, I suspect that at the current state of the art it would not be cost-effective. The costs of hardware, collection of training data, classification of the training data, etc. are likely to be more expensive than the time that you'd save on the coding.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|