• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 16:31
CET 22:31
KST 06:31
  • 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 (Oct 26 - Nov 1): MaxPax, herO, Solar win0Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down23ISSL (IntoTheTV x SOOP SC2 League): Premier7Weekly Cups (October 12-18): 5.0.17 era begins1
StarCraft 2
General
No more SC2 streamers on team liquid? [D] Hacker peak in sc2 ? Liquibets sc2 season 30 Evil Geniuses - shutting down Weekly Cups (Oct 26 - Nov 1): MaxPax, herO, Solar win
Tourneys
SC4ALL: II Venue Change Announcement! Sparkling Tuna Cup - Weekly Open Tournament WardiTV Mondays ISSL (IntoTheTV x SOOP SC2 League): Premier Stellar Fest TWO the Moon (Dec 16-20)
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[G] How to playtest arcade maps Starcraft 2 Advance [D] the control group Simple Questions/Answers
External Content
Mutation # 550 Graveyard Shift The PondCast: SC2 News & Results Mutation # 549 Endless Sparkles Mutation # 548 Shining Bright
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ Rollback Netcode in Brood War SC4ALL: II Venue Change Announcement! Ziemie's Starcraft 1 Prequel Campaign 🇺🇦 Ukrainian StarCraft:BroodWar community reborn
Tourneys
[Megathread] Daily Proleagues Small VOD Thread 2.0 [$1250] International ShieldBattery League KCM Race Survival 2026 Season 4
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
Nintendo Switch Thread Stormgate/Frost Giant Megathread Deus Ex 3!? 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 Dating: How's your luck? Trading/Investing Thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread
Fan Clubs
Fan Club Resource Thread Reynor Fan Club The Flash 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: 12402 users

The Big Programming Thread - Page 516

Forum Index > General Forum
Post a Reply
Prev 1 514 515 516 517 518 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.
obesechicken13
Profile Blog Joined July 2008
United States10467 Posts
September 02 2014 02:57 GMT
#10301
On September 02 2014 11:54 icystorage wrote:
Show nested quote +
Like if you're the type who always underestimates try to double your score each time.


doesnt this make you look bad? Time is very valuable to the clients and I believe we are billed by the hour, so therefore the more time the task takes then it'll discourage the client? (just pure speculation, i actually have no idea, I have <1 year worth of experience in my job, also first job)

I don't have much experience either, and yes it will potentially look bad, but I think saying you'll get something done in 1 day and spending 4 days is worse than just saying it'll be done in 4 days and doing it in 4 days.
I think in our modern age technology has evolved to become more addictive. The things that don't give us pleasure aren't used as much. Work was never meant to be fun, but doing it makes us happier in the long run.
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
September 02 2014 02:59 GMT
#10302
Hmm, okay thanks I'll think about what you said
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
Cyx.
Profile Joined November 2010
Canada806 Posts
September 02 2014 04:10 GMT
#10303
On September 02 2014 11:57 obesechicken13 wrote:
Show nested quote +
On September 02 2014 11:54 icystorage wrote:
Like if you're the type who always underestimates try to double your score each time.


doesnt this make you look bad? Time is very valuable to the clients and I believe we are billed by the hour, so therefore the more time the task takes then it'll discourage the client? (just pure speculation, i actually have no idea, I have <1 year worth of experience in my job, also first job)

I don't have much experience either, and yes it will potentially look bad, but I think saying you'll get something done in 1 day and spending 4 days is worse than just saying it'll be done in 4 days and doing it in 4 days.

Not that I know more than you guys after my first internship… but I've always had mega problems with estimating times for myself in all walks of life, and from what I've seen, it looks WAY better to say 'six days' and finish in four than it does to say 'three days' and finish in four. I've started to just try to overestimate everything by 50% - that way you don't look bad if you fuck it up (if you're fucking up by more than 50% then either you didn't know what you had to do or you're just being stupid to try and look good) and you also don't seem like you're incompetent for guessing 3x what everyone else would for that task
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
September 02 2014 04:13 GMT
#10304
Incompetent was the word I was looking for rofl
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
WolfintheSheep
Profile Joined June 2011
Canada14127 Posts
September 02 2014 04:24 GMT
#10305
Isn't it like a Golden Rule that any estimates should be done with the assumption that Life absolutely despises you and everything you do?
Average means I'm better than half of you.
CatNzHat
Profile Blog Joined February 2011
United States1599 Posts
September 02 2014 08:30 GMT
#10306
On September 02 2014 11:24 icystorage wrote:
for the software engineers, how do you deal with estimates? I wasnt taught about it in college (even though i majored in software engineering) but probably because its pretty dynamic? How do you give estimates that doesnt make you look bad (estimating a very huge time for a task)? If you give a pretty short deadline it would also doesnt give you any leeway. What factors should you consider in giving an estimate on a task(s)?

I'm responsible for time estimates for myself and my team, so this is something I do lot of.

Before I give an estimate on a project I break it down into small chunks and give the architecture a bit of thought. Usually we have existing design patterns in place so it's pretty straight forward, and if not I'll grab some of the guys with the relevant experience and we'll figure it out.

After I know what we're building, and how we're building it, I figure out who's doing what. I figure out what engineers on my team are available, and then work with them to figure out who will build what.

Now I know what we're building, how we're building it, and who's doing what. Given that I've worked these guys for 6 months I know how quickly they get things done so it's actually pretty straight forward. Don't forget about test coverage, UAT, and planning for a safe release (with rollback ability).

The most important thing is to communicate changes in the timeline if you run into an un-expected challenge. Sometimes it's as mundane as an engineer not feeling well, other times you discover performance issues and have to re-architect the whole thing.
Encdalf
Profile Joined February 2012
Germany66 Posts
September 02 2014 08:32 GMT
#10307
From my experience (15y now) giving timing estimates is hard, and with more experience it remains difficult.

When being asked how much time will something take, always take your time to reflect upon it, or request time to calulate it. Once your say a number, that number is out. Even if they say "just give us a number, we won't pin you down on that" be damn sure about what you say. And don't be afraid to say "I need more time to calculate that".

E.g. I'm working on a project right now where I got asked how long it will take, as a rough estimate. I said approx. 8 days. The project manager tells the client, hey it will take about 8 days, the client understands it will be done in 8, and 6 days later I got asked if they can start testing and I'm like.. wtf?
In this case the unkown factor was the project manager. I worked with him for the first time, and if I would have know that he tells my estimate as a fact, I would have gone higher.

In the end, stating a higher number isn't bad, as long as you don't overdo it.
If I have problems estimating a task or project, what I usually do is break the task down into smaller chunks and try to calculate that. In the end add it together, and ontop of that, add extra time for testing, debugging, communication & coordination, and if required documentation.
And when you have that number, add the amount of x. And that is the magic number for unknown variables, or unexpected stuff happening. For me that's usually around 10-20%.

The bonus of breaking it down is that you can use that list as your reference and check while working on the project if you meet your estimates. And if you don't, the next time you can change it accordingly and our estimates will get better.
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
September 02 2014 09:13 GMT
#10308
Thank you for giving your insights regarding estimation. This has totally fucked up my first project since I blindly estimated it without really breaking it down. I will base my future estimates from what I read here Really helpful
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
bangsholt
Profile Joined June 2011
Denmark138 Posts
September 02 2014 14:16 GMT
#10309
Estimate each part to your best ability, if you've tried the task before. Otherwise, my rule of thumb is that I multiply the hours by two.

Then I take the full estimate and multiply by pi.

I've had a situation where I had to do a small embedded system which literally was 50 lines of code, which took around 2 hours to write, and then it took 5 days to make it integrate well with the physical system it was controlling. I did *no* coding.

But it's easily transferable to software - you write the software in 2 hours, then you spent 5 days setting up the environment it has to run in... Never forget to factor in things that aren't directly related to your task. If you're working for a client they most likely haven't thought of it either or they have their own convoluted systems you need to integrate into.
obesechicken13
Profile Blog Joined July 2008
United States10467 Posts
September 02 2014 14:45 GMT
#10310
On September 02 2014 17:30 CatNzHat wrote:
Show nested quote +
On September 02 2014 11:24 icystorage wrote:
for the software engineers, how do you deal with estimates? I wasnt taught about it in college (even though i majored in software engineering) but probably because its pretty dynamic? How do you give estimates that doesnt make you look bad (estimating a very huge time for a task)? If you give a pretty short deadline it would also doesnt give you any leeway. What factors should you consider in giving an estimate on a task(s)?

I'm responsible for time estimates for myself and my team, so this is something I do lot of.

Before I give an estimate on a project I break it down into small chunks and give the architecture a bit of thought. Usually we have existing design patterns in place so it's pretty straight forward, and if not I'll grab some of the guys with the relevant experience and we'll figure it out.

After I know what we're building, and how we're building it, I figure out who's doing what. I figure out what engineers on my team are available, and then work with them to figure out who will build what.

Now I know what we're building, how we're building it, and who's doing what. Given that I've worked these guys for 6 months I know how quickly they get things done so it's actually pretty straight forward. Don't forget about test coverage, UAT, and planning for a safe release (with rollback ability).

The most important thing is to communicate changes in the timeline if you run into an un-expected challenge. Sometimes it's as mundane as an engineer not feeling well, other times you discover performance issues and have to re-architect the whole thing.

While the information you provided is valuable, I don't think you answered the question directly. That was a very "political answer". How do you do estimates once you've deconstructed the project?

Since you have project manager experience I would assume you want your estimates to be accurate. How do you deal with cases where people seem to underestimate or overestimate? Do people have to often stay late when they underestimate? Do you/managers ask for an explanation for overestimates?

Also relevant skit:
I think in our modern age technology has evolved to become more addictive. The things that don't give us pleasure aren't used as much. Work was never meant to be fun, but doing it makes us happier in the long run.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2014-09-03 23:38:31
September 03 2014 23:37 GMT
#10311
Lesson I learned is don't be too eager in estimating, I'm just going to triple my initial estimates because I suck at them :') Meeting deadlines late looks really bad, making deadlines earlier looks great.
There is no one like you in the universe.
Detri
Profile Blog Joined February 2011
United Kingdom683 Posts
September 04 2014 00:48 GMT
#10312
On September 02 2014 13:24 WolfintheSheep wrote:
Isn't it like a Golden Rule that any estimates should be done with the assumption that Life absolutely despises you and everything you do?



Yes, yes it is. I recently had an issue where a database wasn't properly loading data on startup, so I had to write a bat file to query the db via a stored proc then stick that into a .csv and type it back out to com(first 5 and last 5 lines). Thought it would take a 20 mins top...


On linux ofc it would be no problem - but it was a wintel host so no head command took me best part of 4 hours to get it to work correctly.


12 times longer than I originally thought it would take... also the hatred of windows grows stronger every day
The poor are thieves, beggars and whores, the rich are politicians, solicitors and courtesans...
berated-
Profile Blog Joined February 2007
United States1134 Posts
September 04 2014 01:06 GMT
#10313
Clean Coder by Uncle Bob touches on a lot of subjects about being a professional, estimation being one. If you haven't read the book, its not a bad read. It's not quite as good as Clean Code, but, it's good enough to be helpful. I especially enjoyed the chapters on saying no.

They discuss using this technique for estimation. I have used it a few times, and it seems okay...if I could just remember to use it more often.
nunez
Profile Blog Joined February 2011
Norway4003 Posts
Last Edited: 2014-09-04 14:11:02
September 04 2014 14:02 GMT
#10314
i wish you could expand parameter packs like this in cpp (the sought after, but invalid, expansion is marked with brackets):
template<class... t_n,class t_i>
some_t function(t_i&& value){
switch(value.index){
case index_of<[t_n],t_n...>::value:{
some_functionality dependant on types in t_n
};[...]
}

result
template<class... t_n,class t_i>
some_t function(t_i&& value){
switch(value.index){
case 0:{
some_functionality dependant on t_0
};
other cases
case i:{
some_functionality dependant on t_i
};
other cases
case (n-1):{
some_functionality dependant on t_(n-1)
};
}


would be so insanely sweet and fast for mux / variant / vistiable type classes.

similarly (only one expansion here, so don't have to mark the one i'm after)
template<int... indexes>
some_t function(){
return some_ndim_array[indexes]...;
}

result
template<int... indexes>
some_t function(){
return some_ndim_array[index_0][other indexes][index_(n-1)];
}


instead of just being invalid.
conspired against by a confederacy of dunces.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
September 04 2014 14:37 GMT
#10315
What can you do with an Intel Galileo? It doesn't have a case so it's just a pcb o.O
There is no one like you in the universe.
Craton
Profile Blog Joined December 2009
United States17303 Posts
September 04 2014 22:31 GMT
#10316
I've been on agile projects for the last couple years. Basically everything is chunked into a story "as x I want to be able to do y," which is then detailed into tasks. After tasking, it's pointed on a fibonacci scale, where the higher the number the less certain you are about how long it'll take and generally also means it's at higher risk of slipping. How long each point to changes based on the team, but the point is to be consistent.

Once you've done an approach like this for a period of time, it gets relatively easy to approximate how long something will take and how much bandwidth you and your team has. Importantly, by splitting everything into stories and then tasking out each story, it's a lot easier to make an estimation because you've teased out most of the requirements and hurdles.

Underestimating is usually worse than overestimating because it throws off timelines to a greater degree (people end up waiting because they're dependent and expected it to finish days ago, etc), but consistently overestimating is also bad.
twitch.tv/cratonz
scudst0rm
Profile Joined May 2010
Canada1149 Posts
September 05 2014 16:55 GMT
#10317
On September 04 2014 23:37 Blisse wrote:
What can you do with an Intel Galileo? It doesn't have a case so it's just a pcb o.O


Build something with it, it's just an arduino board with an intel chip which I assume is faster then their usual atmel chips.
You're like a one ranger army comin' at me...
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
September 05 2014 17:42 GMT
#10318
On September 06 2014 01:55 scudst0rm wrote:
Show nested quote +
On September 04 2014 23:37 Blisse wrote:
What can you do with an Intel Galileo? It doesn't have a case so it's just a pcb o.O


Build something with it, it's just an arduino board with an intel chip which I assume is faster then their usual atmel chips.


Yeah I know, I'm just not sure since it doesn't have a case so I can't like put it anywhere
There is no one like you in the universe.
bangsholt
Profile Joined June 2011
Denmark138 Posts
September 05 2014 18:11 GMT
#10319
On September 06 2014 02:42 Blisse wrote:
Show nested quote +
On September 06 2014 01:55 scudst0rm wrote:
On September 04 2014 23:37 Blisse wrote:
What can you do with an Intel Galileo? It doesn't have a case so it's just a pcb o.O


Build something with it, it's just an arduino board with an intel chip which I assume is faster then their usual atmel chips.


Yeah I know, I'm just not sure since it doesn't have a case so I can't like put it anywhere


Unless you intend to put it into high humidity or outside, it doesn't really matter.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
September 05 2014 21:34 GMT
#10320
On September 06 2014 03:11 bangsholt wrote:
Show nested quote +
On September 06 2014 02:42 Blisse wrote:
On September 06 2014 01:55 scudst0rm wrote:
On September 04 2014 23:37 Blisse wrote:
What can you do with an Intel Galileo? It doesn't have a case so it's just a pcb o.O


Build something with it, it's just an arduino board with an intel chip which I assume is faster then their usual atmel chips.


Yeah I know, I'm just not sure since it doesn't have a case so I can't like put it anywhere


Unless you intend to put it into high humidity or outside, it doesn't really matter.


Oh I see. Cool, thanks
There is no one like you in the universe.
Prev 1 514 515 516 517 518 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 13h 29m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nathanias 71
Nina 52
Vindicta 24
EmSc Tv 18
StarCraft: Brood War
Britney 11934
Shuttle 429
Shinee 44
Dota 2
PGG 176
League of Legends
Doublelift2192
Counter-Strike
apEX2915
zeus393
Heroes of the Storm
Liquid`Hasu604
Other Games
tarik_tv6014
summit1g3246
Grubby2192
FrodaN1040
shahzam393
PiGStarcraft299
C9.Mang0212
Fuzer 201
syndereN164
XaKoH 130
NeuroSwarm56
KnowMe43
ZombieGrub36
ViBE30
Railgan26
JuggernautJason20
Organizations
Other Games
BasetradeTV190
Counter-Strike
PGL119
StarCraft 2
EmSc Tv 18
EmSc2Tv 18
[ Show 18 non-featured ]
StarCraft 2
• Adnapsc2 12
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Laughngamez YouTube
• Migwel
StarCraft: Brood War
• Azhi_Dahaki38
• Michael_bg 5
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV727
League of Legends
• Nemesis2504
• Jankos2211
• Scarra123
Other Games
• imaqtpie820
• Shiphtur412
Upcoming Events
IntoTheTV X SOOP
13h 29m
Reynor vs Solar
ByuN vs SHIN
Clem vs MaxPax
herO vs Rogue
IPSL
19h 29m
WorsT vs nOmaD
Dewalt vs andersOn
AI Arena Tournament
21h 29m
IntoTheTV X SOOP
1d 13h
IPSL
1d 19h
Azhi_Dahaki vs ggnore13
Double vs WIZARD
Replay Cast
2 days
Replay Cast
3 days
Sparkling Tuna Cup
3 days
WardiTV Invitational
3 days
YoungYakov vs Lambo
SHIN vs TBD
Percival vs Shameless
Solar vs TBD
PiGosaur Cup
4 days
[ Show More ]
The PondCast
5 days
KCM Race Survival
5 days
WardiTV Invitational
5 days
Liquipedia Results

Completed

Proleague 2026-11-05
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
Calamity Cup Div. A Season 8
IEM Beijing 2026
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

Upcoming

Sector 951
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
Underdog Cup 2026 Div 2-3
PGL Bucharest 2027
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 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.