Live data from Hacker News

A TLS 1.3 stack written in Visual Basic 6

github.com

91–100 of 101 posts

Re: A TLS 1.3 stack written in Visual Basic 6

#91
post #7

wqweto is a genius. Check out his twinbasic project, 99% similar to VB6 with a bunch of extras, modernising the language. Shout out to all the VB6 legends still going at it and extending the language, wqweto, the trick, olaf, retailcoder.

Twinbasic isn't wqweto's, it's Wayne Phillips.

Re: A TLS 1.3 stack written in Visual Basic 6

#92
post #79
post #74

Earlier quoted context omitted.

> “how do I add a button at the bottom-right of my app?!” Whenever I work with a WYSIWYG GUI designer I ask myself a different set of questions instead: Is this button really in the bottom right, or does it just happen to look that way at the current window size? Is the spacing on all sides actually equal, or are the pixel coordinates just close enough that I can't see the error? If I click the button to find out, wi…

> Is this button really in the bottom right, or does it just happen to look that way at the current window size? To be fair, that would mean you're not using a WYSIWYG GUI designer. With VB6, you could resize the window, in the editor, and watch the elements move around.

Sure, but you have to manipulate the window to find out, instead of knowing that it's in the bottom right because that's what you specified.

And now your carefully set window size has changed, just because you were trying to find out the layout parameters of the button. So you have to go and poke at the properties of the window, if you can remember what size it was supposed to have, And hope you don't accidentally change anything else in the process, because "git diff" isn't going to be much use.

Well, maybe it's just me. I prefer writing a specification (e.g. source code), which can be reviewed and diffed, and then compiling/executing it.

Re: A TLS 1.3 stack written in Visual Basic 6

#93
post #47

Fond memories of my earliest 'programming' experiences with VB6. I remember making a currency convertor in it when I was about 10 and thought it was the coolest thing ever. Either that or GORILLA.BAS ;)

I was a little later so my memories are things like dos32.bas, VB6 code to make pr0ggi3s for AOL. 12-14, making punters to boot people off, making l33t phaders for your chat room text (gradient color)... i made a scrambler that got pretty popular-- a chat room game where you competed to unscramble words the fastest. Even made it so it avoided the esay csae of smae fisrt and lsat.

I was a huge asshole back then but it was a lot of fun.

Re: A TLS 1.3 stack written in Visual Basic 6

#94

Earlier quoted context omitted.

I think we all have similar stories of tools like VB being pushed far beyond their original purpose by someone with enough motivation, and creating perfectly functional, yet extremely unconventional code. Here's another example I found in my links of old interesting web stuff --- a server for the MMO Habbo Hotel, written by (at the time) a teenager: https://files.johno.uk/habbo/h4bbo.net/archive/HabboStuff/Mo...

The most impressive 'pushed beyond it's limits' code I've seen is The trick's VB6 kernel mode driver. Yep, really. VB6. Kernel mode. You have to strip out the MSVBVM60.dll dependency, which dramatically limits what language features you can use, but it's possible, albeit for 32bit Windows only, of course. https://www.vbforums.com/showthread.php?788179-VB6-Kernel-mo... Inspired by that, I made a similar 'hello world'…

The trick is an actual genius. Why are people like that still using vb6 and making these awesome things? I'm not complaining, it makes me happy! Love reading your posts too, fafalone. Imo you're up there with these other fellas! Keep at it.

Re: A TLS 1.3 stack written in Visual Basic 6

#95

Earlier quoted context omitted.

In my first job, I was given a VB6 project to maintain which had a mixture of "Option Base 1" and "Option Base 0" (or unspecified, this being the default), with occasional "On Error Resume Next". This specifies the index value for the first item in an array, i.e. you could choose the default European building floors (ground floor is 0) or American floors (ground floor is 1) -- per module! I had to convert everything…

Would not the UBound and LBound functions not solved those issues?

Yes, though I didn't know they existed.

The existing code was written with 0 or 1 as required (except where there were bugs), and frankly I think it's was better anyway to use 0 everywhere rather than LBound(x).

Re: A TLS 1.3 stack written in Visual Basic 6

#96
post #94

Earlier quoted context omitted.

The most impressive 'pushed beyond it's limits' code I've seen is The trick's VB6 kernel mode driver. Yep, really. VB6. Kernel mode. You have to strip out the MSVBVM60.dll dependency, which dramatically limits what language features you can use, but it's possible, albeit for 32bit Windows only, of course. https://www.vbforums.com/showthread.php?788179-VB6-Kernel-mo... Inspired by that, I made a similar 'hello world'…

The trick is an actual genius. Why are people like that still using vb6 and making these awesome things? I'm not complaining, it makes me happy! Love reading your posts too, fafalone. Imo you're up there with these other fellas! Keep at it.

They are the perfect example of the "it's not about the tool, it's how you use it" mentality. I'm not complaining either --- and actually think that we can learn a lot from how these people approach their work.

Re: A TLS 1.3 stack written in Visual Basic 6

#97

I’m seeing in-line x86 assembly encoded as floating-point constants, implementing what looks like indirect function calls (function pointers?). Is this…normal for advanced VB code? Does VB6 not have any other mechanism for function pointers?

You can use the "AddressOf" operator to get a function pointer, but it can only be used to pass to native (Win32) functions. This is how you do things like implementing your own WndProc function. VB itself can't call through the resulting function pointer.

The trick was to use some Win32 API function that is guaranteed to invoke the callback right away with the arguments that you specify explicitly. CallWindowProc was the usual go-to for that.

Re: A TLS 1.3 stack written in Visual Basic 6

#98

Earlier quoted context omitted.

And this is why I absolutely refuse to do the whole HTML and Co. method of doing GUI's to this day. (XAML etc). I use tools like ETO instead where possible, where I define my UI in code, and it's built to the native UI toolkit whereever relevant. At no point am I writing fucking XML (why does anyone think this is a good idea?!) for a UI. I'm saying I want a title bar with these elements, directly in code. It's fantas…

You may like my project, once I get around to open sourcing it. I feel, of the three ways of designing guis, the most explored is the declarative way, and there seems to be an assumption by everyone that this is the best way... But, there is absolutely no data that I could find that supports this view. I made a small js library to make it easier to quickly write the widgets and layout of widgets in code only. So fa I…

I'd love to see it, but alas, C# developer!

Re: A TLS 1.3 stack written in Visual Basic 6

#100
post #19

Earlier quoted context omitted.

I completely agree. I've played with VB6 a few times recently and it feels so fast and natural to make a UI compared to modern frameworks. A bit part of it feels like a dedication to highly polished developer tooling. A strong GUI editor that works with (mostly) zero configuration is a big feature of VB6 to me.

I don't speak for everyone, but in the end what bothered me of VB6 was that it was simply very slow. But nothing compares with the joy of loading some obscure .dll and finding out you now had some neat and fully functional component ready to lay out in your app.

Heyyyy ;) Computers were slow. Java applets were slowest. These days I think QT is slow.

It’s not, but with the decadal upgrades in hardware… there should be things that load instantly. Everywhere!

(Deep breath on my end. Ok.) It’s like how games went from a few kilobytes at most, to megabytes disk or dialup… to blue CDs, to 4.7gb, to blu-ray, to 0.5 TB downloads, to second mortgages.

And most of them suck anyway! We will always max out our tech, even if it doesn’t get us much. I mean… we bought that hardware for reasons.

Post reply on HN