• 0

Hey calling all programmers to give help if you wish


Question

Hey i'm in year 11 now this year

doing Software design and development

starting on turbo pascal version 1.5

i know it's old

and it's BS to you guys

but gees i'm just soooo lost about this we jump so fast

we start talking about object orientated and then we start talking about flowcharts ans psuedocode

wat the hell am i learning

so can you guys give me some tips on what to do in programming

do u guys still remember when the first time u touched this stuff?..

Recommended Posts

  • 0
Originally posted by grimman

take it from a VB-person... DON'T DO VB! :D

scripting might do fine (ASP), but ****... vb as a programming language is pure crap.

VB has its bad and good points. it is a very good language to learn if you are NEW to programming. thou i prefer C++ over visual basic...

  • 0
Originally posted by Winston

Hey i'm in year 11 now this year

doing Software design and development

starting on turbo pascal version 1.5

i know it's old

and it's BS to you guys

but gees i'm just soooo lost about this we jump so fast

we start talking about object orientated and then we start talking about flowcharts ans psuedocode

wat the hell am i learning

so can you guys give me some tips on what to do in programming

do u guys still remember when the first time u touched this stuff?..

okay firstly whilst pascal is old, it certainly isn't bs. it powers Delphi, the main rival to visual basic. i say rival because, even though Delphi is infinitely better, most people are tought VB in schools because its more idiot-friendly and fisher-price like.

and returning to "old" again, BASIC and C / C++ are both incredibly old languages as well, so you shouldn't think that an "old" language is a bad one by default.

sure, turbo pascal is an old IDE ("integrated development environment", fancy word for programming-program :)), but even if you think turbo pascal is crap because its older than visual basic or whatever, you are SO lucky to be using it. visual basic is the worst program ever made by those microsoft motherbitches. it makes me want to cry just looking at it.

moving on

object oriented programming is basically when you start grouping things together using what are called "records" or "classes".

for example, instead of having seperate variables for the height of person a and for the weight of person a, you would have a record/class called "person", which contained two "fields" called height and weight. it may also contain methods (depending on the language), such as "MakeGiant" which could increase the height and weight by 10000 times

using this record / class you would declare a variable OF it, say, "personA", and then you could get the height and weight of him by using personA.height personA.weight, so you use one variable and two fields instead of two seperate variables. in essence, the person class/record is an "object" you have created that groups related / similar items.

this may sound really confusing so take another real life example. in real life, you can say that a box has a few "properties" or "fields" such as its height, its width, its length. when you're programming, it would get really confusing if you had seperate variables for these (boxheightA, boxwidthA etc) so you create one object to emcompass them all.

now, say you want people to be able to get the height of the box from the object, but not be able to set it. you would "hide" its height field, and create a method called "GetHeight" which would return the height. this would mean that you could use GetHeight to find out the height, but never be able to use Box.Height = X to change it.

object orientated programming also deals with heirachies. imagine one day you find a box that resembles the first box we created - it has a height, a width and a length - but it is made out of sticks. you could then declare a class called "StickBox" which "inherited" properties from "Box" (height/width/length) as well as adding its own properties, such as "StickLength" "StickType". this idea of inheritance is used soooo much in Delphi and Visual C++ and NOT AT ALL in visual basic (unless you are using .NET) because basic is a ****ty, ****ty language.

pseudocode is just a make believe language used to teach programming. what you write in pseudocode will NOT compile in a real language. it is primarily used so that people can write stuff like "get the users input" in pseudocode and be "correct" instead of having to write it properly using syntax rules used in real languages, for example "ReadLn(blah)" in Pascal or "cin >> blah" in C++

pseudocode is **** and i hope its inventor dies a horrible painful death.

flowcharts are just ways of showing the "flow" or order-of-execution of an algorithm to people not smart enough to understand it by looking at the code. not as annoying as pseudocode, but very annoying to create.

as an aside, the australian software course sucks donkeys balls and i will be dropping it next year (im in y11). apparently only like 1 person in NSW got band 6 last year.

  • 0

Not to get into a language-flame war, but any language is ****ty in the hands of the wrong person. VB is far safer for anyone that doesn't care to know sys internals than C/C++ is. The intent of the language wasn't to be the best friggin oop language you've ever seen. It was to be able to create apps in a timely manner. IMO, it acheived that. So what if you can't do implementation inheritance or polymorphism in it? You can componentize in it just as well as any other language with less blood and sweat. COM is a smart component design, albeit, complicated.

Before you go off on how much better Delphi is than VB, I'll just let you know that I happen to love the VCL. Borland's tools are the best. I've been using them since Turbo C, then Borland C++ 4.5, and now C++ Builder 5.

Every tool can be used efficiently if you know what you're doing in the first place. Every language has its drawbacks.

Psuedocode is a handy tool to use to sketch ideas without having to be at a terminal. It's just plain language, so why is it so horrible?

It's obvious that you've never worked on any piece of software of any significance. Flowcharts, or UML are invaluable design tools. For small projects, they are probably overkill, but for large scale apps, they rule. It has nothing to do with being smart or not. You've never inherited 150,000+ lines of code written by someone that doesn't comment, didn't bother to document, and has bugs that you have to track down on a deadline. It sucks.

If you want to be a good programmer, you're going to find that a good percentage of the process entails design and documentation without writing any code. If your design is solid, the code pretty much writes itself. Of course, programming is an interative process, so if it doesn't work, you go back to designing, etc.

If you're just in it to write apps for yourself, disregard.

Winston, don't worry about syntax, you'll get it eventually and there is always reference material. The most important thing is to understand the software development process and how to build solid code. You need to understand what problem it is you are trying to solve. Write down what inputs you'll be getting from the user, what outputs they want, what formulas you'll need, etc. Then use psuedocode to map out the logic in plain english. Software is really just manipulation of data, whether from a user, datafile, soundcard, etc., and presentation of the manipulated data. Input and output.

  • 0
Originally posted by weenur

Every tool can be used efficiently if you know what you're doing in the first place. Every language has its drawbacks.

Yes, but [Visual] Basic has far more drawbacks than most.

Originally posted by weenur

Psuedocode is a handy tool to use to sketch ideas without having to be at a terminal. It's just plain language, so why is it so horrible?

It's horrible because it isn't plain language. It would be nice if it was, but the "version" we are taught at school isn't just a "handy tool to sketch ideas" but attempts to be a structured language which has numerous syntax rules that contradict most "real" programming languages (such as = for both assigning and testing values). I have nothing against writing down rough algorithms or ideas on a piece of paper, I just hate this "glorified" version we are taught at school.

Originally posted by weenur It's obvious that you've never worked on any piece of software of any significance. Flowcharts, or UML are invaluable design tools. For small projects, they are probably overkill, but for large scale apps, they rule. It has nothing to do with being smart or not. You've never inherited 150,000+ lines of code written by someone that doesn't comment, didn't bother to document, and has bugs that you have to track down on a deadline. It sucks.

Well, I don't know exactly what you mean by "significance", but whilst I'm obviously not part of the Windows development team (hell, i'm only 16) I have worked on projects a lot more complicated than "Hello, World" :)

Recently finished this with a mate from school:

http://www.enfiladestudios.com/products/rifletarget

  • 0
Originally posted by Winston

Hey i'm in year 11 now this year

doing Software design and development

starting on turbo pascal version 1.5

i know it's old

and it's BS to you guys

For a long time, most commercial software was written in either Pascal or C. The decline of Pascal is to do with the fact that Microsoft didn't make a Pascal compiler and Borland don't know how to market their stuff not the language itself. Still there are 1,000,000 Delphi developers.

TurboPascal had support for pointers and had more powerful arrays than C. Versions 6.0 and 7.0 had support for objects too...

Anyway, TP 1.0 doesn't have much of an IDE so it can be hard to program with. I'd recommend you go to http://community.borland.com, sign-up there and then go to http://community.borland.com/article/0,141...0,20803,00.html and download TurboPascal 5.5, even if you only use it at home. It's not too easy to install but it's more intuitive. Version 7.0 has online help, (but it's not Freeware - yet) so if you can find it you may have a better idea of what each line you type actually does.

but gees i'm just soooo lost about this we jump so fast

we start talking about object orientated and then we start talking about flowcharts ans psuedocode

wat the hell am i learning

The initial part of the course - ergonomics, planning solutions, the top-down method of Software Design etc. - don't apply to TP 1.5 (well you can do top-down programming, just not so simply as now) because those ideas weren't even thought of! You basically type your examples and then try to work out what each part does.

Which book are you using? The Heinemann one (by Allan Fowler) talks quite a bit about Pascal syntax.

When programming (for real), forget most that pseudocode rubbish that you've been through. The principles of programming are in pseudocode (i.e. pseudocode is based on Pascal) but their syntax are different. In a real program you cannot dictate to the computer, you have to follow the exact syntax rules of that programming language.

Think of it this way:

Pascal is real but you're not going to be examined on it much

Pseudocode is from the land of fearies (analysts and managers will like it) but you will examined on it heavily. There are better code documentation methods than pseudocode...

Either way, you're going to need to know both

so can you guys give me some tips on what to do in programming

do u guys still remember when the first time u touched this stuff?...

Pascal really isn't that hard. For example you might write in pseudocode:

<pre>

myInteger is a Integer

WHILE myInteger <> 23 

        Display "Guess the number, it's less than 50"

        myInteger = User Input

        IF myInteger = 23 THEN

                Display "Correct"

        ELSE

                Display "Incorrect"

        ENDIF

END WHILE

</pre>

You'd write in Pascal:

<pre>

[b]var[/b]

  myInteger: Integer;

[b]begin[/b]

    [b]while[/b] myInteger <> 23 [b]do[/b]

    [b]begin[/b]

        write('Guess the number, it''s less than 50');

        readln(myInteger);

        [b]if[/b] myInteger = 23 [b]then[/b]

            writeln('Correct')

        [b]else[/b]

            writeln('Incorrect');

    [b]end;[/b]

[b]end.[/b]

</pre>

I do actually remember how I started programming, a bit over two years ago I was learning HTML, it had a section on JavaScript, that got me interested and so I got a book on JavaScript.

Started programming in Pascal in Year 9, got bored with it by half-way through the year. Got Delphi from school, wrote a Towers of Hanoi game - http://www.geocities.com/towersofhanoi. Towers of Hanoi is an interesting project actually, 'cause I have about 5 builds there so you (and me) can see how I learnt more programming techniques over 6 months.

Once you know how to program in one (or two) languages, the rest seem comparatively easy - C++, Object Pascal, VB, they're all similar in design. So now it's not to difficult for me to program in

  • Turbo Pascal
  • Delphi/Object Pascal
  • Some C++ (don't much like C, C++ is OK)
  • Visual Basic (to a point, like it less still)
  • JavaScript/JScript (which lends itself to JScript ASP...)
  • PHP (much better than CGI Perl, yuck!)

need to learn C# - no time :(, black-listed Java ages ago.

Once you know the ins and outs of a language you actually get pull code of of your mouth :D, without much trouble. Sure the Windows API is BIG, but that's what the Internet is for - finding code...

Anyway, about.com used to have a TP site but it's gone now, still Borland have a site http://www.borland.com/pascal/pascalnet.html that might help you in your quest to deceipher Pascal :p

Incidentally, your program to sum two numbers looks like this

<pre>

[b]program[/b] SumInts;



[b]var[/b]

    Int1, Int2, Total: Integer;



[b]begin[/b]

    Write('Enter the first integer: ');

    Readln(Int1);

    Write('Enter the second integer: ');

    Readln(Int2);

    Total := Int1 + Int 2;

    Writeln('The total of the two numbers is: ', Total);

[b]end.[/b]

</pre>

there we have it!

Just wondering, what school are you going to? We have to do VB, haven't even started yet. How I feel for the non-programmers...

/rant :o

P.S. Newest project is at http://www.enfiladestudios.com (well, with Zoodboog ;) )

edit - code mistake

  • 0

C++ has a pretty significant drawback... keeping C compatibility! ;)

The D programming language looks promising. www.digitalmars.com

It's horrible because it isn't plain language. It would be nice if it was, but the "version" we are taught at school isn't just a "handy tool to sketch ideas" but attempts to be a structured language which has numerous syntax rules that contradict most "real" programming languages (such as = for both assigning and testing values). I have nothing against writing down rough algorithms or ideas on a piece of paper, I just hate this "glorified" version we are taught at school.

I see. I guess that could be a real beotch. The pseudocode I was taught was just used to rough out basic logic and it was plain english. Bummer.

I meant significant in size, enterprise stuff, or something like a manufacturing process control software. You know, big and complex. Sorry I didn't make that clear. I understand that for smaller apps where you or even a few people are writing everything, flowcharting isn't really necessary. I know I don't use them for personal projects. For academic purposes, and if you plan on pursuing programming for a living, it is a good practice to keep. Projects you may have worked on may not be always kept up by you, and there are many times that you'll inherit code that you didn't write, but have to maintain.

16, eh... damn! I didn't even like computers when I was 16.

Your project looks interesting. I have a friend that might find that useful. What kind of database does it use? Can it scale?

  • 0

man i love u guys

i go to all saints senior casula

near liverpool

hmm well theres alot of jargon talk

and whats syntax

i get soo deluded in jargon

talk

if u guys wanna post sumthing if its ok

can u put in brackets what the terms mean

i mean i gave never touched this stuff b4

ok this is what we did as a class and then u would see how slow we are

and like where do u find the commands like 'else'

how can u just pull that out of ur ass and noe what that means?..

program Convert decimal to binary;

uses;

wincrt

var

decinumber,remainder,whole:intergers;

begin

decinumber: = 0;

remainder: = 0;

whole: = 0;

write('Please enter a number');

readln(decinumber);

repeat

begin

remainder: =decinumber mod2;

whole=decinumber div2;

writeln(remainder);

decinumber=whole

end;

until whole=0;

end.

i mean where it says repeat and upwards

i dont get why

and in the beginning my teacher said we must set the intergers to zero

but why?

isnt it already sett?..

and in the bit where its begin

reamainder collen

whats the collen mean?

and mod 2

and div 2?

wtf

they said mod means modules =remainder

and div is divide

but whats with the '2'?..

and yeah gees im soo getting lost

and i dont wanna screw my hsc up because of software

but i wanan do good

becoz im very tenacious in computers

  • 0

Do you have a textbook for this class? All these things are defined in the language which you should be able to reference in your textbook, or the helpfile.

The word else is what is known as a keyword and is used in if... else control flow. It is a word that the compiler recognizes. It is how you control logical determinations. For instance, you determine if your favorite tv show is on by using a logical control.

Ex.

if the time is 6:00P.M. turn on channel 3 and watch Eastenders, otherwise (else) go have a beer.

When you declare a variable, it is unitialized. In other words, the compiler sees the declaration, allocates memory for the variable based on the data type( in remainders case, an integer ), and uses the name you assign it as the reference to the memory. That memory is unitialized. It can contain anything. Basically, you don't know what is there until you initialize the variable by assigning it a value. Try declaring a variable and print it out on the command line without initializing it. You'll get something, but not zero.

mod means modulus or modulo.

mod 2 means return the remainder of x/2. That technique is used a lot to determine if a number is even or odd. Does that make sense?

div is for integer division.

div 2, just means divide x by 2 and it won't return an remainder.

The colon after remainder is actually := which is an assignment operator. It assigns a value to the variable remainder. In programming, the value on the left side of the := ( known as an LValue )is what takes the value of the statement on the right side ( known as an RValue ).

If you see just the = by itself, it is evaluting. Is x = y? Does that make sense?

  • 0
Originally posted by Winston

man i love u guys

i go to all saints senior casula

near liverpool

hmm well theres alot of jargon talk

and whats syntax

i get soo deluded in jargon

talk

if u guys wanna post sumthing if its ok

can u put in brackets what the terms mean

i mean i gave never touched this stuff b4

ok this is what we did as a class and then u would see how slow we are

and like where do u find the commands like 'else'

how can u just pull that out of ur ass and noe what that means?..

program Convert decimal to binary;

uses;

wincrt

var

decinumber,remainder,whole:intergers;

begin

decinumber: = 0;

remainder: = 0;

whole: = 0;

write('Please enter a number');

readln(decinumber);

repeat

begin

remainder: =decinumber mod2;

whole=decinumber div2;

writeln(remainder);

decinumber=whole

end;

until whole=0;

end.

i mean where it says repeat and upwards

i dont get why

and in the beginning my teacher said we must set the intergers to zero

but why?

isnt it already sett?..

and in the bit where its begin

reamainder collen

whats the collen mean?

and mod 2

and div 2?

wtf

they said mod means modules =remainder

and div is divide

but whats with the '2'?..

and yeah gees im soo getting lost

and i dont wanna screw my hsc up because of software

but i wanan do good

becoz im very tenacious in computers

First of all Winston, your coding is very bad... sorry to be honest... I am surprise it even compile properly... Any ways... Let me rewrite your code in a proper way so it's very easy to understand. If you write it jibberish, then it's hard to understand... ok here it is...

<pre>

01 |   PROGRAM Convert decimal to binary;

02 |   uses;

03 |   wincrt

04 |   VAR

05 |   

06 |   decinumber, remainder, whole:INTEGERS;

07 |   

08 |   BEGIN

09 |     decinumber := 0;

10 |     remainder := 0;

11 |     whole := 0;

12 |     WRITE ('Please enter a number: ');

13 |     READLN (decinumber);

14 |   

15 |     REPEAT

16 |       BEGIN

17 |         remainder := decinumber MOD 2;

18 |         whole = decinumber DIV 2;

19 |         WRITELN (remainder);

20 |         decinumber = whole

21 |       END;

22 |     UNTIL whole = 0;

23 |   END.

</pre>

The reason I put those numbers there is because it's easier to point out which line I am talking about... Pascal ofcourse cannot have those numbers but you do have to have proper tabulation tho... for reading purpose...

You asked why line 9-11 has to be initialized. Well the reason being is that in Pascal, it can grab garbage values and set it for the null constant integers. You don't want this to happen. So you have to initialize it. One more thing, if the constant is inside a loop, it can reset it's value back to zero when it jumps back to the initialization. Now if you did not include those three lines inside or outside of the loop, and not initialize it, you might encounter some problem. You can have some values that you know the computer is pulling it out of the hat. :) hehehe

MODulus is how many times it can be divided for a whole (integer) number. MOD is an inverse of DIV and vice-versa.

Hope this answer some question... :) Do proper code so you can learn faster and easier... if you teacher does not stress on how important that is, then they are not doing it right. :)

  • 0

weenur:

Originally posted by weenur

C++ has a pretty significant drawback... keeping C compatibility! ;)

The D programming language looks promising. www.digitalmars.com

Considering how soon C followed B, D is very, very late :o

Once a langauge is standarised, it becomes difficult to extend it to support new features that are devised. C++ certainly saw this, hence C#. Hopefully C# is able to hold its own for as long as C++ or longer (a non .NET compiler is a start...)

I see. I guess that could be a real beotch. The pseudocode I was taught was just used to rough out basic logic and it was plain english. Bummer.

Yes, our course is to write Pseudocode algorithms as Pascall programs, not very much looser than that - we have some flexibility with arrays, parameters and user input (as well as having mythical conditions like "MachineIsTurnedOn" - oh the pain!)

I meant significant in size, enterprise stuff, or something like a manufacturing process control software. You know, big and complex. Sorry I didn't make that clear. I understand that for smaller apps where you or even a few people are writing everything, flowcharting isn't really necessary.

It took 9 months to develop our program with several rewrites of key sections (for performance, scalability, userbility and to make it look nicer :) ). I think, looking back, more planning may have saved us time.

I can see uses for UML and flowcharts, even Pseudocode in some cases but never to write the program twice :o

Your project looks interesting. I have a friend that might find that useful. What kind of database does it use? Can it scale? [/b]

Each shooter is one .ini file with a section for each record. It works fine for a few hundred records. We did it that way 'cause of file size, ease of installation, and it's damn hard to test applications on NT4 (school testing, feedback from the project "coordinator" - teacher and Shooting Master) when your account is so restricted (now I have a VB program just to execute files). We accounted for this with the Archive tool that bundles up ancient records into a self-extracting .exe for later...

As I said, few hundred records is fine. A few hundred shooters is fine provided you don't want to see the "All" category (not prety, method is practicle given the nature of Shooting clubs in Australia)

You can add your own targets so it can even be adapted to Pistol shooting or Archery...

Winston:

(Krome and Weenur have beaten me, but you can read my explanation anyway)

First let's get your program looking better (I'm not doing your work btw).

<pre>

[b]program[/b] ConvertDecimalToBinary; 



[b]uses[/b]

    wincrt;



[b]var[/b]

    DeciNumber, Remainder, Whole : Integer; 



[b]begin[/b]

    DeciNumber := 0; 

    Remainder := 0; 

    Whole := 0; 

    write('Please enter a number '); 

    readln(DeciNumber); 

    [b]repeat[/b]

        Remainder := DeciNumber [b]mod[/b] 2; 

        Whole := DeciNumber [b]div[/b] 2; 

        writeln(Remainder); 

        DeciNumber := Whole;

    [b]until[/b] whole = 0; 

[b]end.[/b]

</pre>

OK, now I can read it :)

Now, it prints the binary read from bottom to top.

  • You're correct, there is no need to set the DeciNumber, Remainder or Whole to 0, they will be set during the course of the program. It's just good practise 'cause you will get strange errors if you try to do something to a variable that doesn't have its value set (the complex explanation is that it will have the value currently in memory of its address...)
  • div is Integer Division. That means that the result will be an Integer so that you can assign it to an Integer. If you use / the result could be a Real number so Pascal (being the nice and careful thing it is) won't compile.
  • mod does indeed stand for Modulus which is the same as Remainder. You probably did Mod Maths in Year 8 and have forgotten all about it. It will return the Remainder when dividing the two numbers. Therefore when you divide a number by "2", there can only be 2 results, "0" or "1". Hence you find the binary version of the number.

Programming algorithms is just maths. It helps if you did Advanced Maths in Years 8, 9 and 10. Helps even more if you're a Maths genious :D . I'm not, btw so when all else fails I start drawing on paper or leaving it 'til tomorrow.

Weenur #2:

I doubt he'd have a Pascal text book. And they're damn hard to find nowadays. The teacher might photocopy some sheets for them. Not very good situation.

Krome:

That wouldn't compile. I'd say he's just copied it out. I compiled it to make sure it was remotely correct.

btw, you don't need a begin..end pair around repeat..until

  • 0
Originally posted by hornetfighter

Krome:

That wouldn't compile. I'd say he's just copied it out. I compiled it to make sure it was remotely correct.

btw, you don't need a begin..end pair around repeat..until [/b]

If that last statement was for me, then let me say that the coding was all his.. hehehehee I was just trying to put it so it's easier to read... but I guess yours was an excellent way too...

  • 0
Originally posted by Krome

If that last statement was for me, then let me say that the coding was all his.. hehehehee I was just trying to put it so it's easier to read... but I guess yours was an excellent way too...

The first line was for you referring to the fact that Winston's code was wrong. You fixed it OK too.

My biggest annoyance with Pascal is the need for begin..end everywhere. Using it where it isn't need it will always get a response :D

  • 0

nahh teacher made the code i didnt

lol

i dont even noe where did he put that out his ass man..

fark...

all this maths BS

ok say i wanna make an app for adding numbers

how the hell would i noe what the command is

just like mod and div

  • 0
Originally posted by hornetfighter

The first line was for you referring to the fact that Winston's code was wrong. You fixed it OK too.

My biggest annoyance with Pascal is the need for begin..end everywhere. Using it where it isn't need it will always get a response :D

Oh ok... hehehe :) I was a bit clueless when I saw the original posted codes... but after I saw your revised coding, dang it bring back a lot of memory... I started remembering a lot more of Pascal... Thanks for bringing me back to the memory lane.. ehhehe :)

  • 0
Originally posted by Winston

nahh teacher made the code i didnt

lol

i dont even noe where did he put that out his ass man..

fark...

all this maths BS

ok say i wanna make an app for adding numbers

how the hell would i noe what the command is

just like mod and div

Try to find Pascal textbook and they will introdude you to the "reserved words" (meaning Pascal internal command syntax).

  • 0
Originally posted by Krome

Try to find Pascal textbook and they will introdude you to the "reserved words" (meaning Pascal internal command syntax).

Sorry to pre-empt you again but you raised an interesting point...

If you use the Heinemann (Allan Fowler) text book, there's "railroad" syntax-structure diagrams for Pascal at the back.

(Railroad diagrams are another useless part of our SDD course)

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • BrowserOS 0.46.0 by Razvan Serea BrowserOS is a free, open-source Chromium-based browser that runs AI agents natively, offering a smarter, more productive browsing experience. It supports Chrome extensions and integrates AI agents to automate tasks, fill forms, and streamline workflows. Your data stays on your computer: you can use your own API keys or run local models via Ollama, making it a privacy-first alternative to tools like Perplexity, Comet, or Dia. With built-in productivity tools and app integrations, BrowserOS boosts efficiency while keeping control firmly in your hands. Being Chromium-based, BrowserOS lets you effortlessly import your bookmarks, passwords, and Chrome extensions in just a few clicks. BrowserOS works with OpenAI GPT models, Anthropic Claude, Google Gemini, and local AI models via Ollama or LMStudio. You can use your own API keys and effortlessly switch between providers. BrowserOS Agent Your AI productivity assistant that organizes and manages your browsing effortlessly Quickly list, group, or close tabs Save and resume browsing sessions Search your history and organize bookmarks Switch instantly to the tab you need BrowserOS Navigator – Automate web tasks with ease Navigate websites and search automatically Interact with pages without manual effort Handle repetitive tasks in seconds What makes BrowserOS special Feels like home - same familiar interface as Google Chrome, works with all your extensions AI agents that run on YOUR browser, not in the cloud Privacy first - bring your own keys or use local models with Ollama. Your browsing history stays on your computer Open source and community driven - see exactly what's happening under the hood MCP store to one-click install popular MCPs and use them directly in the browser bar (coming soon) Built-in AI ad blocker that works across more scenarios! BrowserOS 0.46.0 changelog: Run Claude Code & Codex right in your browser — We've extended the agent harness to bring full coding agents into BrowserOS. Claude Code and Codex now come bundled and plug straight into the assistant, so you can drive your browser with the agent — and the subscription — you already use. A brand new experience — A redesigned new tab, a calmer composer, and a rebuilt command center for switching between agents. The whole assistant is cleaner, faster to reach, and easier to live in. New MCP tools — We rebuilt the browser tool surface from the ground up — a tighter, more reliable set of tools for agents to drive the browser. Plus one-click install of BrowserOS as an MCP server into the agents you already run, with automatic URL sync. Chromium 148 — Updated to the latest Chromium base with all recent upstream fixes and security patches. Streamlined — We've pulled back a few features that weren't getting much use — Skills, Soul, and Memory — so we can focus and ship better versions of them soon. Download: BrowserOS 0.46.0 | 181.0 MB (Open Source) Download: BrowserOS for macOS | 485.0 MB Links: BrowserOS Homepage | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Microsoft finally admits its default Windows 11 25H2, 24H2 action broke key legacy component by Sayan Sen Microsoft last week released Windows 11 KB5094126 and KB5093998 as the latest Patch Tuesday updates. Following that the company also published the accompanying dynamic updates under KB5094149, KB5095971, and KB5094156. So far the company has acknowledged two known issues that have popped up after the release which include bugged-out Office apps as well as the Recycle Bin; though there could be more at play too. Speaking of bugs and issues, Microsoft seems to have finally acknowledged a problem that probably has been around for close to a year. That's because back in July of 2025 the company made a default change to the latest Windows 11 versions, wherein it switched to JScript9Legacy on Windows 11 24H2 and later releases. Hence following the release of version 25H2 in October 2025, JScript9Legacy also remained default-enabled. As a result there has been a compatibility issue ever since then. For those wondering, by switching to JScript9Legacy Microsoft intended to improve the security of modern Windows PCs by reducing vulnerabilities tied to legacy scripting like cross-site scripting (XSS), among others. XSS exploits can allow cyber-attackers to attach malicious code onto legitimate websites and use them to execute the code when a potential victim loads such a website. Hence the new JScript9Legacy engine enforced stricter execution policies and improved object handling, which should help mitigate such attacks. Microsoft today has published a new support article detailing the problem. Neowin spotted it while browsing. The company says that JScript global definitions and execution context may fail to persist across scripts, potentially breaking older dependent apps and web-based components that relied on this legacy behavior. In the article Microsoft has confirmed that the issue stems from its move away from the older jscript9.dll engine in favor of jscript9legacy.dll. As mentioned above, while the newer engine was designed to address vulnerabilities and strengthen security it also changes how JScript handles execution context. As a result functions and definitions loaded by one script could no longer remain available to subsequent scripts once execution ended. The company notes that some applications worked correctly on earlier Windows versions because the older JScript engine automatically retained global definitions and execution state between scripts. Under the newer model though that behavior is disabled by default causing certain legacy workloads and polyfill-dependent scripts to fail. Microsoft says it addressed the problem via the KB5077241 update though the fix had not been enabled automatically in the following updates. As such admins must explicitly turn on persistent JScript execution context using a Registry setting that the tech giant shared today. The configuration can be applied to individual processes or system-wide through the FEATURE_ENABLE_PERSISTENCE registry key. The steps have been outlined below: Run the following command to create the feature control registry key: reg add "HKLM\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ENABLE_PERSISTENCE" Under this key, create a new DWORD (32-bit) value. Configure the value as follows: To enable persistence for specific processes only: Set the value to 1 for each target process name. To enable persistence for all processes: Add * as the key name and set its value to 1. You can find the official support article here on Microsoft's website.
    • The possibility that milk gathers back into a glass implies that gravity can be 'reversed'.
    • VidCoder 12.20 by Razvan Serea  VidCoder is a DVD/Blu-ray ripping and video transcoding application for Windows. It uses HandBrake as its encoding engine. Calling directly into the HandBrake library gives it a more rich UI than the official HandBrake Windows GUI. VidCoder can rip DVDs but does not defeat the CSS encryption found in most commercial DVDs. You’ll need the NET 8 Desktop Runtime. If you don’t have it, VidCoder will prompt you to download and install it. The Portable version is self-contained and does not require any .NET Runtime to be installed. You do not need to install HandBrake for VidCoder to work. Feature list: Multi-threaded MP4, MKV containers Completely integrated encoding pipeline: everything is in one process and no huge intermediate temporary files H.264, H.265, MPEG-4, MPEG-2, VP8, Theora video Hardware-accelerated encoding with AMD VCE, Nvidia NVENC and Intel QuickSync AAC, MP3, Vorbis, AC3, FLAC audio encoding and AAC/AC3/MP3/DTS/DTS-HD passthrough Target bitrate, size or quality for video 2-pass encoding Decomb, detelecine, deinterlace, rotate, reflect, chroma smooth, colorspace filters Powerful batch encoding with simultaneous encodes Customizable Pickers to automatically pick audio and subtitle tracks, destination, titles and more Instant source previews Creates small encoded preview clips Pause, resume encoding VidCoder 12.20 changes: Updated HandBrake core to 1.11.2. Download: VidCoder 12.20 | 47.0 MB (Open Source) Download: Portable VidCoder 12.19 | 89.3 MB Link: VidCoder Home Page | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Week One Done
      Jordan Smith earned a badge
      Week One Done
    • Reacting Well
      BizSAR earned a badge
      Reacting Well
    • First Post
      AndreaB earned a badge
      First Post
    • Week One Done
      Huge Trailer earned a badge
      Week One Done
    • Week One Done
      Classifyskilleducation earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      590
    2. 2
      +Edouard
      185
    3. 3
      PsYcHoKiLLa
      76
    4. 4
      Michael Scrip
      73
    5. 5
      Steven P.
      66
  • Tell a friend

    Love Neowin? Tell a friend!