Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "google sheets"
-
Today I discovered that we have a CSV export button for an order transaction system, on a page which is completely disconnected from the rest of the website.
It is only being called by an internal server, used by our Data department.
They run selenium to click the button.
Then they import the CSV into a database.
That database is accessed by an admin panel.
That admin panel has an excel export button.
Which is clicked by our CFO. But he got bored of clicking, so he uses IFTTT to schedule a download of the XLS and import it in Google Sheets.
That sheet uses a Salesforce data connector.
Marketing then sends email campaigns based on that Salesforce data...
😒11 -
I am currently working for a client who have all their data in Google Sheets and Drive. I had to write code to fetch that data and it's painful to query that data.
I can definitely relate with this.
PS: Their last year revenue was over US$2 Bn and one of their sibling company is among Top IT companies in the country.7 -
Boss: Google Excel sucks!
Me: You mean Google Sheets.
Boss: Whatever, there used to be formulas for the cells, just like offline Excel, but now it has some weird text like a web address...
Me: You're looking at the web address bar. Look down 20px and you have the cell formula.
Boss: Oh! Still, I don't like this Online Excel!8 -
--- Save some time with Google's .new-Domains ---
A few days ago, Google announced their new '.new' domains.
By using them you can save plenty of time when creating new Docs, Sheets, Slides, Sites or Forms.
So instead of going to Google Drive and creating the document there, users can just input the corresponding URL into the browser!
Here are a few examples:
> 'doc.new' or 'docs.new' or 'documents.new' to create a new Google Docs document (https://doc.new/)
> 'sheet.new' or 'sheets.new' or 'spreadsheet.new' to create a new Google Spreadsheets document (https://sheet.new/)
> 'site.new' or 'sites.new' or 'website.new' to create a new Google Sites website (https://site.new/)
> 'slide.new' or 'slides.new' or 'deck.new' or 'presentation.new' to create a new Google Slides document (https://slide.new/)
> 'form.new' or 'forms.new' to create a new Google Forms form (https://form.new/)
This is also useful for creating special bookmarks in the browser!34 -
Every step of this project has added another six hurdles. I thought it would be easy, and estimated it at two days to give myself a day off. But instead it's ridiculous. I'm also feeling burned out, depressed (work stress, etc.), and exhausted since I'm taking care of a 3 week old. It has not been fun. :<
I've been trying to get the Google Sheets API working (in Ruby). It's for a shared sales/tracking spreadsheet between two companies.
The documentation for it is almost entirely for Python and Java. The Ruby "quickstart" sample code works, but it's only for 3-legged auth (meaning user auth), but I need it for 2-legged auth (server auth with non-expiring credentials). Took awhile to figure out that variant even existed.
After a bit of digging, I discovered I needed to create a service account. This isn't the most straightforward thing, and setting it up honestly reminds me of setting up AWS, just with less risk of suddenly and surprisingly becoming a broke hobo by selecting confusing option #27 instead of #88.
I set up a new google project, tied it to my company's account (I think?), and then set up a service account for it, with probably the right permissions.
After downloading its creds, figuring out how to actually use them took another few hours. Did I mention there's no Ruby documentation for this? There's plenty of Python and Java example code, but since they use very different implementations, it's almost pointless to read them. At best they give me a vague idea of what my next step might be.
I ended up reading through the code of google's auth gem instead because I couldn't find anything useful online. Maybe it's actually there and the past several days have been one of those weeks where nothing ever works? idk :/
But anyway. I read through their code, and while it's actually not awful, it has some odd organization and a few very peculiar param names. Figuring out what data to pass, and how said data gets used requires some file-hopping. e.g. `json_data_io` wants a file handle, not the data itself. This is going to cause me headaches later since the data will be in the database, not the filesystem. I guess I can write a monkeypatch? or fork their gem? :/
But I digress. I finally manged to set everything up, fix the bugs with my code, and I'm ready to see what `service.create_spreadsheet()` returns. (now that it has positively valid and correctly-implemented authentication! Finally! Woo!)
I open the console... set up the auth... and give it a try.
... six seconds pass ...
... another two seconds pass ...
... annnd I get a lovely "unauthorized" response.
asjdlkagjdsk.
> Pic related.rant it was not simple. but i'm already flustered damnit it's probably the permissions documentation what documentation "it'll be simple" he said google sheets google "totally simple!" she agreed it's been days. days!19 -
So my in-laws got a new computer 😑
Yup you know where this is going. Ok so after I transferred all of their data set them all up etc.
They wanted to use "word" and could I set it up for free for them. I said no Microsoft office is not free you lost your license and disk and your old computer is trashed so the better choice would be Google services . So I explained the value of using Google drive, docs,sheets etc.. today and told them how much better it is everything would be on their Google drive so if I got hit by a bus they could get a new computer again and still have access to their data etc... So they said great and so I did.
Two weeks later... Can you set up word for us on our computer. Me annoyed at this point " sure no problem"
I made a shortcut on their desktop to Google docs. Them: oh boy this is great see John all you have to do is click on google docs to go to word! Thanks so much!
🤫🤓5 -
I had once had person who wanted me to make a program and wanted the backend to be in google spread sheets2
-
So new PM is forcing everyone to use Google sheets as our main project management tool as it's free and does what she likes... Was so close to just quitting.
More rage: how the fudge does she think it's acceptable for every 'to-do' no matter how big or small needs to be recorded in a sheet with roughly 30 columns @#&#&£ work is going to grind to a halt whilst we fill it in. So many better tools to use! Oh it gets worse it's 1 sheet per a person so the longer you work there the bigger the sheet gets the more time you need to spend to find, record and even open the freaking document up.11 -
I wonder whether this is a bug in Chrome, or if it's just Google drawing the conclusion from my northern geo-position, that we still haven't left the stage of building longships, raiding England and Scotland, burning monasteries and writing awesome poetry and literature in weird characters sets.
Well, I'm not Ragnarr f*cking Loðbrók or Egill Skallagrímsson, so I can't read electronic component data sheets the way those guys did.
I'll go grab my chisel, so I can carve a bug report into a suitably flat stone and shove it down the TCP/IP series of tubes leading to Google. -
Before new years eve I prepared a sheet on google sheets that allowed people to add drink recipes and order drinks (specify how many of each drink they want), calculated part of budget each person had to cover and generated shopping list of drink components with exact amounts needed.
It was more fun to make that thing than to attend the party.2 -
Before starting sprint we gave estimations, while discuss with my team, my project manager also part of the meeting. After three weeks my project manager start give list of tasks like this is API and this is front end and also estimations based on our previous sprint plan.
We pissed off. After that we never include our manager in technical meeting.
FYI - If you're using Google sheets for ball park estimations never give permission to your project manager to edit sheet.2 -
I suspected that our storage appliances were prematurely pulling disks out of their pools because of heavy I/O from triggered maintenance we've been asked to automate. So I built an application that pulls entries from the event consoles in each site, from queries it makes to their APIs. It then correlates various kinds of data, reformats them for general consumption, and produces a CSV.
From this point, I am completely useless. I was able to make some graphs with gnumeric, libre calc, and (after scraping out all the identifying info) Google sheets, but the sad truth is that I'm just really bad at desktop office document apps. I wound up just sending the CSV to my boss so he can make it pretty.1 -
Sooo I’m typically a proponent of physical copy of books, as I’d rather sit and read them, write and take notes. Essentially all my books turn into something out of the “half blood prince” potions book from Harry Potter.
But it’s so inconvenient as either my books are in my office or in the library at home. It ends up being something like connecting a USB... the book I need at the time is always in the opposite place I am in currently.
Also, all the books I want now are newer and none are on the used market. For a reasonable price.
So I gave in a bought an iPad with the hopes of putting the books in pdf form on it... I’ll pay for some PDFs but hey if I can get it free thru a google search then it is what it is lol.
Not sure how I’m gonna adapt to reading on a tablet, as I really prefer a physical book.. hell I still use national brand computation notebooks for all my notes. Nothing beats writing it down, AND I still have an IBM selectric 3 and Swintec, nothing beats sitting down and just letting the thoughts flow neatly on a piece of paper and then glueing it the notebook
Anyway whatcha y’alls thoughts of using an iPad as a digital library of books.. using the Apple Pencil to annotate the book. I bought the 12.9 inch as the screen size is closest to a sheet of paper
Also, I don’t read fiction all the books I read are nonfiction, reference manuals, textbooks, data sheets, user manuals, stuff like the art of computer programming by knuth, Kent beck, Robert Martin, folwler books, etc14 -
So at our company, we use Google Sheets to for to coordinate everything, from designs to bug reporting to localization decisions, etc... Except for roadmaps, we use Trello for that. I found this very unintuitive and disorganized. Google Sheets GUI, as you all know, was not tailored for development project coordination. It is a spreadsheet creation tool. Pages of document are loosely connected to each other and you often have to keep a link to each of them because each Google Sheets document is isolated from each other by design. Not to mention the constant requests for permission for each document, wasting everybody's time.
I brought up the suggestion to the CEO that we should migrate everything to GitHub because everybody already needed a Github account to pull the latest version of our codebase even if they're not developers themselves. Gihub interface is easier to navigate, there's an Issues tab for bug report, a Wiki tab for designs and a Projects tab for roadmaps, eliminating the need for a separate Trello account. All tabs are organized within each project. This is how I've seen people coordinated with each other on open-source projects, it's a proven, battle-tested model of coordination between different roles in a software project.
The CEO shot down the proposal immediately, reason cited: The design team is not familiar with using the Github website because they've never thought of Github as a website for any role other than developers.
Fast-forward to a recent meeting where the person operating the computer connected to the big TV is struggling to scroll down a 600+ row long spreadsheet trying to find one of the open bugs. At that point, the CEO asked if there's anyway to hide resolved bugs. I immediately brought up Github and received support from our tester (vocal support anyway, other devs might have felt the same but were afraid to speak up). As you all know, Github by default only shows open issues by default, reducing the clutter that would be generated by past closed issues. This is the most obvious solution to the CEO's problem. But this CEO still stubbornly rejected the proposal.
2 lessons to take away from this story:
- Developer seems to be the only role in a development team that is willing to learn new tools for their work. Everybody else just tries to stretch the limit of the tools they already knew even if it meant fitting a square peg into a round hole. Well, I can't speak for testers, out of 2 testers I interacted with, one I never asked her opinion about Github, and the other one was the guy mentioned above. But I do know a pixel artist in the same company having a similar condition. She tries to make pixel arts using Photoshop. Didn't get to talk to her about this because we're not on the same project, but if we were, I'd suggest her use Aseprite, or (at least Pixelorama if the company doesn't want to spend for Aseprite's price tag) for the purpose of drawing pixel arts. Not sure how willing she would be at learning new tools, though.
- Github and other git hosts have a bit of a branding problem. Their names - Github, BitBucket, GitLab, etc... - are evocative of a tool exclusively used by developers, yet their websites have these features that are supposed to be used by different roles other than developers. Issues tabs are used by testers as well as developers. Wiki tabs are used by designers alongside developers. Projects and Insights tabs are used by project managers/product owners. Discussion tabs are used by every roles. Artists can even submit new assets through Pull Requests tabs if the Art Directors know how to use the site interface (Art Directors' job is literally just code review, but for artistic assets). These websites are more than just git hosts. They are straight-up Jira replacement with git hosting as a bonus feature. How can we get that through the head of non-developers so that we don't have to keep 4+ accounts for different websites for the same project?4 -
I like helping out on weird little projects that keep my brain fed. One of our IT guys needs a little form that can auto inject some info from a small data store (Google sheets). There's a few caveats within his specs. All can be done with some js relatively easily.
But because I said it can be done he thinks it'll take 10mins and now suddenly he's putting pressure on me to do it, despite me also having an actual job to do! So frustrating!2 -
We have built an entire app that is very critical to our business on google sheets. My boss did this all by convincing people he is doing that to save time on admin panel development. But the business suffers with slowness and so many problems. And he loves google sheets for some crazy reason I don't know.6
-
"=$B1*INDEX(A:A,ROW())"
See this absolute bullshit right here?
This fucking cunt of a problem designed by some dippity-do finger-painting fucking jackass at google doesn't work why?
Because for some *god damn reason* they decided it would be a good idea to setup it up in a way that when you use absolute cell references in a formula, you can't use functions in the formula too. No the other side has to be a literal or cell reference apparently.
Motherfuckers.3 -
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5 -
Fuck this new fad of forcing you to open a new tab when you click on a link. I already have 40+ tabs do you think I need another fucking tab just for your shitty homepage? If I wanted to do that I would just fucking use command (cntrl) click. Stop forcing me. And fuck google especially for making this a thing with google drive and switching between accounts. I mean why the fuck do I need a tab of just the idiotic sheets homescreen (the one that doesn't even include my sheets)? And if I want to switch accounts why do you open the new account in a new tab? I don't want to have my old account up I wanted to switch that's why it's called switch accounts7
-
So first rant, here goes weirdness, and also lengthy rant
So in my company we have the hr and accounting managed by the same person which also deals with all things employee related and she had a need for a way to extract a birthday from, what is in our country the personal identification number, things go great i get a formula that performs parts of the magic up to the point where the first digit of the number dictates the gender and century to be used when forming the full year, mind you only the last two digits of the year are in plain within the id number so i thy a number of ideas. After bashing around google sheets for a while ( i've got open office installed and formulas don't export well to the excel that person uses but google sheets does so i built it there).
First idea : make a few conditionals to check for the value so we have 1 and 2 for 19th century, 3 and 4 for 18th century , 5 and 6 for 20th so i go ahead and write my conditions and they fail, all evaluates to false, it cascades through the else variants up to the last one so i'm wondering if the "if" itself doesn't support the or operator, seems it does, next i think it's the bloody condition written wrong so i reevaluate my logic in php in a test script, it works as intended, then i think ok not the right function called, let's see the docs, docs confirm i'm doing it right but what was wrong was the way i was getting that first number, using left seems to produce a string although the base thing is a number, now i start searching how i can cast it, like you would normaly do when the data type is fried, value function appears to be the solution but it isn't working....now i'm thinking "ok so i have a value and different things to print out so let's look for a switch, maybe it can understand that" switch function found under the form of choice, i get it sorted but am stuck wondering why the heck was the if and value combination not working.
Simple answer to that : value doesn't work well with function results, a known bug listed by someone in a comment, a comment i have failed to read for about 45 minutes of trying to understand.
All in all it worked well for the person asking for it so it's nice. -
I maintain two websites for my employer. The head of my department and my manager decided it’s best for me to focus my time on website A and website B should be replatformed to an out of the box solution. For website B, we’d work with our IT team to find something suitable.
I did some research and came up with a list of possible solutions. IT looked into solutions that would work with the org’s best practices for tech. A few sales pitches and demos were arranged with the top choices.
Stakeholder for website B is really digging in her heels. SH keeps badgering our Product Manager and IT about why can’t we just build in-house. The out of box solutions don’t do everything she wants.
PM tells SH that no solution will be perfect. PM also reminds SH that comparable institutions just use Google sheets/forms and do everything by hand. So choose an out of the box platform or use Google forms.
Plus, the list of improvements the SH wanted for website B would take at least a year if I did them on my own and there’s no budget to out source the labor. That’s not counting bring the code up to best practices or improving database efficiency.
I’m glad I don’t have to work with Stakeholder anymore. SH and her department were just a pain. They want a lot of custom tech solutions but they freak out at the smallest talk about tech issues. -
I've reached the point where I write my Google sheets functions in the same IDE as my other programming, because it handles errors better...2
-
tldr: I am looking for recommendations for a basic website for my parents. GOTO question;
Pre-Story:
My parents have a small (offline) business. They have a website to give some general information and list their weekly offers.
When I felt that what has come out of the website-building tool (you know, clicky clicky stuff) looked a bit too early 2000's and is a total ripoff for what you get (almost 20€ per month), I created something with Google Sites for them. Feel free to roast me, but web development is not my field and now it looks much more modern, is mobile friendly and does what it is supposed to do. Weekly offers are edited in a google sheets file, which is embedded in the website. Not great, but this way my mom doesn't have to deal with editing a tables on the page - trust me, it won't look good. This also meant they could downgrade the hosting package to discard the clicky-tool and just the domain (maybe 1€ per month). The website itself is hosted for free by Google.
Some time ago GDPR became a thing and then I was tasked to have a look at it. (side note: I don't want to rant about being responsible for it, that's fine. My parents don't really ask me to do a lot for them.) You can't enter any data on the website, it's just very basic stuff and data protection wise there's just the "usual" stuff (cookies, embedded tools, logs). I added another site with a halfway complete privacy policy. Regarding the whole cookie issue (do not enforce unnecessary cookies) I couldn't find an easy solution. It's not 100%, but what can you really expect from a small business like this? I've seen worse.
Now to the question:
Can you recommend a good alternative to the current solution (Google Sites)?
It should be cheap (<3€/month incl. domain) and my parents should be able to make some basic changes (just text in predefined locations). I am not afraid to get my hands dirty - I can deal with some HTML, CSS, JS - but I don't want to sink a lot of time into this. No need for analytics or the like. Maybe a newsletter would be cool (with the weekly offers), but that's just a random thought of mine and definitely not necessary.
Thanks for reading :)18 -
We can’t use google sheets, cause of security risks.
(Okay...)
Not even for our showcase content.
Which is public.
The showcase content which goal of the company is to have seen by as many ppl as possible.
Cause security issues which may lead to the possibility of people seeing it.
Seeing the content we want them to see.
Roses are red
My dog ate my led
I may be going crazy
It would be so easy
If they used their head
Or at least fucking read
Edit: if any security expert can give me a valid explanation better than: “it’s the protocol” I am willing to accept I am wrong, but then the point is that they (colleagues) are dicks for not explaining5 -
Friend asked me to help him with his excel file, as I know a bunch of that, it was just a small and quick thing he said, I just can't get this function to work...
Now I've rewritten all of that excel files functions and, without error handling and anomaly processing every function is an average of 500 chars. Times 500 unique functions...
QUICK AND EASY YOU SAID -
Damn you, Excel. In the past I've had the notion, that you are the OG perfect sheet editor. Now, that I actually have to use you, all I have to say is to go, bow before Google Sheets!6
-
Best tool: something similar to what I am already comfortable with and have low learning curve and gets the work done. Jet Brains IDE, Sublime text, Google sheets, zsh.
Worst tool: Something which will take me long time to learn and get used to. Vscode, powershell, chrome, vim.1 -
Rather than using the project management software that the company has spent the past year getting set up and stuck into, the new ops manager seems to think that faffing around in Google Sheets and making pretty schedules is the way forward.
If you're doing some work that's in your actual job list, but not in the new pipeline, ohhhh boy. -
Hello fellow devs. I wanna create a survey site, which will contain 3 surveys within. All 3 surveys, will contain around 50 questions, and will have a range of input options. The site will collect the data from a form, store it and probably live visualize them with a plot-like library .
I was thinking about using React for the front-end, Firebase for the back-end + Google-Sheets and one of the many react-libraries for plotting.
Do you think that this stack is appropriate for that kind of app ? I am a bit concerned about firebase's querying system or the scalability of the app. (Since it will hold a lot of questions and answers )
( It's survey for developers, so I hope in the future you will participate in it :D ).