• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:30
CEST 14:30
KST 21:30
  • 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
Classic Games #3: Rogue vs Serral at BlizzCon7[ASL20] Ro16 Preview Pt1: Ascent10Maestros of the Game: Week 1/Play-in Preview12[ASL20] Ro24 Preview Pt2: Take-Off7[ASL20] Ro24 Preview Pt1: Runway13
Community News
Weekly Cups (Sept 1-7): MaxPax rebounds & Clem saga continues23LiuLi Cup - September 2025 Tournaments3Weekly Cups (August 25-31): Clem's Last Straw?39Weekly Cups (Aug 18-24): herO dethrones MaxPax6Maestros of The Game—$20k event w/ live finals in Paris76
StarCraft 2
General
Weekly Cups (Sept 1-7): MaxPax rebounds & Clem saga continues #1: Maru - Greatest Players of All Time Classic Games #3: Rogue vs Serral at BlizzCon Team Liquid Map Contest #21 - Presented by Monster Energy [G] How to watch Korean progamer Streams.
Tourneys
RSL: Revival, a new crowdfunded tournament series LiuLi Cup - September 2025 Tournaments Maestros of The Game—$20k event w/ live finals in Paris WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Custom Maps
External Content
Mutation # 490 Masters of Midnight Mutation # 489 Bannable Offense Mutation # 488 What Goes Around Mutation # 487 Think Fast
Brood War
General
alas... i aint gon' lie to u bruh... BW General Discussion [ASL20] Ro16 Preview Pt1: Ascent BGH Auto Balance -> http://bghmmr.eu/ The Korean Terminology Thread
Tourneys
[ASL20] Ro16 Group A [ASL20] Ro16 Group B [Megathread] Daily Proleagues Is there English video for group selection for ASL
Strategy
Simple Questions, Simple Answers Muta micro map competition Fighting Spirit mining rates [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread General RTS Discussion Thread Iron Harvest: 1920+ Nintendo Switch Thread Warcraft III: The Frozen Throne
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Laptop on Rent in Delhi – Smart Choice for Student
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread The Games Industry And ATVI UK Politics Mega-thread
Fan Clubs
The Happy Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread Movie Discussion! [\m/] Heavy Metal Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread High temperatures on bridge(s)
TL Community
BarCraft in Tokyo Japan for ASL Season5 Final The Automated Ban List
Blogs
Collective Intelligence: Tea…
TrAiDoS
A very expensive lesson on ma…
Garnet
hello world
radishsoup
Lemme tell you a thing o…
JoinTheRain
RTS Design in Hypercoven
a11
Evil Gacha Games and the…
ffswowsucks
INDEPENDIENTE LA CTM
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1543 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 States42906 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
Kung Fu Cup
12:00
SC:EVO Monthly
TaeJa vs SHIN
ByuN vs Creator
SteadfastSC43
Liquipedia
RSL Revival
10:00
Season 2: Playoffs Day 1
Reynor vs ZounLIVE!
Tasteless1049
Crank 838
Rex141
IndyStarCraft 137
CranKy Ducklings132
3DClanTV 55
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Tasteless 1049
Crank 838
Lowko237
Harstem 160
Rex 141
IndyStarCraft 137
SteadfastSC 43
ProTech9
StarCraft: Brood War
Calm 5479
Rain 3741
Flash 2504
Sea 2370
GuemChi 1582
Bisu 1354
Jaedong 804
Mini 493
Shuttle 408
EffOrt 371
[ Show more ]
firebathero 310
Stork 307
BeSt 306
Soulkey 261
sSak 186
Last 175
Light 144
Soma 139
ggaemo 135
hero 135
Snow 123
Barracks 98
JYJ77
Backho 77
Liquid`Ret 54
Mong 52
ToSsGirL 48
TY 46
Mind 40
Aegong 33
Rush 32
Sea.KH 31
Icarus 26
Bale 25
Sexy 25
Sharp 24
soO 22
sorry 14
zelot 13
HiyA 10
ajuk12(nOOB) 9
Terrorterran 9
IntoTheRainbow 7
Britney 0
Dota 2
The International111592
Gorgc7926
Dendi499
BananaSlamJamma111
PGG 32
Counter-Strike
olofmeister1591
x6flipin610
oskar84
markeloff42
Other Games
B2W.Neo661
DeMusliM240
crisheroes181
Hui .148
Mlord135
mouzStarbuck42
QueenE30
Mew2King24
ArmadaUGS10
Organizations
StarCraft: Brood War
Kim Chul Min (afreeca) 1103
Other Games
gamesdonequick803
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 12 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• Ler74
League of Legends
• Jankos791
Upcoming Events
The PondCast
30m
RSL Revival
21h 30m
Classic vs TriGGeR
ByuN vs Maru
Online Event
23h 30m
Kung Fu Cup
23h 30m
BSL Team Wars
1d 6h
RSL Revival
1d 21h
Maestros of the Game
2 days
ShoWTimE vs Classic
Clem vs herO
Serral vs Bunny
Reynor vs Zoun
Cosmonarchy
2 days
Bonyth vs Dewalt
[BSL 2025] Weekly
2 days
RSL Revival
2 days
[ Show More ]
Maestros of the Game
3 days
BSL Team Wars
3 days
Afreeca Starleague
3 days
Snow vs Sharp
Jaedong vs Mini
Wardi Open
3 days
Sparkling Tuna Cup
4 days
Afreeca Starleague
4 days
Light vs Speed
Larva vs Soma
LiuLi Cup
5 days
Liquipedia Results

Completed

Copa Latinoamericana 4
SEL Season 2 Championship
HCC Europe

Ongoing

BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Points
ASL Season 20
CSL 2025 AUTUMN (S18)
LASL Season 20
RSL Revival: Season 2
Maestros of the Game
Chzzk MurlocKing SC1 vs SC2 Cup #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1

Upcoming

2025 Chongqing Offline CUP
BSL Polish World Championship 2025
BSL Season 21
BSL 21 Team A
EC S1
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
MESA Nomadic Masters Fall
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
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 © 2025 TLnet. All Rights Reserved.