• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 04:21
CET 10:21
KST 18:21
  • 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
[ASL22] Finals Preview: Sweet Victory!12[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down20ISSL (IntoTheTV x SOOP SC2 League): Premier6Weekly Cups (October 12-18): 5.0.17 era begins1[$1250] International ShieldBattery League97
StarCraft 2
General
Behind the Blue - Team Liquid History Book No more SC2 streamers on team liquid? SC2 Power Rank: epic29 Weekly Cups (October 19-25): Clem triples first in 5.0.17 How do you feel about the mass reverts in the 5.0.17 PTR?
Tourneys
Stellar Fest TWO the Moon (Dec 16-20) Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22 ISSL (IntoTheTV x SOOP SC2 League): Premier RSL 2026 Offline Finals LCQ Sign-Ups
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[D] the control group Simple Questions/Answers [G] How to playtest arcade maps [A] Nemrods 1/4 players
External Content
Mutation # 549 Endless Sparkles The PondCast: SC2 News & Results Mutation # 548 Shining Bright Mutation # 547 Temple Of Terror
Brood War
General
Rollback Netcode in Brood War BW General Discussion Mathematicians needed to calc "Low Econ Epicness" SCHNAIL now supports Remastered Ziemie's Starcraft 1 Prequel Campaign
Tourneys
[$1250] International ShieldBattery League [Megathread] Daily Proleagues [ASL22] Grand Finals 2v2v2v2 Tournament Stage 1: Community Poll
Strategy
50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy) Simple Questions, Simple Answers
Other Games
General Games
Deus Ex 3!? Stormgate/Frost Giant Megathread Nintendo Switch Thread Mobile Legends: Bang Bang Armies of Exigo - YesYes?
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Trading/Investing Thread
Fan Clubs
Reynor Fan Club The Flash Fan Club Serral Fan Club
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
Why I built Repalyzer (1.1.…
BlueStar
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7218 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 States44403 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
Next event in 4h 39m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
WinterStarcraft697
Nina 236
StarCraft: Brood War
Shuttle 1772
Hyuk 672
FanTaSy 639
Stork 549
GuemChi 520
Killer 264
Leta 206
PianO 182
EffOrt 88
Mind 79
[ Show more ]
Barracks 64
sorry 50
Pusan 47
Shinee 34
910 30
Aegong 28
ToSsGirL 27
ajuk12(nOOB) 18
Free 15
Bishop 12
soO 12
zelot 10
Super Smash Bros
Westballz44
Other Games
XaKoH 433
ArmadaUGS7
Organizations
Counter-Strike
PGL470
Other Games
ComeBackTV 233
StarCraft: Brood War
UltimateBattle 24
[ Show 10 non-featured ]
StarCraft 2
• Light_VIP 13
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Laughngamez YouTube
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Upcoming Events
OSC
4h 39m
Yamato Cup
5h 39m
IPSL
7h 39m
Artosis vs RiceHat
Kyrie vs Sony
Map Test Tournament
13h 39m
WardiTV Weekly
1d 2h
Ultimate Battle
1d 2h
Rush vs BeSt
Replay Cast
1d 13h
Rogue vs Classic
Patches Events
2 days
PiGosaur Cup
2 days
Kung Fu Cup
3 days
[ Show More ]
The PondCast
4 days
KCM Race Survival
4 days
IntoTheTV X SOOP
6 days
WardiTV Invitational
6 days
IPSL
6 days
WorsT vs nOmaD
Dewalt vs andersOn
Liquipedia Results

Completed

Proleague 2026-10-30
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
BSL Season 23
IPSL Winter 2026-27
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026

Upcoming

1xBet Invitational
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 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.