• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 21:26
CEST 03:26
KST 10:26
  • 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
[ASL21] Ro24 Preview Pt2: News Flash10[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy18ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book20
Community News
[BSL22] RO32 Group Stage1Weekly Cups (March 23-29): herO takes triple6Aligulac acquired by REPLAYMAN.com/Stego Research8Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool51
StarCraft 2
General
Rongyi Cup S3 - Preview & Info Team Liquid Map Contest #22 - Presented by Monster Energy Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool What mix of new & old maps do you want in the next ladder pool? (SC2) Aligulac acquired by REPLAYMAN.com/Stego Research
Tourneys
RSL Season 4 announced for March-April Sparkling Tuna Cup - Weekly Open Tournament StarCraft Evolution League (SC Evo Biweekly) WardiTV Mondays World University TeamLeague (500$+) | Signups Open
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
The PondCast: SC2 News & Results Mutation # 520 Moving Fees Mutation # 519 Inner Power Mutation # 518 Radiation Zone
Brood War
General
ASL21 General Discussion [BSL22] RO32 Group Stage so ive been playing broodwar for a week straight. Gypsy to Korea Pros React To: JaeDong vs Queen
Tourneys
[ASL21] Ro24 Group F Escore Tournament StarCraft Season 2 [Megathread] Daily Proleagues [ASL21] Ro24 Group E
Strategy
What's the deal with APM & what's its true value Fighting Spirit mining rates Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Starcraft Tabletop Miniature Game Nintendo Switch Thread General RTS Discussion Thread Darkest Dungeon
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
G2 just beat GenG in First stand
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
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread The Chess Thread Russo-Ukrainian War Thread NASA and the Private Sector Things Aren’t Peaceful in Palestine
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion Cricket [SPORT] Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Broowar part 2
qwaykee
China Uses Video Games to Sh…
TrAiDoS
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
ASL S21 English Commentary…
namkraft
Electronics
mantequilla
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12828 users

The Big Programming Thread - Page 899

Forum Index > General Forum
Post a Reply
Prev 1 897 898 899 900 901 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.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2017-07-20 07:37:32
July 20 2017 07:37 GMT
#17961
On July 19 2017 10:02 dsyxelic wrote:
can anyone help a c noob?
--
say there is a text file with a string, say "abcdefghijk"

read in that file and delete a substring from it (have file update the new string)
--
is there a very simple way to do this?

so far all I got is fopen with the r+ mode and fgetc which doesn't seem to be what i'm looking for..

any easy to read resource or pointers(heh) for the best approach would be greatly appreciated. I've only gotten around to parsing individual strings from file or going by each character, but not substrings :/


The easiest way is: read the entire file into a string, delete the substring you want, and replace the file with the new string.
There is no one like you in the universe.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
July 21 2017 09:22 GMT
#17962
--- Nuked ---
Six.Strings
Profile Joined July 2017
48 Posts
July 31 2017 10:47 GMT
#17963
Not exactly programming but webdev:

I have a personal website for my CV etc. I made with HTML5, CSS and JS.

Now I want to apply internationally and I'm trying to figure out how to more elegantly switch languages on my site.
Thus far, I just copied the entire HTML file and replaced the German text with the English one, and the CSS and JS files linked to either one. Is there a more elegant solution to this?
Manit0u
Profile Blog Joined August 2004
Poland17713 Posts
Last Edited: 2017-07-31 12:13:20
July 31 2017 12:10 GMT
#17964
On July 31 2017 19:47 Six.Strings wrote:
Not exactly programming but webdev:

I have a personal website for my CV etc. I made with HTML5, CSS and JS.

Now I want to apply internationally and I'm trying to figure out how to more elegantly switch languages on my site.
Thus far, I just copied the entire HTML file and replaced the German text with the English one, and the CSS and JS files linked to either one. Is there a more elegant solution to this?


Are you using any backend? Any framework at all? Those usually come with such features built-in.

If you want to build it from scratch, then just load translations with JS.

1. Create button(s) to select language, all they should really do is just change a variable/cookie or whatever else where your store your language setting.
2. Create your translation files. YAML is amazing for this.
3. Create translation function using. Usually, this looks something like this:

var text = translate('some.property');

4. Use this function instead of regular text in your views.

Sample:


# locales/en.yml
messages:
welcome: 'Welcome!'

# locales/de.yml
messages:
welcome: 'Wilkommen!'

# my.js
const yaml = require('js-yaml');
const fs = require('fs');

try {
const translations = yaml.safeLoad(fs.readFileSync(locale + '.yml', 'utf8'));
} catch (e) {
console.error(e);
}

function translate(key) {
return getMessageByKey(translations, key);
}

function getMessageByKey(obj, key) {
if (!key) {
return obj;
}

var prop, props = key.split('.');

for (var i = 0, len = props.length - 1; i < len; i++) {
prop = props[i];

var candidate = obj[prop];

if (candidate !== undefined) {
obj = candidate;
} else {
break;
}
}

return obj[props[i]];
}


Or, you could just use this: http://www.openxrest.com/translatejs/
Time is precious. Waste it wisely.
dsyxelic
Profile Joined May 2010
United States1417 Posts
Last Edited: 2017-08-03 22:01:01
August 03 2017 19:28 GMT
#17965

# ********
# * *
# * **** *
# * * * *
# * * * *
# * * ** *
# * * *
# * ******
# 8x8 example

def spiral(rows, cols):
#print out a spiral similar to the one above given rows and cols
#can be a rectangle too


so this is a question I found off a mock interview and I've been stuck on it. Any ideas?


Also sorry for the ugly spiral up there, tried to format it so that it looks normal but eh.. looked fine on notepad and my ide so must be something with the spacing here

Edit: ok the spiral got destroyed lol, if it ppl dont get what it should look like ill upload a pic when i get home.

Basically must have empty spaces around it besides the box it came from and is going to
TL/SKT
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
August 03 2017 19:58 GMT
#17966

# ********
# * *
# * **** *
# * * * *
# * * * *
# * * ** *
# * * *
# * ******


Something like this?
There is no one like you in the universe.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
August 03 2017 20:55 GMT
#17967
Use the
[code]
tag to get that kind of formatting.
If you have a good reason to disagree with the above, please tell me. Thank you.
dsyxelic
Profile Joined May 2010
United States1417 Posts
August 03 2017 21:58 GMT
#17968
On August 04 2017 04:58 Blisse wrote:

# ********
# * *
# * **** *
# * * * *
# * * * *
# * * ** *
# * * *
# * ******


Something like this?


yes exactly
TL/SKT
Deckard.666
Profile Joined September 2012
152 Posts
Last Edited: 2017-08-03 23:26:34
August 03 2017 23:23 GMT
#17969
Kinda ugly, but it works.


def spiral(rows, cols):
matrix = [[' ' for _ in range(cols)] for _ in range(rows)]
dimensions = [rows, cols]
pos = [rows - 1, 0]
direction = [-1, 0]
k = 0
i = 0
while True:
t = 0
while (pos[i % 2] >= k or i in [1, 2]) and \
(pos[i % 2] < dimensions[i % 2] - k or i in [0, 3]):
t += 1
matrix[pos[0]][pos[1]] = "*"
pos[0] += direction[0]
pos[1] += direction[1]
if t <= 2:
break
pos[0] -= direction[0]
pos[1] -= direction[1]
direction = [direction[1], -direction[0]]
i = (i + 1) % 4
if i == 3:
k += 2
for row in matrix:
print(''.join(row))


edit: didnt work. Now it does :D
dsyxelic
Profile Joined May 2010
United States1417 Posts
August 04 2017 02:47 GMT
#17970
oh wow nice

besides an infinite loop in some test cases its generally pretty working

i have a hard time understanding your solution though, how does it work?
TL/SKT
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2017-08-04 06:53:30
August 04 2017 06:42 GMT
#17971
--- Nuked ---
Deckard.666
Profile Joined September 2012
152 Posts
August 04 2017 16:50 GMT
#17972
On August 04 2017 11:47 dsyxelic wrote:
oh wow nice

besides an infinite loop in some test cases its generally pretty working

i have a hard time understanding your solution though, how does it work?


Damn, on what test cases does it get stuck?

Anyway, it simply starts in the bottom left corner, with direction up, and starts replacing cells with a '*' and advancing until its k cells away from the border, at which points it turns clockwise. In the first loop k=0, and in every loop of the spiral k increases by 2. When a side of the spiral has a length shorter than 2, it stops (as turning and printing would mess up the spiral).
Acrofales
Profile Joined August 2010
Spain18253 Posts
August 04 2017 18:14 GMT
#17973
How about:

def spiral(x, y):
if x <= 0 or y <= 0:
return
myspiral = [[0 for i in range(0, y)] for j in range(0, x)]
draw_outer(x, y, myspiral)
left_spiral(x - 2, y - 2, myspiral, x - 1, y - 1)
print_spiral(myspiral);

def left_spiral(x, y, myspiral, posx, posy):
if x <= 0:
return
posx = draw_left(x, myspiral, posx, posy)
if y <= 0:
return
posy = draw_up(y, myspiral, posx, posy)

right_spiral(x - 2, y - 2, myspiral, posx, posy)

def right_spiral(x, y, myspiral, posx, posy):
if x <= 0:
return
posx = draw_right(x, myspiral, posx, posy)
if y <= 0:
return
posy = draw_down(y, myspiral, posx, posy)
left_spiral(x - 2, y - 2, myspiral, posx, posy)

def draw_outer(x, y, myspiral):
posy = draw_up(y, myspiral, 0, y-1)
posx = draw_right(x, myspiral, 0, posy)
draw_down(y, myspiral, posx, posy)

def draw_down(y, myspiral, posx, posy):
for i in range(0, y):
myspiral[posx][posy + i] = 1;
return posy + y - 1;

def draw_up(y, myspiral, posx, posy):
for i in range(0, y):
myspiral[posx][posy - i] = 1;
return posy - y + 1;

def draw_right(x, myspiral, posx, posy):
for i in range(0, x):
myspiral[posx + i][posy] = 1;
return posx + x - 1;

def draw_left(x, myspiral, posx, posy):
for i in range(0, x):
myspiral[posx - i][posy] = 1;
return posx - x + 1;

def print_spiral(myspiral):
transposed = list(map(list, zip(*myspiral)))
for row in transposed:
rowstr = ""
for cell in row:
if cell > 0:
rowstr += "X"
else:
rowstr += " "
print rowstr


It's a bit verbose and would be a lot neater by making it object oriented, but I couldn't be bothered. I wasn't sure what the last little bit should look like, so left the guards at <= 0. Can be changed to <= 1 if a 2x2 square is never a desired outcome.
dsyxelic
Profile Joined May 2010
United States1417 Posts
August 04 2017 18:45 GMT
#17974
On August 05 2017 01:50 Deckard.666 wrote:
Show nested quote +
On August 04 2017 11:47 dsyxelic wrote:
oh wow nice

besides an infinite loop in some test cases its generally pretty working

i have a hard time understanding your solution though, how does it work?


Damn, on what test cases does it get stuck?

Anyway, it simply starts in the bottom left corner, with direction up, and starts replacing cells with a '*' and advancing until its k cells away from the border, at which points it turns clockwise. In the first loop k=0, and in every loop of the spiral k increases by 2. When a side of the spiral has a length shorter than 2, it stops (as turning and printing would mess up the spiral).


Nvm haha it was my ide bugging out, my bad.

Ah I see that makes sense. For reference this was asked in a mock for a new grad. The guy couldn't get it tho and the interviewer didnt give the solution so was wondering how to do it.
TL/SKT
mahrgell
Profile Blog Joined December 2009
Germany3943 Posts
August 08 2017 15:36 GMT
#17975
Terminology question:
I have some Distributed Matrix class, and I'm looking for good terms to describe all the "extra/background data" and the "core data".
core data = all the (distributed) Matrix entries, so basically the Matrix itself
extra/background data = all the data how the data is distributed, which threads contains what etc, some central quick access information (like matrix size etc)

I'm kinda sure there is some common terminology for this, but I simply can't find it .

PS: The real class is actually containing more than just a distributed Matrix, but is actually a collection of a few vectors Matrices etc, which for computational reasons are distributed in some special way, so "Matrix data" doesn't really work for "core data"



dekibeki
Profile Joined June 2011
Australia34 Posts
August 08 2017 17:06 GMT
#17976
On August 09 2017 00:36 mahrgell wrote:
Terminology question:
I have some Distributed Matrix class, and I'm looking for good terms to describe all the "extra/background data" and the "core data".
core data = all the (distributed) Matrix entries, so basically the Matrix itself
extra/background data = all the data how the data is distributed, which threads contains what etc, some central quick access information (like matrix size etc)

I'm kinda sure there is some common terminology for this, but I simply can't find it .

PS: The real class is actually containing more than just a distributed Matrix, but is actually a collection of a few vectors Matrices etc, which for computational reasons are distributed in some special way, so "Matrix data" doesn't really work for "core data"



Usually data about data is called metadata. So you're matrix information is your data, and the information saying where certain parts of the matrix are located would be metadata.
mahrgell
Profile Blog Joined December 2009
Germany3943 Posts
August 08 2017 17:16 GMT
#17977
On August 09 2017 02:06 dekibeki wrote:
Show nested quote +
On August 09 2017 00:36 mahrgell wrote:
Terminology question:
I have some Distributed Matrix class, and I'm looking for good terms to describe all the "extra/background data" and the "core data".
core data = all the (distributed) Matrix entries, so basically the Matrix itself
extra/background data = all the data how the data is distributed, which threads contains what etc, some central quick access information (like matrix size etc)

I'm kinda sure there is some common terminology for this, but I simply can't find it .

PS: The real class is actually containing more than just a distributed Matrix, but is actually a collection of a few vectors Matrices etc, which for computational reasons are distributed in some special way, so "Matrix data" doesn't really work for "core data"



Usually data about data is called metadata. So you're matrix information is your data, and the information saying where certain parts of the matrix are located would be metadata.


Thanks... that was exactly what I was looking for. Perfect.
Manit0u
Profile Blog Joined August 2004
Poland17713 Posts
Last Edited: 2017-08-08 23:05:32
August 08 2017 23:04 GMT
#17978
If you were to pick an answer to this question at random, what would be the chance of picking the right one?
a) 25%
b) 50%
c) 60%
d) 25%

Edit: Damn, I forgot we have the math thread now...
Time is precious. Waste it wisely.
Acrofales
Profile Joined August 2010
Spain18253 Posts
August 08 2017 23:06 GMT
#17979
On August 09 2017 08:04 Manit0u wrote:
If you were to pick an answer to this question at random, what would be the chance of picking the right one?
a) 25%
b) 50%
c) 60%
d) 25%

Edit: Damn, I forgot we have the math thread now...

Aren't you a funny guy...
Zocat
Profile Joined April 2010
Germany2229 Posts
August 09 2017 19:21 GMT
#17980
On August 09 2017 08:04 Manit0u wrote:
If you were to pick an answer to this question at random, what would be the chance of picking the right one?


Ill defined question. Wtf does "right one" mean?
Prev 1 897 898 899 900 901 1032 Next
Please log in or register to reply.
Live Events Refresh
CranKy Ducklings
00:00
TLMC #22: Map Judging #1
CranKy Ducklings61
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 145
SpeCial 124
StarCraft: Brood War
GuemChi 6235
Artosis 643
Dota 2
monkeys_forever717
NeuroSwarm153
League of Legends
JimRising 527
Counter-Strike
taco 415
minikerr5
Super Smash Bros
C9.Mang0337
hungrybox274
PPMD44
Heroes of the Storm
Khaldor36
Other Games
summit1g10707
tarik_tv4697
Day[9].tv321
Mew2King42
Organizations
Other Games
gamesdonequick1139
BasetradeTV35
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 16 non-featured ]
StarCraft 2
• Hupsaiya 89
• CranKy Ducklings SOOP4
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• RayReign 20
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• Scarra944
• imaqtpie886
• Day9tv321
Upcoming Events
Sparkling Tuna Cup
8h 34m
PiGosaur Cup
22h 34m
Replay Cast
1d 7h
Kung Fu Cup
1d 10h
Replay Cast
1d 22h
The PondCast
2 days
CranKy Ducklings
2 days
WardiTV Team League
3 days
Replay Cast
3 days
CranKy Ducklings
4 days
[ Show More ]
WardiTV Team League
4 days
uThermal 2v2 Circuit
4 days
BSL
4 days
Sparkling Tuna Cup
5 days
WardiTV Team League
5 days
BSL
5 days
Replay Cast
5 days
Replay Cast
6 days
Wardi Open
6 days
Liquipedia Results

Completed

CSL Elite League 2026
RSL Revival: Season 4
NationLESS Cup

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
StarCraft2 Community Team League 2026 Spring
Nations Cup 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 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

Upcoming

Escore Tournament S2: W2
IPSL Spring 2026
Escore Tournament S2: W3
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
uThermal 2v2 Last Chance Qualifiers 2026
RSL Revival: Season 5
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 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.