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
Volguus
Mar 3, 2009

Nichael posted:

Humble Request
Problem: I work on a political campaign and need something simple that could interact with volunteers.
Description and requirements: I admittedly don't know much about software design but if possible I'd like something that has a newsfeed of events and updates from the campaign that someone on our staff could periodically update, as well as the possibility of sending push notifications to people. Finally, I was thinking it could have in-app purchases that act as donations to the campaign, which can take Play and Apple credits.

I admit this probably is demanding, but I was thinking we could work out a payment scheme based off of donations gotten through the application. And in my opinion, this would be used for a good cause as this is a grassroots campaign funded by small donations.
Nice to have features:
-Push notifcations
-News feed
-Donation mechanism (in-app purchases?)

I don't know much about Facebook, but these requirements to me look like everything Facebook does. Or is it twitter? Nah, Facebook probably.

Adbot
ADBOT LOVES YOU

Volguus
Mar 3, 2009

tactlessbastard posted:

OK, how's this:

I've got a folder on my win10 desktop that is the output dump of a process that as of today has 163 files (and growing, at an alarmingly increasing rate) , all named Mass Balance X.xls, where X corresponds to a work order # for a work order in NetSuite. Somebody has to open the respective work order in NetSuite, attach the corresponding .xls to the work order, and then move the .xls to a subfolder "Already Uploaded" in the original folder. This process needs to repeat until the folder is empty. If anyone can save me from this drudgery I'll ship them a case of our product (we bottle unicorn farts)*





*it isn't unicorn farts

The problem is that NetSuite is an enterprise app so people will not normally have access to it at home (unless they have a "for home" version which i doubt). And access to that app is mandatory to develop and test such a little script. My recommendation is to fiddle around with AutoIt. Is a really simple scripting language much like Basic that allows you to move the mouse, click, simulate keyboard pressed, etc. Spending a bit of time with it, even if you're not a programmer, may make you an enough of an expert to be able to solve your little problem. And really, your little problem needs solving 'cause that's mind numbingly boring tedious lovely job.

Or maybe you're lucky and someone here has access to NetSuite at work and doesn't mind to do the work for some unicorn farts.

Volguus
Mar 3, 2009

quote:

Although the eBay Buy APIs are available for anyone to use in eBay's sandbox environment, use of the APIs in production is restricted. Users must meet standard eligibility requirements, get approvals from eBay support organizations, and sign contracts with eBay and PayPal to access the Buy APIs in production.

I'm not quite sure how do you plan of making this work with the real data, wih the production environment of eBay, but if you do, let me know.

Volguus
Mar 3, 2009

mobby_6kl posted:

Uh... the search is part of the Browse API so I hope that doesn't apply (it doesn't say anything about these requirements), because I'm certainly not signing any contracts with PayPal :v:

I guess we'll see. Obviously another solution would be just scraping the results but :effort:

Finally some good use for Selenium.

Volguus
Mar 3, 2009

fatman1683 posted:

1. That's correct. All the events are considered continuous for whatever their duration is. The important thing is that I need to be able to schedule a known duration, rather than scheduling start and end times. I need the software to help me figure out when the events should start and end.

2. It should be constrained for any copy of that event on any track, up to whatever the constraint count is. Imagine that you need a specific piece of equipment to do a job, but you only need it for the first 20 minutes of that job, and then someone else can use it to start that same job somewhere else. I'm trying to parallelize tasks while deconflicting limited resources.

I appreciate your help, I know this is stretching the definition of 'tiny' but I'm very grateful.

That sounds like what Gantt charts in project management and planning applications do, doesn't it? Now, optimization and automatic event scheduling may require some programming in that software, whatever that may be, but that's all that it seems to be. Am I missing anything?

Volguus
Mar 3, 2009

fatman1683 posted:

It is basically a Gantt chart, but every Gantt charting software I can find is designed around the project management function and works in terms of days. I need something that works in terms of minutes and hours. It is very similar to a Gantt chart in principle, though.

e: Also Gantt charts are typically built around creating a task flow and then assigning resources to tasks. What I'm trying to do is assign tasks to resources.

Aha, that makes sense. So your resources are called tracks, right? And your tasks are called events?

With that vocabulary, let me see if I understand the requirements:

- You have several tracks, a known number (presumably can be added/removed)
- You have a bunch of events (dozens?), predefined (you called them stock events)
- An event has a name, a duration and a set of constraints
- You have a start time for the entire operation (Let's say Monday, April 26, 15:00:00)
- You add events (or have the software add them) to each track, in whatever order you want
- Maybe have a button for the software to add them based on constraints, after which they can be further manipulated by you.
- Then each event, while on the track, will have a start time and an end time.

Does that sound right?

fatman1683 posted:

Configurable constraints on when a particular predefined event can be scheduled, i.e. must start after/end before x time, cannot start less than x minutes before/after another copy of the same event
Configurable constraints on how many copies of a particular predefined event can be scheduled to start on a given day

When you say "cannot start less than x minutes before/after another copy of the same event", will that be for a particular track or for any of the tracks? How do you define an event to be equal with another event? Same name? Some origin (same stock event they were copied from)?
Again, "how many copies" would that apply to any defined track currently on the schedule? And, how is a day defined? From 0:00-23:59? What do you do when daylight savings comes around? Or goes away? (You lose or gain one hour) How should that be handled? Again, this presumes you're working in local time, not UTC (UTC would make DST not apply for example).

Would this be an application that would handle a rolling timeline of these events? Or would it require for the schedule to be saved/loaded from a file (a document)? That is, every time you come to work and you open the application, you always see the same thing, whatever you have scheduled previously, maybe then start to delete the events and plan a new one? Or would you require to open an existing document with these events scheduled or create a new one, etc. ?

What happens with the schedule? Exported somewhere (if yes, what format)? Printed? Or ... nothing, you just look at it and make decisions based on the information presented?


This may or may not be a tiny app, depending on the answers, but I think it would be good to flesh out the requirements as much as possible, regardless how this will get done (and it does look like a program would help you in you job here).

Oh, and another thing, presumably you'd want a desktop application right? Or on some other platform (mobile, web?)? And by desktop would mean Windows?

Volguus fucked around with this message at 04:14 on Apr 26, 2021

Volguus
Mar 3, 2009
Thank you for the answers. Diving deeper into this, I looked at what available ready-made components (namely a nice looking and easily customizable gantt-like component) are there. And there aren't many options, unfortunately, for all the languages I've looked at (C++ with Qt, wxWidgets or MFC), Java (JavaFX, though there is something for Swing). I mean, there are, but they're either lovely or proprietary.

To be honest, such a component may be fun to write, but such an application is definitely not tiny. Having your requirements laid out in more detail helps though for whoever would want to give it a shot. I will too, but I can't promise anything, and definitely nothing can come soon (from me at least).

It is surprising though that all these mega-expensive project scheduling and management tools have such limitations that they cannot be used for minute/hour/week long tasks. Oh well.

Volguus
Mar 3, 2009
Request Fill
Name: Events Scheduler
Download link: https://github.com/sa55231/scheduler/releases
Source Code: https://github.com/sa55231/scheduler
Features and Usage: It provides a barebones application to aid the scheduling.
Screenshot:


More updates will be coming, but the first few releases have been deemed acceptable enough by the requester.

Volguus fucked around with this message at 14:44 on May 21, 2021

Volguus
Mar 3, 2009

Flipperwaldt posted:

Because I'm not interested in denying anything access to the network. The proper solution for my problem is actually dhcp reservations, which this isp provided router doesn't allow me to do. I also do not want to assign static ips to anything for probably no good actual reason. Everything actually works fine that way apart from one of two times a year the isp does some maintenance thing and upsets the order. I just want a notice that this has happened, instead of being baffled by the number of things suddenly not working, as well as the new addresses I need to use.

That router, which does DHCP, it doesn't do DNS? So that you can at least use computer names?
Or, better yet, does it have a page with the current assignments? Because if it does (it should, don't they all?), then you can just scrape the web page and autoit is more than fine for this.

Volguus
Mar 3, 2009

Flipperwaldt posted:

I address my thermostat by ip address in order not to have to have recurring costs for their app. If it has a computer name, I've never seen it pop up. The app I use to access my satellite receiver only has a numerical field to identify it. On the receiver itself the same goes for how to mount my nas. Etc. Computer names work in other places, so that's probably yes to dns?

On windows, it's way easier than scraping: there's a nirsoft tool that can collect and export the data. The reason I don't care to do it on windows though it's that I can easily go weeks between powering up my laptop at all, while there is a linux based server running 24/7.

One way to find out the IPs on your network from linux is to use nmap:
pre:
sudo nmap -sn 192.168.1.0/24
This assumes that 192.168.1.0/24 is your network. Change as necessary. But, since I don't have a Synology, I have no idea what that thing can run. To send email though, that's gonna be a bit more complicated, and it will depend on what provider you have. May or may not even be possible.

Volguus
Mar 3, 2009

Flipperwaldt posted:

It's a CH7465LG-TN provided by Telenet, the only broadband provider I have access to in this part of Belgium. DHCP cannot be disabled on the router. It also cannot be set to bridge mode or be wholly replaced with a device under my control.

Nmap errors out with command not found, so I guess that's out. Both arp -a and ip neigh give me results, though it's hard to tell if they give me what I need. Arp seems to be missing a number of devices that I know are online. Ip neigh gives me a load of ipv6 addresses and statuses alongside that that would take lots of work to manually figure out if they correspond to the missing devices. Both commands I found by Googling, I don't know if they are the right thing at all. These might only be addresses that have connected to the Synology or something? In which case, poo poo, I thought that part of it would be this easy. If it's significantly more complicated, forget about it.

Email is the easiest thing in this case. The Synology takes care of it. This means if the script contains a line that says echo "Hello", the word Hello will be mailed to me, no additional code necessary. It's possible through a setting to make this email conditional to the script terminating abnormally. So if you have an if clause that contains the echo command and you add exit 1 as the last thing within the if clause, then whatever is echo'd will only be mailed if the condition for the if clause is met. I definitely wouldn't ever have asked to figure out emailing from scratch.

arp will only display the information that the machine knows about at that time. In time, it may get more data. Nmap actively scans all the IPs in the specified subnet, so it will get pretty much everything. In my network, `dnsmasq.leases` (my DHCP server) has 47 entries, and nmap gives me 45 hosts. I presume that is because 2 of them may be offline. "arp -a", on the other hand, only returns 6 since that's what my machine knows about at this time.

So, in order for you to get the information that you want, you have these options:

1. Get it from the DHCP server. This is the main authority, but one which can be bypassed if a computer does not use it and instead has a static IP assigned. The problem with this seems to be the "how"
2. Scan the network with nmap. This should provide the most up to date data.
3. Display the current apr cache (with "arp -a") or listen for arp traffic (tcpdump or wireshark). This, however, only provides limited information. But, if you listen for long enough time, you will get them all eventually.

Adbot
ADBOT LOVES YOU

Volguus
Mar 3, 2009

Pissingintowind posted:

Problem: I have about 300 photos taken with an old cell phone that apparently didn't record EXIF information. Currently, when I try to import the photos into any photo management tool, the tool shows that the pictures were taken on the date that they were copied from the phone, instead of on the date that they were actually taken.

Description of requirements: The filenames of the photos, however, are standardized and correctly reflect the time the photos were taken:

MM-DD-YY_XXSS.jpg

MM = Month
DD = Day
YY = Year
XX = Hour (24 hour format)
SS = Second

Is there a way to make a simple tool that can take the information from the filenames and throw it into the EXIF data?

Nice-to-haves: I prefer something with a GUI and that I can run on windows, but I do have access to a Raspberry Pi with Debian :)

Thank you in advance!

Would https://exiftool.org/ help? It has a Windows version as well (command line). Though, it does seem to have a bit of a learning curve. There is a thread with someone asking for help to do what you did: https://exiftool.org/forum/index.php?topic=11125.0

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