Ah, that did it. You'll want some .htaccess trickery to force https on people.
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
# POST AND PM INLINE ATTACHMENTS BEGINS
RewriteEngine on
RewriteRule attachment_(\d+)\.(\d+)_(\d+)\.pdf index.php?action=dlattach;topic=$1.$2;attach=$3
# POST AND PM INLINE ATTACHMENTS ENDS
Before you start this course click here and please take a few minutes to read the forward.Kudos for all the obvious effort! Looking forward to seeing your progress through May.
Me less, but Google is at our side. We use this to force it for Forum access:Code: [Select]RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
# POST AND PM INLINE ATTACHMENTS BEGINS
RewriteEngine on
RewriteRule attachment_(\d+)\.(\d+)_(\d+)\.pdf index.php?action=dlattach;topic=$1.$2;attach=$3
# POST AND PM INLINE ATTACHMENTS ENDS
This is in a file named .htaccess in the /forum subfolder. We don't keep it in the root (which is why qb64.org can be accessed via regular http) because we need to download using QB64 itself, which doesn't do HTTPS. Wiki doesn't have it either.
There some code up there to change how attachments work, but that's specific to the forum software. The first two lines should work for you if you place the file on your public_html folder.
Some of the links still don't work. I'm actually working on the forward right now.I cannot stress enough the incredible value of sites like yours - and I'm not just blowing smoke up your kilt!
So essentially, thank you! I look forward to watching your progress throughout the coming weeks.
:@)
Well you got the .htaccess file worked out, I see. Your site NOW loads for...
http://qb64sourcecode.com/
https://qb64sourcecode.com/
http://www.qb64sourcecode.com/
https://www.qb64sourcecode.com/
Nice going!
Really great work, glad you are working to complete the lessons, thumbs up!
Terry - Search the site is what I meant - aka Wiki on Steroids
- Pete's String Math. Finding some useful uses as it's more forgiving if I didn't DIM the variable correctly or math routine takes the result into Sc Note. Also a little handier with _PrintString
then covering numeric to string and _Printstring. But I'm unsure of how to get the most out of it.
Task 12 has been added. The "Your Turn" section for it has nothing yet however. Having a mental block trying to think of a simple program for someone to write for this task. It'll come to me in a few days I'm sure. On to Task 13.
Also, not sure what you mean by "about the tip of null string found by INSTR (chapter 11) in any string".nothing else that INSTR returns 1 if you seach a nullstring like this s$="" in any kind of string...
TempodiBasic talking about this?Code: QB64: [Select]
Well, I'm not sure if this is a bug or not. Technically a null string "" is contained in every string. I will add this oddity to the INSTR section in the tutorial though to let others know this situation exists. Thanks for bringing it to my attention TempodiBasic.
Nothing from nothing leaves nothingI had completely forgotten that Billy Preston song. :)
You gotta have something
If you want to use QB
Nothing from nothing leaves nothing
You gotta have something
To make INSTR work for me
KOMPOZER - NVU 1.0, released in June 2005, is the last official release that you will find at most download sites, however, it isn't the newest or best version of the Nvu software. An unofficial bugfix/update called "KompoZer" is available here. KompoZer is not a cure-all for all the bugs in NVU 1.0, but it does fix some of the major annoyances. If you use NVU 1.0 and it works for you, stick with it. But if you run into problems, give KompoZer a try and see if it helps.
I have both. Nvu is older, but it's also better. Go figure.
Pete
Hi
You know I have downloaded your whole website till task 16 and am working on rearranging it and adding styles with CSS and javascript. (My main thing is web nerdinessI'm even learning SQL) And when you finish all tasks I'll send you the modified version so you can either replace it with yours or add it as another option in a /new sort of dir or something
had to send you a ton of e-mails so you start making it again (lol)
Chapter 17: very comprehensive. Thanks, Terry!
Yes !
Collision detection: great discussion about different way to get the collision between sprites.
Sprite Sheet : an increasing walking through the animation's methods in a 2D world.
I'm a follower ! :-)
Hey Terry,
Always been a fan! I'm on the road right now too so I can't be as verbose as usual. Just wanted to raise a few things.
This is all about your page on vectors and motion. First off, nice job compensating for the fact the the default coordinate system violates the right hand rule and defines trig upside down.
My bone is with the word "vector" as used. It's introduced as a way to keep track of direction, which is only mostly true. Bear with me...
Starting at the top, the position in the XY plane is itself a vector. It doesn't need motion to be taking place. When you modify a position vector to make something move, you are adding a displacement vector. A displacement vector is defined like
\vec{displacement} = (speed) * (timestep) * cos(ang) * \hat{x} + (speed) * (timestep) * sin(ang) * \hat{y}
Where \hat{z} is a vector of maginude 1 whose only job is to point.
In this notation, the velocity vector divides out the time step:
\vec{velocity} = \vec{displacement} / (timestep)
And next, note that the velocity vector is the product of a speed scalar and a unit vector denoting pure direction:
\vev{velocity} = (speed) * \hat{vel}
... Where \hat{vel} contains just the trig terms and the x and y unit vectors. This is the proper object that denotes direction.
Anyway sorry for sloppy notes. Cell phone blues...
Try this link too
http://barnes.x10host.com/writing/Vectors%20and%20Trigonometry/Vectors%20and%20Trigonometry.pdf
The term in question is Component. Check it out on internet, the x component and the y component of a vector.
Hi @TerryRitchie. I was follwing your tutorial even before join the community. Very broad and helpful. Thanks for the effort. A humble suggestion: maybe some comments could be added in tasks 16 (transparency) and 17 (collision) regarding games based on text characters. It sounds simple but there are some tricky aspects to it, specially in edge-sensitive collision detection between complex (non-rectangular) character sets. I had a hard time figuring that out and ended up hard coding the calculations. @Ashish help me to abstract it further (I didnt posted that yet). Tutoriais on these topics would be great I think. Im willing to help but not sure if Im up to the task.
There's all sorts of sorts over at my forums, archived: https://qb64.freeforums.net/thread/97/huge-sort-routine
SUB CountSortedReps (Array() AS DOUBLE, start&, finish&)
SUB FlashSort (Array() AS DOUBLE, start AS LONG, finish AS LONG, order&)
SUB InsertionSort (Array() AS DOUBLE, start&, finish&, order&)
SUB ShellSort (Array() AS DOUBLE, start&, finish&, order&)
SUB ShellSortBidirectional (Array() AS DOUBLE, start&, finish&, order&)
SUB QuickSortRecursive (Array() AS DOUBLE, start&, finish&, order&)
SUB QuickSortIterative (Array() AS DOUBLE, Start&, Finish&, order&)
SUB QuickSortDualPivot (Array() AS DOUBLE, start&, finish&, order&)
SUB mergeSort (Array() AS DOUBLE, start&, finish&, order&)
SUB bubblesort (Array() AS DOUBLE, start&, finish&, order&)
SUB CocktailSort (Array() AS DOUBLE, start&, finish&, order&)
SUB InsertionSortBinary (Array() AS DOUBLE, start&, finish&, order&)
SUB BucketSort (Array() AS DOUBLE, start&, finish&, order&)
SUB InsertionSortx (Array() AS DOUBLE, start&, finish&, order&)
SUB HeapSort (Array() AS DOUBLE, Start&, Finish&, order&)
SUB IntroSort (Array() AS DOUBLE, start&, finish&, order&)
SUB QuickSortIJ (Array() AS DOUBLE, start&, finish&, i&, j&, order&)
SUB flashSORTType (Array() AS FlashRec, start AS LONG, finish AS LONG, order&)
SUB primeGapSort2 (Array() AS DOUBLE, start&, finish&, order&)
SUB CombSort (Array() AS DOUBLE, start&, finish&, order&)
SUB SelectionSort (array() AS DOUBLE, start&, finish&, order&)
SUB cycleSort (array() AS DOUBLE, start&, finish&, order&)
SUB shellSortMetzler (array() AS DOUBLE, start&, finish&, order&)
SUB PrimeGapSort (array() AS DOUBLE, start&, finish&, order&)
SUB PostSort (array() AS DOUBLE, start&, finish&, order&)
SUB HashListSort (array() AS DOUBLE, start AS LONG, Finish AS LONG, order&)
SUB RadixSort (a() AS DOUBLE, start&, finish&, order&)
SUB BatcherOddEvenMergeSort (Array() AS DOUBLE, Start&, Finish&)
SUB SinglePassShellSort (array() AS DOUBLE, start&, finish&, order&)
SUB BitonicSort (a() AS DOUBLE, lo&, n&, dir&)
SUB SnakeSort (Array() AS DOUBLE, start&, finish&, order&)
SUB JoinSort (Array() AS DOUBLE, start&, finish&, order&)
SUB QSortRecursiveSimplified (array() AS DOUBLE, start&, finish&)
SUB SmoothSort (TypedArray() AS DataElement)
SUB QuickSortIterativeMedianOf3 (Array() AS DOUBLE, Start&, Finish&, order&)
And you can find my handy dandy MemSort here: https://www.qb64.org/forum/index.php?topic=1601.msg114392
Sup Terry,
:)
I'm nearly finished making a webpage that I'll send you on mail on which users can upload projects they've made using your tutorials and all their projects (or at least their G-Drive links as I'm not so good) will be shown
:)
Awesome! I know what CSS is and how it works, even took a one semester course on it back in 2010 using Dreamweaver. I can't remember squat about it. I would love to have the site dynamically resize for portable devices. Thank you for taking this on. I look forward to seeing the final result. I'm almost finished with Task 17 - Collision Detection. By my estimate I *should* be finished with all tasks by the end of this month.@TerryRitchie Finally! After near a month of learning SQL and PHP just for making that page i have finished yesterday
@TerryRitchie Finally! After near a month of learning SQL and PHP just for making that page i have finished yesterday
But to give it to you I need a few favors, none of which allow me access to anything which you dont want me to access. As u told me in a mailSo by this ill have access to a database which is totally safe :) and access to uploads folder and that's it
- 1: in your qb64sourcecode.com's main directory (which contains index) create a folder called "upload"
- 2: Create an ftp account (https://www.godaddy.com/help/add-ftp-users-to-my-linux-hosting-account-16044 (https://www.godaddy.com/help/add-ftp-users-to-my-linux-hosting-account-16044)) and set the quota toat least 50 MB and restrict it to the uploads directory (so i will only be able to upload files to qb64sourcecode.com/uploads) and mail me the details (ftp username password port and thats it no access to anything but uploads)
- 3: Create a MySQL Database (https://zemez.io/wordpress/support/knowledge-base/creating-mysql-database-godaddy/ (https://zemez.io/wordpress/support/knowledge-base/creating-mysql-database-godaddy/)) and name it anything you like and a pwd and mail details including db name pwd and db username and thats it
no harm done