Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
wolffenstein
Aug 2, 2002
 
Pork Pro
"You can either setup Google Apps yourself, or I charge 100/hr for setup and technical support plus 20/user/month."

Adbot
ADBOT LOVES YOU

Lumpy
Apr 26, 2002

La! La! La! Laaaa!



College Slice

wolffenstein posted:

"You can either setup Google Apps yourself, or I charge 100/hr for setup and technical support plus 20/user/month."

Ding!

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.
Yep, don't saddle yourself up as a freelancer to be some business's tech guy. You'll lose money unless you're itemising every single interaction, and then you'll start committing the biggest sin of all, small annoying invoices. Clients hate that poo poo.

If you must provide ongoing support lock down a retainer deal capped by hours, so you know the money is there to be spent.

kedo
Nov 27, 2007

Maluco Marinero posted:

Yep, don't saddle yourself up as a freelancer to be some business's tech guy. You'll lose money unless you're itemising every single interaction, and then you'll start committing the biggest sin of all, small annoying invoices. Clients hate that poo poo.

If you must provide ongoing support lock down a retainer deal capped by hours, so you know the money is there to be spent.

Seriously. Email is the worst from a web dev/designer's perspective. At it's best it's a thing the client just uses and doesn't think about and gives you zero credit for maintaining. At worst you're receiving panicked calls at 2:00AM because someone on your client's lovely shared host has been sending spam and now all of his emails are being rejected by spamhaus and you have to fix it right now but there's absolutely nothing you can do besides asking the host to do something. When you try to bill for your time fixing things, the client will throw a poo poo fit because email being down was your responsibility!

Even a retainer isn't that great for dealing with something like email because there's always an unknown X factor that's going to gently caress everything up. Just wait until you've had a mail server running for a few years only to have the client decide to move hosts and now you have to try to figure out how the gently caress to transfer a hundred gigs of emails from one server to another with zero interruption in service.

It is Not Fun.

e: Honestly, don't even provide hosting for someone unless you really want to deal with pain in the rear end maintenance requests all the drat time.

kedo fucked around with this message at 00:13 on Apr 24, 2015

fuf
Sep 12, 2004

haha

kedo posted:

e: Honestly, don't even provide hosting for someone unless you really want to deal with pain in the rear end maintenance requests all the drat time.

ugh maybe you are right. I have been pushing the hosting thing quite hard recently because I figured it would be mostly passive income, but yeah so far it's not so passive. It makes development easier though when everything is on your own servers.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

fuf posted:

ugh maybe you are right. I have been pushing the hosting thing quite hard recently because I figured it would be mostly passive income, but yeah so far it's not so passive. It makes development easier though when everything is on your own servers.

Why would you think it would be passive? People make professional careers out doing that sort of thing and you're charging what, $20/mo? You're probably putting in more labor monitoring and patching your servers than you think and are probably making pennies on the hour for all of your work.

Then you have to keep up to date on security exploits and how to harden your system and god forbid you or your provider has a hardware failure because then it's a bunch of hours restoring things and there's no way your clients will pay for your system failure.

Hosting is a sucker's game. Unless you absolutely 100% have to, it's not worth the time, money, and energy. Just write your apps in a way that you can host them on Heroku or some other PaaS platform and call it a day.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Also that goes for everyone else in this thread. If you are selling hosting as a package you're either actively losing money or you're doing a terrible job maintaining your servers and it's only going to be a matter of time before someone gets into your systems.

The only way to make money on hosting is volume and if you're a freelancer, you don't have it.

fuf
Sep 12, 2004

haha

Blinkz0rz posted:

You're probably putting in more labor monitoring and patching your servers than you think and are probably making pennies on the hour for all of your work.

My initial rationale was that I'm doing this anyway to maintain my own sites, so adding a few client sites won't make much difference. But it's getting harder to manage now.

The kind of clients I get rely on me to do everything for them, so I kind of need to offer hosting. But maybe a compromise would be to make a deal with an existing hosting company and do everything through them? I dunno.

Lumpy
Apr 26, 2002

La! La! La! Laaaa!



College Slice
Came across this article earlier today, and while it doesn't talk a lot about non-visual stuff (screen readers and so on) much, it's a good reminder about some accessibility things to keep in mind: https://medium.com/salesforce-ux/7-things-every-designer-needs-to-know-about-accessibility-64f105f0881b

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

fuf posted:

My initial rationale was that I'm doing this anyway to maintain my own sites, so adding a few client sites won't make much difference. But it's getting harder to manage now.

The kind of clients I get rely on me to do everything for them, so I kind of need to offer hosting. But maybe a compromise would be to make a deal with an existing hosting company and do everything through them? I dunno.

Manage a Rackspace (or similar service) account for them.

kedo
Nov 27, 2007

fuf posted:

My initial rationale was that I'm doing this anyway to maintain my own sites, so adding a few client sites won't make much difference. But it's getting harder to manage now.

That's how it goes. It can start off feeling like passive income, but sooner or later you'll realize you've added "sysadmin" to your job description.

fuf posted:

The kind of clients I get rely on me to do everything for them, so I kind of need to offer hosting. But maybe a compromise would be to make a deal with an existing hosting company and do everything through them? I dunno.

Same. My solution is to have a preferred host and walk them through the setup steps. If they want to give me their domain info and a credit card number, I do the whole setup process for them.

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

fuf posted:

My initial rationale was that I'm doing this anyway to maintain my own sites, so adding a few client sites won't make much difference. But it's getting harder to manage now.

The kind of clients I get rely on me to do everything for them, so I kind of need to offer hosting. But maybe a compromise would be to make a deal with an existing hosting company and do everything through them? I dunno.

You're better off using either shared hosting for small stuff with good developer access, ie, Webfaction, Apis Networks, Media Temple, and then higher level hosting for bigger stuff.

If you're a freelancer you want each projects infrastructure to be something you can hand over simply, and that means self containment.

Even agencies are moving toward this because a lead weight client can sink a firm if you're not careful.

Separation of client infrastructure is vital if this is your primary source of income. If migrating to a new version of PHP, Wordpress, <random dependency>, requires you to think about more than one client site, you've got a house of cards on your hands. It ruins the one thing you've got going for you, agility, for some false optimisation.

By all means set it up, have build tasks that automate all that through SSH (I use ansible because the target machine needs only SSH), buy their hosting and SSL for them, but DON'T be the one to hold the keys down the track.

Keep revenue flowing through services, things you can track hours for and point to. If you're a good developer you won't have trouble convincing them of the value, whether its a new feature here and there, keeping Wordpress updated on a retainer, or even new projects.

But good passive income is really hard to get, to the point where I think the goal should be passive work generation. The holy grail for client services is not having to find clients, having work fall in your lap because of good history and references. You may not want to do it forever, but at least the majority of time spent will be quoting for work you've won already, or doing work that's billable. At this point your rate can scale up to a level where you no longer need 40 hours a week to get by.

At that point the question is not how much work you can find, but how you can get through the work you've promised.

hayden.
Sep 11, 2007

here's a goat on a pig or something
If my TTFB is really slow on my PHP application, but if I upload a test.php file that just echos "hi" and it's TTFB is always really fast, does that definitively mean there's something wrong with my code and not my hosting? It's Digital Ocean, if it matters.

Mostly confusing because 70% of the time TTFB is really quick refreshing my main page, and the other 30% it's 3-9 seconds.

edit: mystery solved I think - I had a query run on almost every page that took 3+ seconds. The would sometimes be quick I assume because the query/results were cached.

hayden. fucked around with this message at 05:49 on Apr 26, 2015

fuf
Sep 12, 2004

haha

Maluco Marinero posted:

You're better off using either shared hosting for small stuff with good developer access, ie, Webfaction, Apis Networks, Media Temple, and then higher level hosting for bigger stuff.

If you're a freelancer you want each projects infrastructure to be something you can hand over simply, and that means self containment.

Even agencies are moving toward this because a lead weight client can sink a firm if you're not careful.

Separation of client infrastructure is vital if this is your primary source of income. If migrating to a new version of PHP, Wordpress, <random dependency>, requires you to think about more than one client site, you've got a house of cards on your hands. It ruins the one thing you've got going for you, agility, for some false optimisation.

By all means set it up, have build tasks that automate all that through SSH (I use ansible because the target machine needs only SSH), buy their hosting and SSL for them, but DON'T be the one to hold the keys down the track.

Keep revenue flowing through services, things you can track hours for and point to. If you're a good developer you won't have trouble convincing them of the value, whether its a new feature here and there, keeping Wordpress updated on a retainer, or even new projects.

But good passive income is really hard to get, to the point where I think the goal should be passive work generation. The holy grail for client services is not having to find clients, having work fall in your lap because of good history and references. You may not want to do it forever, but at least the majority of time spent will be quoting for work you've won already, or doing work that's billable. At this point your rate can scale up to a level where you no longer need 40 hours a week to get by.

At that point the question is not how much work you can find, but how you can get through the work you've promised.

This is gold, thanks a lot, really.

Keeping each project isolated makes so much sense and makes me realise I've been going about it all wrong.

I'm going to move all my small sites over to something like https://www.tsohost.com/web-hosting/reseller-hosting (need something UK-based).

Boosh!
Apr 12, 2002
Oven Wrangler
Is there a primer or anything out there for web fonts? Our company is picking new fonts for print and web and the art team's picking some nice serif fonts that just don't work for body text; small serifs get grainy, invisible when the font is displayed at 16px for example.

Leshy
Jun 21, 2004

That's a bit of a broad question, really.

Not every browser and operating system will display fonts the same, due to varying implementations of font rendering, hinting and smoothing. Especially at smaller font sizes this can lead to differing appearances between browsers. It is, as far as I am aware, pretty much impossible to predict and simply requires testing. Most good serif fonts should have no problem displaying at 16px, but if you are having issues then your options boil down to adjusting the design of your page to accommodate larger font sizes or simply picking a different font.

Another thing to keep in mind is that web fonts come with a few caveats. What happens when the web font is slow to load or does not load altogether? If you go the route of hiding your text until the web font has loaded, this may provide the user with a page in which the content appears noticeably late (or worse, not at all). If you opt for using a fallback font, then your user will likely experience a flash of unstyled text (FOUT), which may be jarring. Many sites therefore choose not to use web fonts for actual body copy, but limit them to headings and the like.

Also note that web fonts do not work for e-mail. Since your e-mail correspondence is going to be in a default font anyway, it might also not be a bad idea to use a default font on your website for copy and match that to your e-mail font for better visual consistency between those two.

I don't really know of a good primer on web fonts, but if you want a number of good web fonts, then generally browsing the 'popular' category of web font services (Typekit, Google Fonts, FontSquirrel, Fonts.com) will provide you with suitable and usable fonts. There's this article from 2012 on good fonts for body copy as well.

Boosh!
Apr 12, 2002
Oven Wrangler
Thanks, that was helpful and my bad, that was a pretty broad question. I should have said primer on picking fonts for the web.

What it's coming down to trial and error on the fonts it seems. The art department seems hellbent on not using anything on TypeKit which would've been super simple.

Heskie
Aug 10, 2002
Some typefaces just weren't made for the screen and render poorly at small (and pixel rather than point) sizes as I understand it.Browser/OS differences just add to that.

Using something like TypeKit would have been ideal. I've used typography.com in the past which worked well.

Maybe take a look at this page if you need to convince them that you need to be looking at fonts made for screens rather than print: http://www.typography.com/cloud/the-fonts/index.php#screensmart-fonts

ArcticZombie
Sep 15, 2010
I have a NAS box that was going unused so I decided to give it a purpose. I've written a python web app in Flask that allows people to upload files to it along with some metadata which goes into a database. It's a QNAP and when I upload to it via its control panel or via a mounted volume, it will transfer at ~40-50MB/s. Uploading with a XmlHttpRequest and reading from request.files however will transfer at ~3-4MB/s. What's the problem here? Is it something to do with Flask/Python or something else?

ArcticZombie fucked around with this message at 20:48 on Apr 28, 2015

kedo
Nov 27, 2007

Boosh! posted:

Thanks, that was helpful and my bad, that was a pretty broad question. I should have said primer on picking fonts for the web.

Use conditionizr and some fallback CSS to deliver fonts that will render well on lovely platforms (eg. Georgia or Times), and nice fonts to nice browsers and operating systems.

What are the fonts you're worried about? Unless your designers are making idiotic choices, most serif fonts will look just fine anywhere above 10px these days (and really nothing looks all that good below that point). Subpixel rendering has made a huge difference in how nicely fonts render and is present in pretty much every OS/browser.

Kobayashi
Aug 13, 2004

by Nyc_Tattoo
Is there a Google term for replacing something like $VERSION in source documents, then running a build step that replaces that the actual current version in the output? In this case, I'm talking about Node and using the version in package.json as the canonical version number.

spacebard
Jan 1, 2007

Football~

Kobayashi posted:

Is there a Google term for replacing something like $VERSION in source documents, then running a build step that replaces that the actual current version in the output? In this case, I'm talking about Node and using the version in package.json as the canonical version number.

I think the term is "banner", but usually a banner is added at the top of the first file(s). Might need to tack on JavaScript or just search npm for packages.

Newf
Feb 14, 2006
I appreciate hacky sack on a much deeper level than you.
I'm trying to make a cap the vertical size of a bootstrap table and make it scrollable. I came across a bootply which does the trick, but I'm not able to make the row coloring work properly.

http://www.bootply.com/CGeKOEvFRI

As you can see, a line break in one of the <td> elements results in that column being properly colored, but the others have their colors chopped off. The problem seems to be that the surrounding <tr> elements have a height of 0, eg, their heights aren't expanding to accommodate the size of the contained column data elements.

Anyone have a suggestion for how to fix this? A normal bootstrap table row has normal height behavior, and I'm not sure what in the custom css here might be interfering with that.

e: A step in the right direction here: http://www.bootply.com/c5YvGvsTiG. Setting the overflow: hidden; on the <tr>s gives the rows the correct height, but the <td> elements inside are still assume a height less than what fills the row.

Newf fucked around with this message at 16:41 on Apr 30, 2015

nexus6
Sep 2, 2011

If only you could see what I've seen with your eyes
Has anyone had issues using Google's No Captcha Recaptcha? I added it to one of my forms yesterday and tested it: you can't submit the form without completing it, you can't submit the form if you fill it in wrong and you can't submit the form if you have Javascript off. However I've had over 2,000 spam submission in the past 24 hrs.

Is it broken or have I missed a step? I've followed all the instructions on thier developer page.

Newf
Feb 14, 2006
I appreciate hacky sack on a much deeper level than you.

nexus6 posted:

Has anyone had issues using Google's No Captcha Recaptcha? I added it to one of my forms yesterday and tested it: you can't submit the form without completing it, you can't submit the form if you fill it in wrong and you can't submit the form if you have Javascript off. However I've had over 2,000 spam submission in the past 24 hrs.

Is it broken or have I missed a step? I've followed all the instructions on thier developer page.

I am not shocked that this 'too good to be true' software widget turned out to be untrue.

Ghostlight
Sep 25, 2009

maybe for one second you can pause; try to step into another person's perspective, and understand that a watermelon is cursing me



Newf posted:

As you can see, a line break in one of the <td> elements results in that column being properly colored, but the others have their colors chopped off. The problem seems to be that the surrounding <tr> elements have a height of 0, eg, their heights aren't expanding to accommodate the size of the contained column data elements.

Anyone have a suggestion for how to fix this? A normal bootstrap table row has normal height behavior, and I'm not sure what in the custom css here might be interfering with that.
The problem is specifically because all of your <td>s are being rendered as float:left blocks but the <tr>s are non-floating blocks so they don't recognise their children's heights. Setting float: left and width:100% on the <tr>s will also fix the height issue, but your <td>s still aren't going to fill the <tr> height unless you give the row a defined height in pixels - however, either way of fixing the <tr> height will let you anchor the background colour to the <tr> instead.

Newf
Feb 14, 2006
I appreciate hacky sack on a much deeper level than you.

Ghostlight posted:

The problem is specifically because all of your <td>s are being rendered as float:left blocks but the <tr>s are non-floating blocks so they don't recognise their children's heights. Setting float: left and width:100% on the <tr>s will also fix the height issue, but your <td>s still aren't going to fill the <tr> height unless you give the row a defined height in pixels - however, either way of fixing the <tr> height will let you anchor the background colour to the <tr> instead.

Yes, I think I get most of this now. I put together an option where I apply the colors on the row rather than letting bootstrap apply it on the <td>s, but this is less than ideal because my work needs to be portable against different BS color schemes. As I have it now, I'm going to need to hard-code the appropriate color values for each theme we deploy. Not to mention the possibility of side-stepping bootstrap's table coloring methods biting me in unpredictable ways.

This afternoon has been an education in css. Yikes.

hayden.
Sep 11, 2007

here's a goat on a pig or something

nexus6 posted:

Has anyone had issues using Google's No Captcha Recaptcha? I added it to one of my forms yesterday and tested it: you can't submit the form without completing it, you can't submit the form if you fill it in wrong and you can't submit the form if you have Javascript off. However I've had over 2,000 spam submission in the past 24 hrs.

Is it broken or have I missed a step? I've followed all the instructions on thier developer page.

Possibly worth making your own simple captcha? I doubt spammers would customize their software to work with your site specifically.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

nexus6 posted:

Has anyone had issues using Google's No Captcha Recaptcha? I added it to one of my forms yesterday and tested it: you can't submit the form without completing it, you can't submit the form if you fill it in wrong and you can't submit the form if you have Javascript off. However I've had over 2,000 spam submission in the past 24 hrs.

Is it broken or have I missed a step? I've followed all the instructions on thier developer page.

You are actually checking the recaptcha token on the server to verify that it's been filled out, right? The client-side checks are just there for convenience, they don't provide any actual security.

revmoo
May 25, 2006

#basta
Upgraded to Yosemite last night and now Chrome (which wasn't upgraded as far as I know) renders input text boxes with a different padding. Is this some sort of new OSX thing or what?

RobertKerans
Aug 25, 2006

There is a heppy lend
Fur, fur aw-a-a-ay.

Kobayashi posted:

Is there a Google term for replacing something like $VERSION in source documents, then running a build step that replaces that the actual current version in the output? In this case, I'm talking about Node and using the version in package.json as the canonical version number.

String replace is surely all that's needed? Something like https://www.npmjs.com/package/replace would work; you'd need a few lines of scripting to require package.json & read the version number, but that could just then be called via an NPM task.

kedo
Nov 27, 2007

A website I work on recently changed everything over to run on https and my client is asking how this is going to impact our indexing status with The Googles. Until we have it figured out we're supporting both http and https, but this seems like a terrible long term solution to me.

Can anyone point me to an article or something with some best practices for ensuring everything isn't going to be deindexed once we finally pull the trigger and redirect everything to https?

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

kedo posted:

A website I work on recently changed everything over to run on https and my client is asking how this is going to impact our indexing status with The Googles. Until we have it figured out we're supporting both http and https, but this seems like a terrible long term solution to me.

Can anyone point me to an article or something with some best practices for ensuring everything isn't going to be deindexed once we finally pull the trigger and redirect everything to https?

No.

However, this just made me want to point out that Google says they're giving websites not served over https a slight ranking penalty and that the penalty will grow going forward.

ufarn
May 30, 2009

kedo posted:

A website I work on recently changed everything over to run on https and my client is asking how this is going to impact our indexing status with The Googles. Until we have it figured out we're supporting both http and https, but this seems like a terrible long term solution to me.

Can anyone point me to an article or something with some best practices for ensuring everything isn't going to be deindexed once we finally pull the trigger and redirect everything to https?
Just make sure you link to the HTTPS pages and use HSTS, and think will probably be better than before.

Cugel the Clever
Apr 5, 2009
I LOVE AMERICA AND CAPITALISM DESPITE BEING POOR AS FUCK. I WILL NEVER RETIRE BUT HERE'S ANOTHER 200$ FOR UKRAINE, SLAVA

Maluco Marinero posted:

Yep, don't saddle yourself up as a freelancer to be some business's tech guy. You'll lose money unless you're itemising every single interaction, and then you'll start committing the biggest sin of all, small annoying invoices. Clients hate that poo poo.

If you must provide ongoing support lock down a retainer deal capped by hours, so you know the money is there to be spent.
I'm actually just about to get into the freelance gig and would greatly appreciate any recommendations to resources on best practices. If anyone has a reasonably decent contract template they'd like to share, I'd be interested to take a look at it compared to whatever poo poo ranks highest on Google.

lunar detritus
May 6, 2009


Is there a way to pack up a web app to make it independent of the server?

A client only has an old desktop computer with Windows/XAMPP and uses it as a server for a custom intranet made in PHP. It works but because it's windows a couple of things like the money_format function don't exist.

Would it be a terrible idea to make a virtual disk with the app and tell them "Install Virtualbox, run the image, you're done"? I looked at Docker but it seems to be annoying to setup in a windows system.

v1nce
Sep 19, 2004

Plant your brassicas in may and cover them in mulch.
I'd agree Docker is probably overkill for your needs. Virtualbox isn't a bad way to go, but be aware of configuration fun and overhead that might cause you some minor pains. If you want to get off the ground quickly, try something like PuPHPet.

The thing you actually need to worry about, is if you install a virtual machine with an OS they don't know, you'll be the only guy who can support it when things go wrong. Is this good/bad? Is the thing they're hosting critical to their business? Will get get calls at 3am because the virtual machine did X with its Y and now it won't Z?

Alternatively you could just roll your own money_format function, if that's specifically what's causing you problems, and possibly update XAMPP, too.

IAmKale
Jun 7, 2007

やらないか

Fun Shoe
What's the best Angular-centric way of storing an auth token for API calls? I have an API up and running and handling logins, but now I need to write up a service to handle logging in and verifying the token is available. Should I just use plain HTML5 localstorage?

spacebard
Jan 1, 2007

Football~

Karthe posted:

What's the best Angular-centric way of storing an auth token for API calls? I have an API up and running and handling logins, but now I need to write up a service to handle logging in and verifying the token is available. Should I just use plain HTML5 localstorage?

It depends on the browser / device. Local storage is limited on some mobile devices or at 0 on a site with and unsigned cert (say for a test environment).

I think it's fine to store it in local storage. Or have the app also set a cookie on the login service and then all other requests should have that cookie set until it expires.

Adbot
ADBOT LOVES YOU

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



localstorage isn't available if the user has some privacy setting enabled. By 'not available' I mean using it could fail in many different ways depending on the browser, so just use cookies if you want something that's reliably available.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply