• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 05:08
CET 10:08
KST 18:08
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289HomeStory Cup 28 - Info & Preview13Rongyi Cup S3 - Preview & Info8
Community News
2026 KongFu Cup Announcement3BGE Stara Zagora 2026 cancelled12Blizzard Classic Cup - Tastosis announced as captains15Weekly Cups (March 2-8): ByuN overcomes PvT block4GSL CK - New online series18
StarCraft 2
General
BGE Stara Zagora 2026 cancelled Blizzard Classic Cup - Tastosis announced as captains BGE Stara Zagora 2026 announced ByuL: The Forgotten Master of ZvT Terran AddOns placement
Tourneys
RSL Season 4 announced for March-April PIG STY FESTIVAL 7.0! (19 Feb - 1 Mar) Sparkling Tuna Cup - Weekly Open Tournament 2026 KongFu Cup Announcement [GSL CK] Team Maru vs. Team herO
Strategy
Custom Maps
Publishing has been re-enabled! [Feb 24th 2026] Map Editor closed ?
External Content
The PondCast: SC2 News & Results Mutation # 516 Specter of Death Mutation # 515 Together Forever Mutation # 514 Ulnar New Year
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ BSL 22 Map Contest — Submissions OPEN to March 10 ASL21 General Discussion Are you ready for ASL 21? Hype VIDEO Gypsy to Korea
Tourneys
[Megathread] Daily Proleagues [BSL22] Open Qualifiers & Ladder Tours IPSL Spring 2026 is here! ASL Season 21 Qualifiers March 7-8
Strategy
Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2 Fighting Spirit mining rates Zealot bombing is no longer popular?
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread PC Games Sales Thread No Man's Sky (PS4 and PC)
Dota 2
Official 'what is Dota anymore' discussion The Story of Wings Gaming
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Mexico's Drug War Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine NASA and the Private Sector
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! [Req][Books] Good Fantasy/SciFi books
Sports
Formula 1 Discussion 2024 - 2026 Football Thread General nutrition recommendations Cricket [SPORT] TL MMA Pick'em Pool 2013
World Cup 2022
Tech Support
Laptop capable of using Photoshop Lightroom?
TL Community
The Automated Ban List
Blogs
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1756 users

The Big Programming Thread - Page 1015

Forum Index > General Forum
Post a Reply
Prev 1 1013 1014 1015 1016 1017 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
Burned Toast *
Profile Blog Joined May 2007
Canada2040 Posts
January 07 2020 01:56 GMT
#20281
Is there an API or something that can locate a specific frame in a Youtube video by image recognition ?

I would love to develop a more automated process when i write the posts for the for Small Vod Thread, and the ability to locate the frames with the image of the BW lobby in a long youtube video would be an interesting time saver...
TvT matchup is sometimes worse than jailtime
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
January 07 2020 02:48 GMT
#20282
Could you not download the video then run some sort of recognition software on that?
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
Silvanel
Profile Blog Joined March 2003
Poland4742 Posts
January 07 2020 08:13 GMT
#20283
I think its more a problem with recognition itself? If not You can always automate the browser with something like selenium and simply run recognition on what is displayed to the user. Unless of course You want to run it headless and/on multiple videos at the same time. Then its becomes a little more complicated but still doable with something like selenium grid.
Pathetic Greta hater.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2020-01-07 13:56:33
January 07 2020 13:56 GMT
#20284
--- Nuked ---
Acrofales
Profile Joined August 2010
Spain18234 Posts
Last Edited: 2020-01-07 18:42:29
January 07 2020 18:41 GMT
#20285
Agree with nesserev. Doing any kind of serious processing through selenium sounds like a huge pain in the ass. However awesome selenium is, it isn't really designed for this type of task. I also don't think the youtube data api allows you to download a video, but there are tons of ways of doing that (and automating this process if you have a URL, which you *can* search for with the data API).
emperorchampion
Profile Blog Joined December 2008
Canada9496 Posts
January 07 2020 22:15 GMT
#20286
On January 07 2020 22:56 Nesserev wrote:
Show nested quote +
On January 07 2020 17:13 Silvanel wrote:
I think its more a problem with recognition itself? If not You can always automate the browser with something like selenium and simply run recognition on what is displayed to the user. Unless of course You want to run it headless and/on multiple videos at the same time. Then its becomes a little more complicated but still doable with something like selenium grid.

Doing everything with selenium sounds like a massive pain and limiting your options; just use Google's Youtube Data API to check for new videos, download the videos, and then process the videos locally.

  1. uses database to keep track of relevant channels and their videos
  2. periodically scan channel for new videos
  3. download videos
  4. use visual/audio recognition library to determine timestamps


Btw, wouldn't it be better to search for the countdown signal? It's very distinct, and should be easy to recognize.


Nice idea!

In either the audio or visual route you can use ffmpeg (www.ffmpeg.org). The doot doot doot swwsssh audio is probably faster rather than extracting all the frames then searching through one-by-one.
TRUEESPORTS || your days as a respected member of team liquid are over
Djzapz
Profile Blog Joined August 2009
Canada10681 Posts
Last Edited: 2020-01-08 01:32:43
January 08 2020 01:29 GMT
#20287
Probably not the point of this thread but I'll just write what I've been up to.

I just started dabbling in Python 3 days ago. It's my first experience "coding" it and I've been struggling so hard. I wrote a game where you start with $100 and then you gamble with it until you're at $0. I also made a thing that calculates factorials and displays n numbers of the fibonacci sequence. My code is absolute patchwork though.

I'd like to be able to write scripts to parse through websites someday but damn, this is hard...
"My incompetence with power tools had been increasing exponentially over the course of 20 years spent inhaling experimental oven cleaners"
tofucake
Profile Blog Joined October 2009
Hyrule19194 Posts
January 08 2020 04:49 GMT
#20288
Parsing websites is fucking awful. Ignoring the part where bad devs make everything 43 nested tables and good devs make things properly but every time a site is deployed every id and class name changes, it's fucking hard.

Parsing most sites isn't even usually worth it, as there are typically APIs to get the raw and specific data you want from the source, and if not, someone else has already written a scraper and made an API that'll give you that anyway.

Unless you want to get into something like adblock tech or the like, scraping is a path to the dark side of HTML.
Liquipediaasante sana squash banana
Djzapz
Profile Blog Joined August 2009
Canada10681 Posts
January 08 2020 05:01 GMT
#20289
On January 08 2020 13:49 tofucake wrote:
Parsing websites is fucking awful. Ignoring the part where bad devs make everything 43 nested tables and good devs make things properly but every time a site is deployed every id and class name changes, it's fucking hard.

Parsing most sites isn't even usually worth it, as there are typically APIs to get the raw and specific data you want from the source, and if not, someone else has already written a scraper and made an API that'll give you that anyway.

Unless you want to get into something like adblock tech or the like, scraping is a path to the dark side of HTML.

Damn . Well it's fun anyway!
"My incompetence with power tools had been increasing exponentially over the course of 20 years spent inhaling experimental oven cleaners"
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2020-01-08 19:51:22
January 08 2020 17:33 GMT
#20290
Some websites can be pretty atrocious, but in general my experience with scraping websites is that it isn't *too* awful. A bit menial but how horrible it is will generally correspond mostly to how varied the information you are trying to get is.

Djzapz if you need any python help I'd love to help you with questions. You can pm me here or some quicker alternative too if you need.
tofucake
Profile Blog Joined October 2009
Hyrule19194 Posts
January 08 2020 19:11 GMT
#20291
Yeah python is the easy part, I can help with that too.
Liquipediaasante sana squash banana
Djzapz
Profile Blog Joined August 2009
Canada10681 Posts
January 08 2020 21:09 GMT
#20292
Thanks guys, I appreciate the offer! I'm good for now because my wife is an IT project manager and while she hasn't worked with Python very much, she knows enough that she can answer any questions I have for now. Cheers
"My incompetence with power tools had been increasing exponentially over the course of 20 years spent inhaling experimental oven cleaners"
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
January 09 2020 22:34 GMT
#20293
Say you have a table with 3 important columns for some event, Id, CreationDate, and EventDate. Let's say that there are multiple entries for one person at one event, and a new entry gets created every time their information changes. How can you use SQL to grab the most recent Id and EventDate from them for each EventDate?

Say their event is from 2019-05-03 to 2019-05-08 they would have 1 entry for each of those dates. I am trying to get the Id, and EventDate with a query without tons of subqueries/joins. Is there some efficient way of doing this that I'm missing?
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
tofucake
Profile Blog Joined October 2009
Hyrule19194 Posts
Last Edited: 2020-01-10 02:27:08
January 10 2020 02:26 GMT
#20294
oops saw the example
Liquipediaasante sana squash banana
Acrofales
Profile Joined August 2010
Spain18234 Posts
January 10 2020 06:31 GMT
#20295
https://stackoverflow.com/questions/7118170/sql-server-select-only-the-rows-with-maxdate

There, that should help you in your way.

Word of caution, that table sounds rather weird... this won't give you the last time an event was entered by a single person, it'll give you the last time any event was entered for a given EventDate by anybody. You won't be able to find different events on a single day, or anything about number of participants with the table as you specified it.
Manit0u
Profile Blog Joined August 2004
Poland17693 Posts
Last Edited: 2020-01-10 12:27:11
January 10 2020 12:08 GMT
#20296
On January 10 2020 07:34 WarSame wrote:
Say you have a table with 3 important columns for some event, Id, CreationDate, and EventDate. Let's say that there are multiple entries for one person at one event, and a new entry gets created every time their information changes. How can you use SQL to grab the most recent Id and EventDate from them for each EventDate?

Say their event is from 2019-05-03 to 2019-05-08 they would have 1 entry for each of those dates. I am trying to get the Id, and EventDate with a query without tons of subqueries/joins. Is there some efficient way of doing this that I'm missing?


Not entirely sure what do you want to do. What's creation date? Is Id an uuid or a bigint? Is it auto-increment PK or FK?

If it's what I assume it is you'll have some kind of user/customer table and event table that belongs to the user/customer. In that case it's really easy.


SELECT Id, CustomerId, EventDate FROM events
WHERE CustomerId = someId
ORDER BY EventDate DESC
LIMIT 1


This gets you the most recent entry for specific customer.

What you described seems rather odd and super inefficient though. Why not just store event dates as daterange? Why create new entries upon updates if you can just update the old ones?

Edit: Let me rephrase it a bit...

There must be some way to tell which event dates belong to which group (especially that it seems you can have multiple events for the same date). Also, with the idea of creating new entries when something is changed there must be a way to tell which dates have been invalidated, what is it? All this info can help with getting what you want from the table.
Time is precious. Waste it wisely.
Acrofales
Profile Joined August 2010
Spain18234 Posts
January 10 2020 13:57 GMT
#20297
Oh, I missed that an event is multiple days, and therefore has multiple entries in this table. In that case the situation is even more confusing.

I suggest either redesigning your DB a bit, or giving us more information, because as is, it doesn't make sense.
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
January 10 2020 16:23 GMT
#20298
It's not my DB and I can't redesign it but I have the same questions as y'all :D

I can tie the Event Snapshot(1 day of an event) to a customer, so that part I'm not worried about. What I'm trying to do is find the most recent updates to the event before a certain date cutoff. Say I'm looking before the end of March, I want to find the last Event Snapshot at the end of March. So I need to pull out the most recent Event Snapshot for that Event, but I need to do so for each date of the Event(so I can sum up revenues of the event, for example).

@Acrofales, thanks! Our DB on the backend is SQL Server but I'm trying to do this in SalesForce Developer Console(bleh) so it doesn't translate directly. I asked about SQL because I figured it was the most familiar to everyone but now I see the flaw in my plan. Do you know of a way without using any tailored SQL solution? i.e. system agnostic, using just joins and the like.
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
Manit0u
Profile Blog Joined August 2004
Poland17693 Posts
January 10 2020 17:30 GMT
#20299
On January 11 2020 01:23 WarSame wrote:
It's not my DB and I can't redesign it but I have the same questions as y'all :D

I can tie the Event Snapshot(1 day of an event) to a customer, so that part I'm not worried about. What I'm trying to do is find the most recent updates to the event before a certain date cutoff. Say I'm looking before the end of March, I want to find the last Event Snapshot at the end of March. So I need to pull out the most recent Event Snapshot for that Event, but I need to do so for each date of the Event(so I can sum up revenues of the event, for example).

@Acrofales, thanks! Our DB on the backend is SQL Server but I'm trying to do this in SalesForce Developer Console(bleh) so it doesn't translate directly. I asked about SQL because I figured it was the most familiar to everyone but now I see the flaw in my plan. Do you know of a way without using any tailored SQL solution? i.e. system agnostic, using just joins and the like.


Ok, so there's a way to group events by customer. Is there a way to also group them by event (multiple snapshots being a group for continuous multi-day event)? And what about invalidated snapshots like I mentioned? That's all you need really to make it work.
Time is precious. Waste it wisely.
Acrofales
Profile Joined August 2010
Spain18234 Posts
January 11 2020 12:49 GMT
#20300
On January 10 2020 07:34 WarSame wrote:
Say you have a table with 3 important columns for some event, Id, CreationDate, and EventDate. Let's say that there are multiple entries for one person at one event, and a new entry gets created every time their information changes. How can you use SQL to grab the most recent Id and EventDate from them for each EventDate?

Say their event is from 2019-05-03 to 2019-05-08 they would have 1 entry for each of those dates. I am trying to get the Id, and EventDate with a query without tons of subqueries/joins. Is there some efficient way of doing this that I'm missing?

Okay, without using SQL:

well, you can easily find the max(creationDate) in a loop over all the entries. Something like (in python, but converting to whatever language you like is easy):

latest_creations = defaultdict(int)
latest_ids = defaultdict(int)
for e_id, creation_date, event_date in entries:
latest = latest_creations[event_date]
entry_time = convert_to_timestamp(creation_date)
if latest < entry_time:
latest_creations[event_date] = entry_time
latest_ids[event_date] = e_id


This way, latest_ids has all the ids of the last creations for each event date. It's not too inefficient, but if your DB has a LOT of entries, then you do need to move this logic to where the data is being retrieved (the query). If you don't have access then I don't really know what you can do to speed it up.

I still don't really understand the point of this: if two events coincide in their event_date you're still screwed. But I guess that is simply impossible in whatever use case this structure is being used for.
Prev 1 1013 1014 1015 1016 1017 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 53m
[ Submit Event ]
Live Streams
Refresh
StarCraft: Brood War
Sea 34337
Calm 11074
GuemChi 731
BeSt 607
actioN 435
ToSsGirL 80
EffOrt 79
Hm[arnc] 69
Backho 41
Soma 39
[ Show more ]
NaDa 36
HiyA 33
JulyZerg 27
sorry 25
GoRush 20
IntoTheRainbow 17
ivOry 15
SilentControl 9
Terrorterran 1
Dota 2
XaKoH 557
NeuroSwarm168
League of Legends
JimRising 603
Counter-Strike
Stewie2K1236
Super Smash Bros
Mew2King100
Heroes of the Storm
Khaldor219
Other Games
Moletrap3
Organizations
Dota 2
PGL Dota 2 - Main Stream7108
Other Games
gamesdonequick689
ComeBackTV 345
StarCraft: Brood War
lovetv 24
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• LUISG 17
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 433
League of Legends
• HappyZerGling142
Upcoming Events
Sparkling Tuna Cup
53m
RSL Revival
53m
ByuN vs SHIN
Maru vs Krystianer
WardiTV Team League
2h 53m
Patches Events
7h 53m
BSL
10h 53m
GSL
22h 53m
Wardi Open
1d 2h
Monday Night Weeklies
1d 7h
OSC
1d 14h
WardiTV Team League
2 days
[ Show More ]
PiGosaur Cup
2 days
Kung Fu Cup
3 days
The PondCast
4 days
KCM Race Survival
4 days
WardiTV Team League
4 days
Replay Cast
4 days
KCM Race Survival
5 days
WardiTV Team League
5 days
Korean StarCraft League
5 days
uThermal 2v2 Circuit
6 days
BSL
6 days
Liquipedia Results

Completed

Proleague 2026-03-13
WardiTV Winter 2026
Underdog Cup #3

Ongoing

KCM Race Survival 2026 Season 1
Jeongseon Sooper Cup
BSL Season 22
RSL Revival: Season 4
Nations Cup 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

CSL Elite League 2026
ASL Season 21
Acropolis #4 - TS6
2026 Changsha Offline CUP
Acropolis #4
IPSL Spring 2026
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
NationLESS Cup
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.