Posts: 9147
Threads: 83
Joined: May 22, 2013
Reputation:
46
RE: Help me with my new website!
November 16, 2018 at 6:28 pm
(This post was last modified: November 16, 2018 at 6:28 pm by bennyboy.)
(November 16, 2018 at 3:52 pm)FlatAssembler Wrote: I don't quite understand why some people buy new mobile phones every now and then. It's because new applications require better phones, and because people want to use those new applications
Quote:And, frankly, I don't see that mobile phones are getting better.
I rarely use the term "objectively," but you could argue that phones are getting objectively better-- higher resolution, more processing power.
Quote:Those are just my thoughts, maybe I am missing something.
Yeah. First of all, browsers are getting better and better. Old Android phones won't run my (quite complex) site properly unless users download Chrome separately, but new ones easily do.
Second, you are basing your decisions on dreamland ideas about how things SHOULD be. If you want to be a programmer, program for what customers actually have, not what you personally think they ought to have.
Posts: 5466
Threads: 36
Joined: November 10, 2014
Reputation:
53
RE: Help me with my new website!
November 17, 2018 at 6:43 pm
I would also say that the economic realities of Croatia, Bosnia, and/or Herzegovina aren't really a good measure of how/why tech advances, nor of the consumer culture that propels those advances.
Yeah, people could get by with a Windows 7 PC, or a 6 year old Android phone, or whatever else. But, we're greedy. We want faster devices with bigger screens and flashier apps. It's not just an American thing. The wealthier EU countries, China, Japan, South Korea, etc. all push for these advancements.
You have to remember: it's a World Wide Web. When you publish a site, you can't simply assume your audience will only be the people you intend to reach, especially if it's a site that's written in English. You're inevitably going to have a global audience, and that audience is accustomed to a certain base-level of aesthetic and functional quality.
Regarding node, like always, go to the source: https://nodejs.org/en/docs/ This will help, too: https://www.npmjs.com/
npm is a part of node, so when you install node, you get the package manager for free. Virtually all languages use some sort of package manager, allowing developers to easily download and install 3rd party components in order to build their own app with. Because, in the real world, most of the problems that they teach you in school have already been solved, and writing your own code to, say, grab a HTTP request and parse it is simply a waste of time. JavaScript has npm or yarn (probably others). PHP has Composer. Ruby has gems. .NET everything has Nuget. And so on.
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
Posts: 2020
Threads: 133
Joined: July 26, 2017
Reputation:
5
RE: Help me with my new website!
November 23, 2018 at 1:19 am
(This post was last modified: November 23, 2018 at 2:06 am by FlatAssembler.)
Quote:Old Android phones won't run my (quite complex) site properly unless users download Chrome separately, but new ones easily do.
How? In my experience, Android Stock Browser behaves mostly like Internet Explorer 11. It even appears to copy some Internet Explorer 11-specific behaviors (incorrect handling of HTML5 elements different from Internet Explorer 6-like handling, the default styles of the SVG elements, refusing to apply some CSS styles to SVG elements other browsers allow you to...). If your site works in Internet Explorer 11, it's hard to see why it wouldn't work in the Android Stock Browser.
Quote:Second, you are basing your decisions on dreamland ideas about how things SHOULD be.
It's not quite living in a dreamland to state an obvious fact that iPhones, the most popular and one of the most expensive mobile phones today, are not worth their cost. They are inferior to the less expensive mobile phones both in software and in hardware. I know from personal experience (since I've had 2 iPhones) that the docks of their motherboards short out after only months of use, and that the repair is so expensive you can buy a new mobile phone for that money. And, I am not sure about other software, but I see that their browser is bad. Not as much as Opera Mini, but still bad. What works in other mobile browsers immediately doesn't work in Safari on iPhone even after hours of tweaking. It is, much like Internet Explorer 6, full of behaviors that are specific to it, yet you can't explore those behaviors properly because it has no developer tools. And Apple also doesn't quite let you install a better browser, because every browser on iPhones needs to use AppleWebKit for HTML and CSS and JavaScriptCore for JavaScript.
Quote:I would also say that the economic realities of Croatia, Bosnia, and/or Herzegovina aren't really a good measure of how/why tech advances, nor of the consumer culture that propels those advances.
You realize most of the people live in countries even poorer than Bosnia and Herzegovina, right?
Posts: 5466
Threads: 36
Joined: November 10, 2014
Reputation:
53
RE: Help me with my new website!
November 23, 2018 at 3:37 am
And? Those people aren't pushing technology forward via economic demand. At least, not nearly to the extent a person living in, say, Seoul, is.
I mean, you are aware of the trickle-down effect associated with flagship devices, right? Hint: it's why Microsoft's lineup of Surface devices exists.
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
Posts: 9147
Threads: 83
Joined: May 22, 2013
Reputation:
46
RE: Help me with my new website!
November 24, 2018 at 11:35 am
(This post was last modified: November 24, 2018 at 11:37 am by bennyboy.)
FA, I really need to ask you this: why would you want to limit your market to people / technologies in poor countries, instead of making apps that people in richer countries might use? Is your intent to prevent yourself from ever making money using programming?
I think one of the absolute best things about programming for the web is that some dude with a pretty basic computer can still have a chance to write the next killer app. But if you are trying to support 10 year-old technologies, then there's very little chance of ever moving forward, right?
Posts: 5466
Threads: 36
Joined: November 10, 2014
Reputation:
53
RE: Help me with my new website!
November 24, 2018 at 5:48 pm
(November 24, 2018 at 11:35 am)bennyboy Wrote: I think one of the absolute best things about programming for the web is that some dude with a pretty basic computer can still have a chance to write the next killer app. But if you are trying to support 10 year-old technologies, then there's very little chance of ever moving forward, right?
And it's not just the web any longer. Both Unity and Unreal are free. There's a shit ton of games on Steam that were made by individuals (or small teams) that have done incredibly well. Example: Stardew Valley was made by a single guy. It's one of the most popular, award-winning games in recent years (with another sales boost recently because it was ported to the Switch). Owlboy was made by a small (like, somewhere around 10 people) team. The list goes on.
This is the best era ever to be a developer in. Between all the free tools for web, game, and mobile programming, reasonably priced IDEs (the years of spending thousands of $$ every year for something like a Visual Studio license are over... my PHP IDE and separate database tools cost a little over $100/year combined), and a global audience that has easy access to some form of device, there's really no reason to limit yourself.
The real question is, who do you want to write code for? You have a literal world of choices.
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
Posts: 2020
Threads: 133
Joined: July 26, 2017
Reputation:
5
RE: Help me with my new website!
November 25, 2018 at 2:06 pm
Quote:I mean, you are aware of the trickle-down effect associated with flagship devices, right? Hint: it's why Microsoft's lineup of Surface devices exists.
I am not sure what you mean.
Quote:FA, I really need to ask you this: why would you want to limit your market to people / technologies in poor countries, instead of making apps that people in richer countries might use?
Well, first of all, that's a way to prove you actually know JavaScript and CSS, right? Being able to do things without the help of frameworks or the features of new browsers is valuable, isn't it?
Also, you are saying I should be careful not to do too much work client-side. But being able to do more work client-side is one of the reasons why people make new and better browsers, right? Testing JavaScript in older browsers is a way to tell whether the algorithms you've used are efficient enough.
And is there really something wrong with the way my web-app looks?
Most of the Internet forums, by the way, work with a very wide range of browsers. This forum, for instance, works in Internet Explorer 8 without problems. And there are quite a few Internet forums today that work even in Internet Explorer 6 without problems.
Quote:the years of spending thousands of $$ every year for something like a Visual Studio license are over
And why didn't you use VIM, or something like that, those days? According to StackOverflow, there are still quite a few developers, especially web-developers, who prefer to use simple text editors rather than IDEs.
By the way, I've tried to make it possible to reset the back-end of the web-app (in case something goes wrong) from the web-app itself, without having to use that annoyingly buggy control panel 000webhost provides. I've tried to add some security in form of a password. However, sending a password to the server isn't actually adding a lot of security when the web hosting doesn't allow me to use HTTPS unless I pay them (and I don't have a credit card or a PayPal or anything for buying things on-line). So, here is the password cyphering algorithm I've used (the front-end in JavaScript, the backend written in PHP simply deciphers it using the same algorithm the front-end uses to cypher it and hashes it and then compares the hash to a pre-programmed constant):
Code: function resetBackEnd()
{
sessionID=Math.floor(Math.random()*100);
if (!window.XMLHttpRequest)
{
alerted=1;
alert("Emitter error: Your browser doesn't appear to support the JavaScript 'XMLHttpRequest' object. Connecting to the server using the ActiveX controls is not secure.");
return;
}
var password=prompt("Enter password (known by Teo Samarzija):");
document.getElementById("AJAXmessage").style.display="inline";
var xmlHTTP=new XMLHttpRequest();
xmlHTTP.password=password;
xmlHTTP.open("POST", "oneTimeKey.php", true);
xmlHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHTTP.send("sessionId="+sessionID);
xmlHTTP.onreadystatechange=function()
{
if (this.readyState==4) {
var oneTimeKey=this.responseText*1;
var json="[";
var password=this.password;
for (var i=0; i<password.length; i++)
json+=(password.charCodeAt(i)^((i%2)?(oneTimeKey%256):(oneTimeKey/256)))+((i<password.length-1)?(","):("]"));
var xmlHttp=new XMLHttpRequest();
xmlHTTP.open("POST", "deleteDownloads.php", true);
xmlHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHTTP.send("password="+json+"&sessionId="+sessionID);
xmlHTTP.onreadystatechange=function(){
if (this.readyState==4)
alert("Emitter message: The server apparently responded with \""+this.responseText+((this.status-200)?(" (Error "+this.status+")"):"")+"\".");
document.getElementById("AJAXmessage").style.display="none";
}
}
}
}
One obvious flaw is that one who intercepts the connection both when the web-app makes the AJAX to "oneTimeKey.php" and when it makes the AJAX to "deleteDownloads.php" knows both the key and the cyphered password, so one can easily decipher it. Do you have an idea how to fix that simply? Or do you think my algorithm is secure enough already?
Posts: 5466
Threads: 36
Joined: November 10, 2014
Reputation:
53
RE: Help me with my new website!
November 25, 2018 at 3:32 pm
I've tried VIM... didn't like it *shrug*. A modal editor really isn't for me. It's too different from the ~35 or so years of experience I have with other editors, and I don't see a reason to learn it when there's products out there that can do everything I want out of the gate. I have no problem paying just over $100/year for tools I like.
Regarding flagship devices, part of the reason for their existence is to push tech forward. The Surface line, for example, wasn't just created to earn Microsoft more money with hardware sales, but to provide an example to other OEMs on how to properly build a (mostly) feature complete Windows 10 system at a certain price point. It was a deliberate move to revitalize sagging PC sales across the board. To force companies like Dell, HP, etc. to keep up with them. And it's working. The 2017 Dell XPS-13 I do most of my work on is an exquisite laptop, and was, for what it offers, priced pretty affordably.
I mean, yeah, Windows could've stayed at 7, or, shit, even XP. Android could've stayed at 4.x. But technology - due to commercial pressure - always moves forward. Being a stick in the mud and tut-tutting that people don't really need a shiny Windows 10 computer, or a Samsung Galaxy whatever misses the point by light years. If you're not keeping up, you're left behind. And, from a practical standpoint, that means you're severely limiting your employment opportunities.
Regarding your password algorithm, I'd simply do it all in the backend. For one, JS can be turned off in the browser. Second, you should really use an existing algorithm if you're handling passwords. Something like bcrypt. This is an example of a problem that's already been solved, and given you're not a cryptologist, your solution is very likely flawed.
Finally, the link to your site isn't working for me any longer. Keep getting "server not found."
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
Posts: 9147
Threads: 83
Joined: May 22, 2013
Reputation:
46
RE: Help me with my new website!
November 25, 2018 at 9:34 pm
When I was a kid, and PCs were new, designers often asked "Who'd need more than 640kB for any program?"
People don't really ask that kind of question anymore. We know the answer-- if you build it, they will come. Build a 1PB drive, and some startup will make a PC game consisting of multi-camera VR environments that use 10 TB per scene.
The essence of the problem, FA, is that every improvement gives a competitive advantage. Sure, I can log in to hotmail a couple times a day to check my messages. OR I can have my messages routed to my phone, and set special alerts for messages from my family, or from an important client.
Sure, I can use all GIMP-created bitmap graphics for my web page. OR I can use vector graphics in HTML5 to make designs that still look great when a student is using a little kid's phone to do homework.
Step back from technology. Sure, we could probably survive if we lived in the jungle, or if we had grass huts, or rode to market on horseback every Tuesday or whatever.
The general rule is this-- if you are just hacking something together for your own enjoyment, use whatever you want. If I got my hands on an old Motorola 6800 CPU, the first thing I'd do is connect it through a USB interface and see if I could get it to function. I wouldn't care that all the 6800s that existed, ever, wouldn't add up to the computing power in my apartment building.
But if you want to MATTER in the world of computing, you'll need to be on top of newer technologies. I myself am in the process of dumping my .NET Webforms app and replacing it with a .NET Core version. It's a painful process to give up user controls and so on, and for building up quick utility apps online, I will still use win forms. But if I want to handle a couple hundred thousand user requests per day, I have to let go of the old, and embrace the newer, faster ways of doing things.
Posts: 5466
Threads: 36
Joined: November 10, 2014
Reputation:
53
RE: Help me with my new website!
November 25, 2018 at 11:50 pm
While we're engaging in the nostalgia of old tech, I will say that my favorite word processing program of all time is Professional Write 2.x ( https://winworldpc.com/product/professional-write/2x). I used it nearly every day for 7-8 years, from first grade (practicing my spelling words) up to the beginning of high school. We didn't move from DOS to Windows until the early 90s. We were early adopters of Windows 95, however. It blew our minds. I spent way too many hours on that damn pinball game.
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
|