• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 15:15
CEST 21:15
KST 04:15
  • 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
Code S Season 2 (2026): RO4 and Finals Preview5TL.net Map Contest #22 - Voting & Ladder Map Selection5Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21Code S Season 2 (2026) - RO12 Preview2
Community News
[BSL22] Non-Korean Championship from 13 to 28 June0Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th151Weekly Cups (May 18-24): MaxPax wins doubles0Crank Gathers Season 4: BW vs SC2 Team League6
StarCraft 2
General
Code S Season 2 (2026): RO4 and Finals Preview What kind of tool would you be interested in? TL Poll: How do you feel about the 5.0.16 PTR balance changes? Oliveira Would Have Returned If EWC Continued TL.net Map Contest #22 - Voting & Ladder Map Selection
Tourneys
GSL Code S Season 2 (2026) Maestros of The Game 2 announcement and schedule ! Crank Gathers Season 4: BW vs SC2 Team League Sparkling Tuna Cup - Weekly Open Tournament RSL Revival: Season 5 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
Mutation # 529 Opportunities Unleashed The PondCast: SC2 News & Results Mutation # 528 Infection Detected Welcome to the External Content forum
Brood War
General
FlaSh's ASL S21 Finals Review BW animated web series: seeking contributors 25 Years Since Brood War Patch 1.08 FlaShFTW vs A.Alm Grudge Match Event The Korean Terminology Thread
Tourneys
[ASL21] Grand Finals [BSL22] Grand Finals - Sunday 21:00 CEST [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2
Strategy
Any training maps people recommend? Why doesn't anyone use restoration? Muta micro map competition [G] Hydra ZvZ: An Introduction
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile Warcraft III: The Frozen Throne ZeroSpace Megathread
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
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
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Dating: How's your luck? Trading/Investing Thread Russo-Ukrainian War Thread How cold is too cold to be outdoors?
Fan Clubs
The herO Fan Club!
Media & Entertainment
Movie Discussion! [Manga] One Piece
Sports
Formula 1 Discussion 2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Esportsmanship: How to NOT B…
TrAiDoS
Why RTS gamers make better f…
gosubay
ASL S21 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 5136 users

[P] The Good, the Bad and the Ugly

Blogs > Taiche
Post a Reply
Taiche *
Profile Blog Joined December 2004
France1963 Posts
Last Edited: 2007-08-14 14:10:35
August 14 2007 13:45 GMT
#1
Seeing this phrase as Grubby's blog post title, I thought "that could work for the programming world too" because it defines the categories of programmers quite well :D Note that these categories sometimes overlap (the Good can be Ugly more often than not ).
Note : the people I list in each category as examples are because of personal experience. I do not know the entire community fo SC programmers so if you feel "forgotten" then it's because I don't know you or your skills enough to put your name in here. Do not take it personnally


I - The Good

[image loading]


This is the kind of programmer you encounter sometimes. To me, they are not rare or but they aren't common as well. I have been lucky to have 2 of them in my team (out of 4-5 people back then) at work and it was quite a relief because they both have 2 different areas of expertise.
This kind of programmer is considered "good at what he does" because he has a great knowledge of what he is talking about but is also humble enough to admit when he makes a mistake. He generally knows where to find information and is not afraid to try lots of things that can potentially damage his system just for test purpose And most of the time his system remains healthy.
The main problem with that kind of people is that sometimes they have social issues like being unable to work in a team or go ask people for advice. Of course, this is not true 100% of the time but that happens. Another problem is that he won't be very excited when told to do something he doesn't think is appropriate (because "it's not the way it should be done").
Therefore, having to manage such kind of programmer can be tricky ; you have to take care of him because of his expertise and knowledge but sometimes it is necessary to push him a bit because of the constraints of the project (the customer wants that, the company wants that, etc...).
In the SC community : Ashur, Ilintar, JCA.


II - The Bad

[image loading]


The Bad can take many forms. In my opinion, the worst is the scornful one that not only despise other people's work but think that their way of doing is the best. It is really a pain to have to work with this kind of guys because 2-hour-long arguments are not enough to prove them wrong -_-; And if something fails when going their way, then it's other people's fault. Again, that kind of people is quite uncommon but each time I've had to work with it was painful.
In the SC community :
[image loading]
TIGER !


III - The Ugly

[image loading]


Now here's the common type of programmer Ugly programmers produce ugly code which can be "slightly weird" to "totally incomprehensible". You have to understand that programming is like politics : there are very little people that think exactly the same as you. In programming, not only the logic can be different but also the syntax as well ; mix that with some misconceptions, differences in the knowledge level and design flaws and you have the main reasons why every code can look ugly to any programmer that didn't write it
But of course, there are some programmers who can reasonably be called "objectively ugly" as their code is almost unanimously judged ugly by other coders. You can find some examples at The Daily WTF where ugly code is posted every day. Worth a look for some laugh if you have a small grasp at basic programming languages and basic algorithm notions
That kind of people generally has no clue why he programmed something the way he did and doesn't really care if it's good or not. He probably will redo the same mistakes again and again, just because he isn't much interested in it. He just wants to see a result and doesn't care the way it was done. Too bad.
In the SC community : JCA :D (slightly) and "The guy that wrote that unpack.cpp code in bwreplib" -_-;


IV - The Gem

[image loading]

(yeah, easy one)

And there's this final un-announced category, the guy you meet once or twice in a lifetime that combines the qualities of the Good without having any flaw of the Bad or the Ugly and who is nice and humble. I have for myself seen that kind only once and it was chrisbk. For those who don't know about him, I will soon make a post.
Sometimes you can encounter someone very good but also full of himself. In that case, I'll put him into the "Good" category and not here because humility is maybe what makes that kind of people so admirable.
There isn't much more to say about this category except that if you are a programmer and are lucky enough to meet a Gem, then you surely have to learn a lot from him.

*****
Manifesto7 Uses ReXplorer, and so should you! : http://repasm.net/rx/
sundance
Profile Blog Joined May 2004
Slovakia3201 Posts
August 14 2007 14:07 GMT
#2
Excellent post. I so knew it that unpack.cpp is going to be mentioned in the Ugly part .

I love your blog and I hope for more and more quality posts about programming.
Nick Cave & the Bad Seeds
Taiche *
Profile Blog Joined December 2004
France1963 Posts
Last Edited: 2007-08-14 14:09:23
August 14 2007 14:09 GMT
#3
Haha, thanks :D
Yeah, the first time I saw that unpack thing I was like "WTF ?" Luckily, x6.rocketeer (on BWP) sent me some info about it like 1 year and a half ago and I have taken another look at it recently so that ugly piece of code will soon be replaced
Manifesto7 Uses ReXplorer, and so should you! : http://repasm.net/rx/
KwarK
Profile Blog Joined July 2006
United States44045 Posts
August 14 2007 16:55 GMT
#4
I read about an awesome bit of ugly programming online somewhere though I forget where.
Basically for a program to read the first letter is simply reads it. To read the second letter it reads the first, then the first then the second. To read the third it reads the first, the first again, then the second, then the first again, then the second again, then the third. And so forth. The program did the job but there was insufficient processing power in the world to make it work. :D
ModeratorThe angels have the phone box
Taiche *
Profile Blog Joined December 2004
France1963 Posts
August 14 2007 17:06 GMT
#5
Haha, I can think of a way to do that twisted job and that really means the guy who coded it didn't have a clue on how the file access functions/objects work :D
Manifesto7 Uses ReXplorer, and so should you! : http://repasm.net/rx/
PePe QuiCoSE
Profile Blog Joined March 2006
Argentina1204 Posts
August 14 2007 20:22 GMT
#6
keep them coming :-)
Please log in or register to reply.
Live Events Refresh
BSL
19:00
Grand Finals
Bonyth vs Dewalt
ZZZero.O289
LiquipediaDiscussion
Patches Events
18:00
Patch Clash #7.5
Liquipedia
uThermal 2v2 Circuit
15:00
Season Finals: Group Stage 1
uThermal1569
RotterdaM896
TaKeTV 346
IndyStarCraft 244
SteadfastSC168
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
uThermal 1569
RotterdaM 896
IndyStarCraft 244
SteadfastSC 168
LamboSC2 127
ProTech83
Railgan 56
BRAT_OK 53
sc2solar 32
trigger 12
SpiritSC2 11
StarCraft: Brood War
ZZZero.O 289
Free 64
Shine 27
Dota 2
Gorgc8823
Counter-Strike
fl0m8077
xp31
Heroes of the Storm
Liquid`Hasu336
Khaldor207
MindelVK10
Other Games
Grubby2700
FrodaN2397
B2W.Neo748
C9.Mang0666
Mlord555
mouzStarbuck181
ArmadaUGS106
Mew2King31
OptimusSC211
UpATreeSC6
fpsfer 2
Organizations
Other Games
EGCTV958
gamesdonequick652
StarCraft 2
angryscii 35
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 17 non-featured ]
StarCraft 2
• Reevou 6
• intothetv
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• Migwel
• LaughNgamezSOOP
• Kozan
StarCraft: Brood War
• 80smullet 13
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• lizZardDota248
League of Legends
• Jankos3680
Other Games
• imaqtpie817
• WagamamaTV354
• Shiphtur167
Upcoming Events
OSC
4h 45m
Wardi Open
15h 45m
Monday Night Weeklies
20h 45m
Replay Cast
1d 4h
Sparkling Tuna Cup
1d 14h
Replay Cast
2 days
Kung Fu Cup
2 days
Maestros of the Game
2 days
Classic vs Lambo
Clem vs Maru
Replay Cast
3 days
The PondCast
3 days
[ Show More ]
Maestros of the Game
3 days
Serral vs Rogue
herO vs SHIN
Replay Cast
4 days
Maestros of the Game
4 days
Replay Cast
5 days
CranKy Ducklings
5 days
uThermal 2v2 Circuit
5 days
Sparkling Tuna Cup
6 days
uThermal 2v2 Circuit
6 days
Liquipedia Results

Completed

KK 2v2 League Season 1
RSL Revival: Season 5
Heroes Pulsing #1

Ongoing

BSL Season 22
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
SCTL 2026 Spring
WardiTV Spring 2026
Maestros of the Game 2
uThermal 2v2 2026 Main Event
Murky Cup 2026
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
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026

Upcoming

BSL 22 Non-Korean Championship
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Heroes Pulsing #3
Heroes Pulsing #2
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 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.