I was talking with a non-technical apple fangirl right after the iPad announcement. She was curious as to my opinion about it, given my geek status.
I told her I wasn't that interested, mainly because I'm not that interested in apple products. I'm more concerned about controlling my means of production (I build stuff on free software) and in protecting/fostering software freedom. I went into a short diatribe about how more and more our lives are dependent on software, and if that software isn't open you're beholden to the interest that created it, etc. Apple is no friend of software freedom in my opinion.
Her response was "I don't care about freedom, I just like how the pretty my iPhone is. What do you say to someone like me?" She didn't say it confrontationally, it was a sincere response.
My response was "I'm really the wrong guy to talk with you about this." She's totally bought into the "magic", and all reason is out the window. I happen to think there are better devices on better networks, but suggesting that to her would be tantamount to blasphemy.
You can't reason with this kind of emotion. Apple's good at engendering it. In the face of fanboy fanaticism, I find myself just giving up and saying "I don't really care what YOU use as long as you don't force it on me."
My favorite from a past employer - one of these PCI scanning companies asked us to take down our iptables rules for a set time period while they scanned us. That's right, they wanted us to be less secure while they checked how secure we were.
We were eventually able to get an ip range from them, but not until we fought them a bit. They *would not* do the scan unless we took down our firewall. I wanted to just REJECT everything but 80 and 443 and not tell them, but the higher-ups told me to play along.
Anyway - the whole idea felt really... wrong. And they didn't point out anything useful, either.
I just installed Quake via preware and the performance is excellent. The virtual joystick is a little quirky but I got used to it fairly quickly. GREAT WORK!
A few basic definitions to make this post clearer: participant: student accepted into the program sponsoring organization: pretty obvious one, the organization sponsoring the participants mentor: the person from the sponsoring organization delegated to manage GSoC participants
I'm pretty psyched. I've got two students to mentor on two different projects - I think it's going to be a great summer.
GSoC is a brilliant program on google's part - they are transparent about their aims: to get the "sponsors" to evaluate the participants so google can think about hiring them.
Google avoids headhunter fees, gets an in-depth real-world evaluation with a significant codebase to review and open-source projects get quality work.
Google may still pwn my datas, but hey: this is clearly not evil.
I've been freelancing on and off over the last 9 years or so, and I just came out of three years with a successful company where I learned a lot about how to be a consultant, how to create happy clients with clear expectations on both sides and how to not get soaked. Here are some things I've picked up, YMMV.
Always bill hourly. Always. Don't work with clients that aren't comfortable with that, you will get screwed. The talking points of the conversations I have with prospective clients go something like: "If you ask me to do something, you should assume that you're paying for my time - it's that simple. I don't work for fun, though I love my job. Have you ever had a consultant start ignoring you before a fixed-bid project is finished? That's because you aren't paying hourly and they have given up on you - they have too much time in for the amount you've paid. Because you - and all my other clients - are paying hourly, I don't ignore anyone. Time and again fixed-rate consultants burn out because they find they are doing too much work for free - I'm in this for the long haul and part of that is everyone paying their share so I don't burn out." I like to talk long-term, looking for clients that want me for more than just a one-off project.
Give estimates, but stress they are just estimates, the client is still expected to pay for the full amount of time a project takes. Let your client know you will check in with them frequently as the hours pile up to ensure you're on track or - if you aren't - that you'll discuss how to get the most important 90% of the project as quickly as possible.
Conversely, I think it's OK to do fixed-rate projects for long-term clients and/or where you've done a similar task many times over. Generally, I would avoid it, though.
Track all your time - even the non-billable sys-admin-y / business development stuff. It'll be invaluable when it comes to planning to know exactly where your time is going.
Double any estimates before you pass them to the client - things always take longer than you think (the devil is always in the details), and the client will be happy if you come in under what they were expecting. Many consultants are uncomfortable with this idea, but it has never been a mistake as far as I'm concerned.
Bill every month, or on whatever schedule you normally bill on. Get in the habit of billing regularly - too many consultants get too busy to bill their clients! It's odd, but totally common.
Don't take projects that're completely outside your skill set. Admit your limits - taking on a project that's out in left field is a sure way to a bunch of stress and an unhappy client. An example: if you don't really have an eye for design, find someone that does that you can trust.
For time tracking and invoicing, I'm enamored with Freshbooks.com (referral link, non-referral link.). It's cheap, you can accept online payments, freshbooks can snail-mail invoices for you (!), the billing options are pretty flexible and the timesheet app is pretty slick with desktop widgets aplenty. I haven't found an open source project as polished and featureful as freshbooks - please let me know if something like it exists. SQL-Ledger is not a competitor to freshbooks - not by a long shot.
So it's unlikely the decisions were influenced heavily from a budgetary standpoint. If they wanted to stay with a free RHEL derivative linux that's essentially identical to the one you pay for, they'd be using CentOS.
They chose Ubuntu. Maybe they just like it better? I think you can factor cost of out the equation.
I didn't say MySQL didn't have a role, and I'm sure that Drizzle will become very popular (sigh) because the magic MySQL name is attached to it.
I maintain and program for MySQL on an almost daily basis, BTW. I understand that you need to make choices during development - I use Postgres, MySQL and SQLite in various places. Some from inherited choices, some from my own volition.
I wonder how far they can keep crippling it until they find the most tolerant niche of users? "Well, this application doesn't really need reliable INSERTs, I'll use Drizzle Lite."
I think you're confusing prepared statements with stored procedures. See this wikipedia article for an overview of what a prepared statement is.
As to stored procedures, they allow you to centralize business logic, validations, and a ton of other functionality in your database so that everything that interacts with your data follows the same rules and gets the same stuff back.
They are quite flexible and mature in Postgres and you can write them in many different languages. They are very new in MySQL, you can only use SQL and I'm sure they are laden with quirks.
My folks live in rural Vermont, right down the road from where that moose fell in love with that cow a few years back. Anyway - they have 3 megabit DSL with a local company (Vermontel, IIRC) that essentially never goes down for something like $30/month. The Vermontel support is great, apparently. I know this by inference - they deal with my father's crap and he speaks only good of them.
but it's probably pointless. Not enough developers care about their craft.
There's a prominent "popular science" website out there (no, it's not this one that I'm thinking of) that has ENORMOUS XSS vulnerabilities in its image gallery. They pass captions and img src in URL encoded query string parameters. Yuck.
I noticed this about a year ago and reported it to the development team, with a demonstration link that put in a (sorta not nice) image and caption. No response, and when I checked six months ago the vulnerability was still there. So much for being a nice guy.
I was the lead developer on a intranet for a state-wide coalition of legal agencies. One time a staffer called and asked "can you print the website and send it to me every once in a while?" At this point, the site was around 6,000 documents and probably 40,000 to 50,000 scanned pages in PDF - if you ever signed into the site, the enormousness was pretty obvious. We nicely explained to her that there was NO way we could do that. She hung up pretty quickly, obviously embarrassed. It was kind of sad, actually.
Post 'em here, by all means! But remember to submit them to the main site if you want them to have a shot of getting voted up to go to Senator Kerry or President Bush.
Acrobat Capture 3.0 is the way to go. I think Adobe makes really, really crappy software in the Acrobat line of products, but Capture gets the job done, and can create pretty small PDFs if you get the settings right. The other OCR'ing PDF creation alternatives, when you're creating hundreds of pages, are MUCH more expensive.
You can't do this project practically for a couple hundred dollars: You need a duplexing auto-feed scanner and those are not cheap. For project I manage, we knew we were going to need to turn tens of thousands of pages of paper into PDF and we dropped the bomb on a Ricoh 450de duplexing document scanner: it does 55 pages per minute, both sides. This scanner has been trouble free and heavily used for 4 years, I cannot recommend it highly enough.
You really don't want to do this on a scanner without an autofeeder, and if documents change from single to double sided you REALLY don't want to scan them on a simplex scanner: it'll take you forever, and be more error-prone in terms of screwing up the order of or omitting pages.
You have a few options, assuming you can't get the scratch to get the stuff to do this project right in-house:
Say no. It's not practical without the right equiment.
Outsource it. There are companies that do paper-to-pdf conversion, but they are not cheap.
Bite the bullet and do it on a crappy scanner. You WILL hate yourself if you go this route, though, never mind buying (or gluing together with a scripting language) the right software.
WebGUI has cross-platform WYSIWYG and is cool enough to allow you to "plug-in" multiple WYSIWYG editors. Users can select which WYSIWYG editor they want to use by default in their profiles.
It's 2004, people. Cross-platform WYSIWYG editing should be the standard, not exception. If your CMS isn't flexible enough to handle multiple editing plugins you should examine your architecture (not that I'm accusing Sitellite of anything. I know nothing of your CMS. )
Check out WebGUI. You can learn quite a bit from it- it's by far the most trainable and "mere-mortal" friendly CMS I've seen. It has an excellent development roadmap as well.
It has commercial support, a very large user base and an active developer base.
so they have plenty of time to plan the (seemingly) minor but maddeningly frustrating ways they'll deviate from the standard.
I was talking with a non-technical apple fangirl right after the iPad announcement. She was curious as to my opinion about it, given my geek status.
I told her I wasn't that interested, mainly because I'm not that interested in apple products. I'm more concerned about controlling my means of production (I build stuff on free software) and in protecting/fostering software freedom. I went into a short diatribe about how more and more our lives are dependent on software, and if that software isn't open you're beholden to the interest that created it, etc. Apple is no friend of software freedom in my opinion.
Her response was "I don't care about freedom, I just like how the pretty my iPhone is. What do you say to someone like me?" She didn't say it confrontationally, it was a sincere response.
My response was "I'm really the wrong guy to talk with you about this." She's totally bought into the "magic", and all reason is out the window. I happen to think there are better devices on better networks, but suggesting that to her would be tantamount to blasphemy.
You can't reason with this kind of emotion. Apple's good at engendering it. In the face of fanboy fanaticism, I find myself just giving up and saying "I don't really care what YOU use as long as you don't force it on me."
My favorite from a past employer - one of these PCI scanning companies asked us to take down our iptables rules for a set time period while they scanned us. That's right, they wanted us to be less secure while they checked how secure we were.
We were eventually able to get an ip range from them, but not until we fought them a bit. They *would not* do the scan unless we took down our firewall. I wanted to just REJECT everything but 80 and 443 and not tell them, but the higher-ups told me to play along.
Anyway - the whole idea felt really ... wrong. And they didn't point out anything useful, either.
I just installed Quake via preware and the performance is excellent. The virtual joystick is a little quirky but I got used to it fairly quickly. GREAT WORK!
Ouch. Hopefully our results are a bit more positive.
A few basic definitions to make this post clearer:
participant: student accepted into the program
sponsoring organization: pretty obvious one, the organization sponsoring the participants
mentor: the person from the sponsoring organization delegated to manage GSoC participants
I'm pretty psyched. I've got two students to mentor on two different projects - I think it's going to be a great summer.
GSoC is a brilliant program on google's part - they are transparent about their aims: to get the "sponsors" to evaluate the participants so google can think about hiring them.
Google avoids headhunter fees, gets an in-depth real-world evaluation with a significant codebase to review and open-source projects get quality work.
Google may still pwn my datas, but hey: this is clearly not evil.
I've been freelancing on and off over the last 9 years or so, and I just came out of three years with a successful company where I learned a lot about how to be a consultant, how to create happy clients with clear expectations on both sides and how to not get soaked. Here are some things I've picked up, YMMV.
For time tracking and invoicing, I'm enamored with Freshbooks.com (referral link, non-referral link.). It's cheap, you can accept online payments, freshbooks can snail-mail invoices for you (!), the billing options are pretty flexible and the timesheet app is pretty slick with desktop widgets aplenty. I haven't found an open source project as polished and featureful as freshbooks - please let me know if something like it exists. SQL-Ledger is not a competitor to freshbooks - not by a long shot.
Hope this helps. Good luck!
That quote was from the analyst ignoring the existence of CentOS. I did RTFA.
I'm sure if you asked nicely enough, RedHat would find some way to take your money.
So it's unlikely the decisions were influenced heavily from a budgetary standpoint. If they wanted to stay with a free RHEL derivative linux that's essentially identical to the one you pay for, they'd be using CentOS.
They chose Ubuntu. Maybe they just like it better? I think you can factor cost of out the equation.
I didn't say MySQL didn't have a role, and I'm sure that Drizzle will become very popular (sigh) because the magic MySQL name is attached to it.
I maintain and program for MySQL on an almost daily basis, BTW. I understand that you need to make choices during development - I use Postgres, MySQL and SQLite in various places. Some from inherited choices, some from my own volition.
I wonder how far they can keep crippling it until they find the most tolerant niche of users? "Well, this application doesn't really need reliable INSERTs, I'll use Drizzle Lite."
I think you're confusing prepared statements with stored procedures. See this wikipedia article for an overview of what a prepared statement is.
As to stored procedures, they allow you to centralize business logic, validations, and a ton of other functionality in your database so that everything that interacts with your data follows the same rules and gets the same stuff back.
They are quite flexible and mature in Postgres and you can write them in many different languages. They are very new in MySQL, you can only use SQL and I'm sure they are laden with quirks.
One man's "superfluous" is another man's key feature. No views? No prepared statements? Holy carp. Isn't MySQL crippled enough as it is?
At first glance it's hard for me to see where Drizzle would fit where SQLite doesn't.
You couldn't possibly be biased, though, Mr. "Isagenix."
My folks live in rural Vermont, right down the road from where that moose fell in love with that cow a few years back. Anyway - they have 3 megabit DSL with a local company (Vermontel, IIRC) that essentially never goes down for something like $30/month. The Vermontel support is great, apparently. I know this by inference - they deal with my father's crap and he speaks only good of them.
Bingo. That's it. 2003? Ridiculous. Though I haven't the interest in confirming this, I'm sure all the sister sites are probably vulnerable too.
but it's probably pointless. Not enough developers care about their craft.
There's a prominent "popular science" website out there (no, it's not this one that I'm thinking of) that has ENORMOUS XSS vulnerabilities in its image gallery. They pass captions and img src in URL encoded query string parameters. Yuck.
I noticed this about a year ago and reported it to the development team, with a demonstration link that put in a (sorta not nice) image and caption. No response, and when I checked six months ago the vulnerability was still there. So much for being a nice guy.
I was the lead developer on a intranet for a state-wide coalition of legal agencies. One time a staffer called and asked "can you print the website and send it to me every once in a while?" At this point, the site was around 6,000 documents and probably 40,000 to 50,000 scanned pages in PDF - if you ever signed into the site, the enormousness was pretty obvious. We nicely explained to her that there was NO way we could do that. She hung up pretty quickly, obviously embarrassed. It was kind of sad, actually.
How lawyerly of you.
Slashdotters:
Wow. You are a fiesty lot!
Please remember to submit any questions you want to be considered for voting to the New Voters Project Youth Debate site.
Post 'em here, by all means! But remember to submit them to the main site if you want them to have a shot of getting voted up to go to Senator Kerry or President Bush.
Acrobat Capture 3.0 is the way to go. I think Adobe makes really, really crappy software in the Acrobat line of products, but Capture gets the job done, and can create pretty small PDFs if you get the settings right. The other OCR'ing PDF creation alternatives, when you're creating hundreds of pages, are MUCH more expensive.
You can't do this project practically for a couple hundred dollars: You need a duplexing auto-feed scanner and those are not cheap. For project I manage, we knew we were going to need to turn tens of thousands of pages of paper into PDF and we dropped the bomb on a Ricoh 450de duplexing document scanner: it does 55 pages per minute, both sides. This scanner has been trouble free and heavily used for 4 years, I cannot recommend it highly enough.
You really don't want to do this on a scanner without an autofeeder, and if documents change from single to double sided you REALLY don't want to scan them on a simplex scanner: it'll take you forever, and be more error-prone in terms of screwing up the order of or omitting pages.
You have a few options, assuming you can't get the scratch to get the stuff to do this project right in-house:
All two of them. . . :)
WebGUI has cross-platform WYSIWYG and is cool enough to allow you to "plug-in" multiple WYSIWYG editors. Users can select which WYSIWYG editor they want to use by default in their profiles.
It's 2004, people. Cross-platform WYSIWYG editing should be the standard, not exception. If your CMS isn't flexible enough to handle multiple editing plugins you should examine your architecture (not that I'm accusing Sitellite of anything. I know nothing of your CMS. )
Check out WebGUI. You can learn quite a bit from it- it's by far the most trainable and "mere-mortal" friendly CMS I've seen. It has an excellent development roadmap as well.
It has commercial support, a very large user base and an active developer base.
When I was a community organizer, we called this "singing for your supper."
Directly advocating for positions that you are paid to advocate for reduces your objective credibility to nil. Next, please!
Have you turned on compression for your SSH connection?
I use several Gnome apps over ssh tunnels and they work plenty fast for casual use.