#qi-hardware IRC log for Monday, 2010-12-20

lekernelkristianpaul: no, you can write a cmake script in 5min, and contrary to plain make it handles cross-directory dependencies (almost) flawlessly04:34
adamw_wolfspraul, the amount in digi-key05:30
wolfspraulyes05:30
adamw_it shows 200 if you see carefully05:30
adamw_http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&itemSeq=94396712&uq=63428414518205064805:30
wolfspraulthat link doesn't work for me05:31
adamw_one reel with 10000,05:31
wolfspraulit may be tied to some cookies or searches in your browser05:31
wolfspraulcan you give me the digikey part-number?05:32
adamw_http://parts.digikey.com/1/parts/838304-res-12k-ohm-1-10w-5-0402-smd-erj-2gej123x.html05:32
adamw_one reel with 10000, ntd 73205:34
adamw_but actually i am under digi-key member page, it shows 200 pcs for standard package05:35
adamw_if order 100pcs(crazy) with ntd48 only.05:37
wolfspraulI don't understand your point05:37
wolfspraulyou have 2 options?05:37
wolfspraul100 pc for ntd 73205:37
wolfspraul10,000 pc for ntd 73205:37
wolfspraulsorry I meant 100pc for ntd 4805:37
adamw_100pcs for ntd 73205:38
adamw_right05:38
adamw_wait wait...i typed wrong05:38
wolfspraulyou said 10,000pc=ntd73205:38
adamw_right05:38
wolfspraul100 pc=ntd4805:38
adamw_100 pcs = ntd 4805:38
adamw_correct05:38
wolfspraul(for the record, 1 USD = 30 ntd roughly)05:38
wolfspraulbut the problem is what?05:38
wolfspraulthat the 100pc come in a strip, and is hard to insert into smt machine?05:39
wolfspraulwherease the 10,000pc is a full reel, easy to insert into smt machine?05:39
adamw_hard and waste time in they will need connect a reel tape manually to tape that 100pcs05:39
wolfspraulsure05:40
adamw_with 10000 (one reel) of course, they can directly pull the tape out on the feeder of smt machine.05:40
wolfspraulhow many parts are acceptable to not be a full reel?05:40
wolfspraulI guess it's a price question05:41
wolfspraulmaybe if the reel is less than 50 usd, always choose the reel?05:41
wolfspraulor even if the reel is less than 100 usd, always choose the reel?05:41
wolfspraulit should be possible to tell boom the price point under which to always prefer a reel05:41
wolfspraulright now it's 0 (zero) :-)05:41
wolfsprauladamw_: would that help you?05:41
wolfspraulso it's like make clean show KITS=35 CHOOSE_REEL_IF_LESS_THAN=5005:42
wolfspraulthen it will pick a reel whenever the reel is less than 50 USD05:42
adamw_so this quite a price question, we just need werner, yes05:42
wpwrakdigi-key also offer to do the reeling for you. so if you have an expensive enough component and no cheaper local alternative, that may make sense05:42
wolfspraulthat's probably not what Adam needs05:43
wpwrakboom doesn't know about reels :)05:43
adamw_like some more parameter/arg to make more sense.05:43
wolfspraulI think it's just about reducing the manual reeling to fewer cases where it's really valuable05:43
wolfsprauladamw_: do I understand your need correctly?05:43
adamw_you got my idea totally05:44
wolfspraulyou are ok if a few key components are not in a reel, then the smt company can make a reel themselves05:44
wolfspraulbut you don't want that for penny capacitors, it would be embarassing05:44
wolfspraulso I think you need one new parameter, like I said CHOOSE_REEL_IF_LESS_THAN=xxx05:44
adamw_sure..if you do this all the time..really reaaly bad05:44
wolfspraulhow many parts are acceptable to not come in a reel form?05:45
wolfspraulwpwrak: yes but then we may need to teach boom about reels05:45
adamw_can't follow you05:45
wpwrakhmm, tricky. we're now moving out of the "make a shopping list for device X" domain to warehouse supply management05:46
wolfsprauladamw_: ok, step by step05:46
wolfspraullet's say we have a run, 30 parts05:46
wolfspraulideally for all 30 parts we have a reel05:46
wolfspraulso 30 reels05:46
wolfspraulright?05:46
wolfspraulthat's the easiest for the SMT company05:46
adamw_ideally but no need all05:46
wolfspraulyes05:46
wpwrake.g. if you need twenty 100 nF caps for something, you'll probably get a reel no matter what, becasue you're sure you'll use them soonish anyway05:47
wolfspraulso some reels may be expensive05:47
adamw_wpwrak, of course05:47
DocScrutinizerhi!05:47
wolfspraulso if we have 30 parts, what would still be acceptable for the SMT place to _not_ be a reel?05:47
wolfspraul25 reels, and 5 stripes?05:47
wolfspraul20 reels and 10 stripes?05:47
wpwrakso things like projected frequency of use also enter the equation05:47
wolfspraul15 reels and 15 stripes?05:47
adamw_no, no...05:47
wolfspraulwpwrak: yes but right now you have to make that decision manually05:48
adamw_for examples, if the chip package is sot-235 with high expensive05:48
wpwraki think ll this is over-engineering. don't make boom do it. let the user do it manually, but give boom a means to check that the boom "order" and the real order are compatible05:48
wolfspraulso the shopping list does all the calculation, but the calculation is worthless because the (cheap) reel price trumps it all05:48
adamw_i still can ask smt vendor manually pick & place it05:48
wpwraki think it ultimately has to be a manual decision. there are too many parameters. and you don't want to have to tell boom your whole produce and market development roadmap :)05:49
DocScrutinizeradamw_: which possibly is more expensive than a whole reel05:49
adamw_sometimes sot-235 chips on board are few....but for resistors / capacitors are too smaller said 0402...05:49
wolfspraulwe talk about reels, packaging type, not development roadmap05:49
wpwrake.g., what if you're planning to switch to a different 100 nF cap (e.g., company going from X5R to X7R soon). then you'd have to override the "just get a lot" rule.05:50
wolfspraulsure we can define this to be outside of scope for boom05:50
wolfspraulbut "development roadmap" sounds a little dismissive :-)05:50
DocScrutinizerwpwrak: no, then you have to buy the 'better' component in reel qty from beginning05:50
wpwrakwell, the roadmap determines what will be a part you need in large quantity :)05:51
wolfspraulthis is a practical problem here, especially for small runs05:51
wpwrakDocScrutinizer: what if it isn't available yet ?05:51
wolfspraulnot about forecasting until eternity05:51
DocScrutinizerwpwrak: then that's odd05:51
wolfsprauland actually it's easy. if the reel is < 100 USD, buy the reel.05:51
wpwrakDocScrutinizer: sometimes, companies do announce their changes ;-))05:51
wolfsprauljust that boom cannot be told that, so it needs to be done manually.05:51
adamw_DocScrutinizer, sorry i don't understand your question. could you explain more?05:51
DocScrutinizeradamw_: I put no question05:52
wolfsprauldoes digikey have the same part number for all package types?05:52
wpwrakwolfspraul: USD 100 is just an arbitrary limit. if it's a more expensive part but you still expect to need a lot, you'd need to override this rule again05:52
wpwrakwolfspraul: naw, part numbers connect messily05:52
wpwrakthe best is probably to do what boom currently does - give you a "shopping list" for precisely what you asked for. that gives you the information you need for general price evaluation05:53
wolfspraulnot 'override again'05:53
wolfspraulthe logic is inherently different for articles < 1 cent and > 1 USD. and that will never change.05:54
wpwrakthen, as a further step, find a reel for all the parts, and price that05:54
wolfspraulif boom is about sourcing then such 'real world' (price related) stuff is at least something to consider.05:54
wolfspraulI mean it is doing it already, with factoring in volume discounts.05:54
wolfspraulreel or not reel seems like a practical concern05:55
wpwraki don't think it will ever pick reels right now, because they're always a bit more expensive than just a cut tape05:55
wolfspraulso if you would tell boom "choose a reel if the reel is < xxx usd", then maybe the part numbers it would come up with would be entirely different05:55
wolfspraulotherwise this work simply has to be done manually, although I think it could easily be automated05:55
wpwraki would do it manually, with boom assisting05:56
wolfspraulin that case boom doesn't need to do a lot of math around 'volume discounts' either05:56
wpwrakso, step 1: make the current list05:56
DocScrutinizercomponent sourcing is hard to automate05:56
wolfspraulif this will be dismissed totally first of all, to consider the reel question05:56
DocScrutinizeryou'll always need a last human instance05:57
wpwrakstep 2: combine any set of orders and get reel pricing. then pick what you like.05:57
wpwrakDocScrutinizer: exactly !05:57
wolfspraulnobody doubts that. delete boom?05:57
wolfspraul:-)05:57
wolfspraulwe are trying to find out what makes sense automating05:58
DocScrutinizershopping list makes sense05:58
wolfspraulhow do you get reel pricing?05:58
wolfspraulboom picks a part number05:58
DocScrutinizerthe shopping has to be done by a human05:58
adamw_wpwrak, at the beginning I surely agreed that in the end before entering web system to order...it indeeds 'manually' on 'shopping'.05:58
wolfspraulbut if you would consider reels, you may be better off with an entirely different manufacturer, because you can get a reel from them, or under that (other) part number?05:59
wpwrakdigi-key usually have a "different packaging" list. you could also look for a match in vendor part number.05:59
DocScrutinizerthen consider shipping cost for example. how to handle that?05:59
adamw_so the question will be what's the goal for boom now? without reel determined?05:59
wpwrak(different manufacturer) yes, that would be a problem case where you'd need to integrate06:00
wolfspraulok I look at a specific example06:00
wpwrakadamw_: it tells you what parts fit and have good prices :)06:00
DocScrutinizerordering several type of components at one retailer might be more economic even when the particular pricetag is a bit higer06:00
wolfspraulmake KITS=35 in mmone-jtag-serial tells me to buy 40 of 311-1028-1-ND06:00
adamw_wpwrak, yeah..06:01
adamw_it indeeds does now, but if trying to think we're producing 200pcs, 500pcs and etc..06:01
wolfspraulI go to digikey, see the 'alternate package' box06:02
DocScrutinizerautomatic ordering can be done only if you got a good deal with a retailer who guarantees you get the best price always when ordering all your stuff at them06:02
wolfspraulit tells me the part-number for the (10,000pc) reel is 311-1028-2-ND06:02
wolfspraulDocScrutinizer: have you looked at boom?06:03
DocScrutinizernah. not at all06:03
wolfspraulyeah :-)06:03
wolfspraulyour comments make sense, but we are trying to optimize boom...06:03
wolfsprauloptimize could mean let it do more or less06:03
wpwrakDocScrutinizer: how could they do this ? if you order 100 cheap parts, how can they tell that, by the end of next year, you'll have needed a reel ?06:03
DocScrutinizerbut boom had to understand pidgin fineprint to make anything like that possible06:03
wolfspraullet's focus pragmatically06:04
wolfspraulsome tedious work steps can be automated, so they should06:04
wpwrakwolfspraul:  if all you need are 40 such caps on a reel, the digi-reel would be your cheapest option06:04
wolfspraulsome work steps require too much review/thinking06:04
wolfspraulsome work steps are so quick and difficult to automate that it's also not worth it06:04
wolfspraulthose things are all clear, but we already have boom and try to move it forward06:04
wolfspraulwpwrak: ok so back to that example, I look at 311-1028-2-ND and it's 18.54 USD06:05
wpwrakthe thing is, how does boom know that a part will be popular for you ? where is the database with your production forcast ?06:05
wolfspraulthe digi-reel option is 311-1028-6-ND06:05
wolfspraulpopular?06:05
wolfspraulI talk about ordering for 1 small run06:05
wolfspraulthe one and only ever06:05
wpwrakfor 40 caps, the digi-reel is USD 7.4406:05
wolfspraulafter that the project will die immediately06:05
wpwrakdigi-reel then06:06
wolfsprauladam's feedback makes sense to me06:06
wpwrakor maybe your smt fab does the reeling at a lower cost than digi-key06:06
wolfspraulcome to the smt place with 40 cut pieces with penny caps and resistors, and they will hate you, or make you pay more right there06:06
wolfspraulbecause they will look at you and think "how can you be so stupid"06:06
DocScrutinizeradd a fix amount punishment to price of low qty (i.e. *no* reel), for handling at fab etc06:06
wpwrakof course they'll make you pay for it :)06:06
wolfsprauldigi-reel is also a reel, I would think06:07
wpwraknot stupid, skimpy ;-)06:07
wolfspraulso there is no need (in this discussion/context) to distinguish between digi-reel and manufacturer reel06:07
wpwrakyes, it's digi-key taking the cut tape, adding a bit of empty tape at begining and end, and winding it on a reel06:07
wolfspraulsure exactly what the smt shop would do06:08
wolfsprauldigi key may have perfected this system, who knows, so they might well be competitive even with a chinese smt place06:08
wolfsprauldont' know06:08
wpwraki think the cost of making a digi-reel is 7 USD flat (to this, add the component cost)06:08
DocScrutinizerso it's (nn * $/unit)+punishment vs price-of-reel_whatever06:08
wolfspraulwell still comes back to my variable then06:08
wpwrakDocScrutinizer: yes, that may work06:09
wpwrakhowever, this still doesn't catch the "order a lot of popular parts even if you need only a few now"06:09
wolfspraulbut boom would need to know what is a reel or not a reel06:09
adamw_right, i know digi-key's digi-reel package is that what wverner said06:09
wolfspraulthat's a separate case06:09
adamw_this is good, but not for long term solution in boom?06:10
wolfspraulwe can say that both cases are outside of scope for boom, or one, or none06:10
DocScrutinizerI even have such reels from OM here :-D (the junk pile in front of office)06:10
wolfspraulI haven't look deep enough into boom to see how hard it would be for it to know what is a reel and what not a reel06:10
wolfspraulthat knowledge could then be factored in (economically as specified by the user, or just with reasonable defaults)06:11
wpwrakone problem with digi-reels is that they don't have a catalog price. so you have to go to digi-key and ask "how much would this be for N components"06:11
wolfsprauldo you know how they calculate them?06:11
wolfspraulalways + 7 USD?06:12
DocScrutinizerI'd offer a table of alternatives to user, incl price/unit, price-total (with and without any punishment) and a URL06:12
DocScrutinizerthe you go thru the list06:12
DocScrutinizerfor each component06:12
DocScrutinizerno other way06:12
wolfspraulalso they may not have the digi-reel option for every component, I would think06:12
wolfspraullet's say we have a more complex board like m1. 550 components.06:12
wpwrakwhat i remember seeing so far was alwaya USD 706:12
wpwrakyes, not having digi-reel would be another issue06:13
wolfspraulso with boom right now, it will give let's say 100-200 part numbers that all need to be manually adjusted because you cannot tell boom to prioritize reels.06:13
DocScrutinizerwolfspraul: reduce that figure of 550 by a factor of maybe 0.25, for many components are same type06:13
DocScrutinizere.g 100nF, 1kR06:13
wolfspraulI think it comes down to reel vs. non-reel. because that is an economic issue once you have a pick&place machine.06:14
wpwrak550 different component ?!? are you guys mad ? ;-)06:14
wolfspraulnot different06:14
wpwrakah, good :)06:14
wolfspraulbut I'm sure if we would run it through boom, we would have a lot of part numbers that would need manual adjustment only for the lack of considering the reel thing.06:14
wolfsprauland it won't get better for a run of 100, 200, 500.06:14
wpwrakright now, it'll never pick a reel, because they're always more expensive06:15
wolfspraulthe shopping list boom creates would be a lot more valuable in such a run, if boom would consider reel priority06:15
wolfspraulso the first thing to do with a boom shopping list would be to take out everything < 100 usd, and manually go through to fix the reel issue06:16
wolfspraulor let's say everything < 50 usd06:16
wpwrakwhat i can get from digi-key is the the reel price. there are some other things like tray and "box and reel" (?)06:16
wpwrakwhat i can't easily get is the digi-reel price06:16
wolfspraultray is mostly for expensive parts, I think06:17
wolfspraullike the spartan-606:17
wolfspraulbig parts06:17
wpwrakyup06:17
wolfsprauland trays (the plastic) are cheap06:17
wolfspraulso even if you order 5 pc, they may send you a tray with the other slots empty06:17
wolfspraulor maybe they cut it out somehow06:17
DocScrutinizernope06:18
wolfsprauleither way I think this is not an issue on the smt side (adam can correct me)06:18
wpwrakor make it a moq ;-)06:18
wolfspraulso tray should be fine for now, I wouldn't know what boom should do with the knowledge of trays06:18
wolfspraulmaybe I find out later :-)06:18
wolfspraulbulk is nasty too06:19
adamw_i got few parts from mouser they are empty even used broken tray!06:19
wpwraklovely :)06:19
wolfsprauladamw_: are such broken trays a problem for the SMT shop?06:19
wpwrakwolfspraul: bulk is where cheap chinese manual labour shines (-:C06:19
wolfspraulor other 'partial' trays?06:19
adamw_but on smt side, smt technician will definitely put those pulk chips on their standard tray!06:20
wolfspraulmaybe it's enough if boom knows about the package type, and then when creating the shopping list you can tell it a) pick all reels b) no bulk06:20
adamw_sure...they will change..06:20
wolfspraulthen you can run it multiple times, and then start thinking or combining yourself06:20
adamw_pls be realistically, they are economical business.06:21
wolfspraulabout what?06:21
wolfspraulrealistic about what?06:21
wolfspraulwpwrak: what is 'box and reel'?06:21
adamw_on put bulk chips on their standard tray, they have a lot of different trays.06:22
adamw_but if parts come with MOQ tray, they don't need to do 'change' work.06:22
wpwrakah, it's tape & box06:22
adamw_same story on all packages on smt vendors06:23
wolfsprauladamw_: when will they keep using the tray we provide, and when switch to their own trays?06:24
wolfspraulwpwrak: so can/should we teach boom about reel, or bulk?06:24
wolfspraulthe minimum is probably only that it knows yes/no (when known) for each item, then it could exclude some if requested06:25
adamw_broken tray..or/and their platform is not enough to collect lot of chips inside of machine.06:25
wpwrak(tape and box) ah, here's an example http://www.vishay.com/doc?2832506:26
wpwrakpage 2, "taped in box (ammopack)"06:26
wpwrakfor cases when a reel gets inconvenient, i guess06:26
wpwrakbig components06:27
adamw_http://en.qi-hardware.com/wiki/File:YamahaYV88X_IPCMotherBoard2.ogv06:27
adamw_all space inside of smt platform, they will use it as possible.06:27
wpwrak(tray) there may also be recommended quantities06:28
wolfspraulthe milkymist one bom lists 92 different part numbers btw, http://downloads.qi-hardware.com/hardware/milkymist_one/bom/rc2/milkymist_one_bom_rc2.ods06:28
wolfspraul(only for reference to earlier discussion)06:28
adamw_if all I ordered parts in all broken 'tray'...means mounting time is wasting!06:28
wpwrakokay, 92 sounds reasonable :)06:29
adamw_i ordered all for reels on resistors/capacitors...some sot-235 is also reel too06:29
wpwrakadamw_: so, in general, how do you make sure you don't get broken trays ? with digi-key, there are hints in the catalog (minimum order or "standard size"). but do all suppliers give you this information ?06:30
adamw_but yes , if 100pcs, 200pcs run...later project died!06:30
DocScrutinizerI guess the work to optimize this is so much overengineering it, the ROI break even will be on >30 huge designs, if ever06:30
adamw_I'll always ask MOQ!06:30
adamw_MOQ tray won't be broken one.06:31
wpwrakadamw_: what if they don't have a MOQ but break the tray if you go below "X" ?06:31
wolfspraulDocScrutinizer: you could have made that point way before we started boom. so far it's shaping up nicely, you should check it out :-)06:31
wpwrak(e.g., what you said happened with mouser)06:31
adamw_"X"?...can't follow..sorry06:31
wolfspraulof course a tool needs to be economic, but that's the point of the discussion here, to find out what the potential value of the automation would be, and how hard it is to automate...06:32
wpwrakX would be the quantity in a tray06:32
DocScrutinizerwolfspraul: I'm not saying bom isn't worth it. I just think arificial intelligence isn't anything that will fly there06:32
wolfspraulwe are far away from that, and all agree06:32
adamw_hard to determine...but I would rather not less than 70~80% qty06:33
adamw_if less than 50% with empty, they finally hate you if eveytime run like this!06:33
adamw_one day Sharism will be kicked out from their customer.06:34
wolfspraulDocScrutinizer: http://svn.openmoko.org/trunk/eda/boom/README06:34
wolfspraulit's a nice intro, you can glance over it...06:35
wpwrakadamw_: yes, my question is how you can find out what quantity you need to order to avoid this. what do you do if their MOQ is 1 ? do all suppliers indicate in the catalog when it is a tray ? and do they all indicate the tray size ?06:36
wpwrak(or is it okay to just ignore those suppliers that don't provide this information in their catalog ?)06:36
DocScrutinizerall incredibly hard to automate06:37
wolfspraulok I see the 'taped in box (ammopack)' in the datasheet. but if we all don't know what it is or when one would prefer that, I guess that means no need to consider now? :-) first need to understand what it is...06:37
wpwrakwolfspraul: i think i can get "reel yes/no" for full reels reliably out of digi-key. with others, i don't know yet how well their databases are structured.06:37
adamw_wpwrak, I always ask their MOQ, so I know what tray size they will definitely use. but this info sometimes is hard to get.06:37
wpwrakwolfspraul: (ammobox) but you understand the concept ?06:37
adamw_most of this I 'asked' them.06:37
wolfspraulDocScrutinizer: it's already working. we are finetuning :-)06:38
wpwrakadamw_: ah, i was afraid of that :-(06:38
wolfspraulwpwrak: no I don't understand ammobox06:38
DocScrutinizerwolfspraul: tape in a box is just that I guess. They have a paper box with the tape folded in, so you pull out of box like you'd pull off a reel06:38
wolfsprauladamw_: do you know what 'taped in box (ammopack)' means, and especially - when one would want/prefer that?06:38
DocScrutinizerwolfspraul: <wpwrak> adamw_: yes, my question is how you can find out what quantity you need to order to avoid this. what do you do if their MOQ is 1 ? do all suppliers indicate in the catalog when it is a tray ? and do they all indicate the tray size ?06:38
adamw_wpwrak, yeah..i know you want boom at least can point to somewhere or info can show MOQ, right?06:38
wpwrakwolfspraul: okay, it's a tape/belt in a box in a zigzag pattern. like the ammunition belt for a machine gun06:39
wolfspraulhe06:39
wolfspraulthat analogy doesn't help me either :-)06:39
wolfspraullet me google a bit06:39
DocScrutinizerwolfspraul: doesn't sound like finetuning. And the fineprint read to find out about such details isn't automatable06:39
wolfspraul"ammunition belt for machine gun" should find some pics...06:39
wpwrakwolfspraul: not sure how important it is to have the box in this case, since it seems to be a less optimized process than tape & reel06:39
wolfspraulso I'm wondering who would want this06:40
adamw_wolfspraul, don't understand ammbox.06:40
wpwraki think it's for components that are too fat for tape & reel06:40
wolfspraulbut it sounds like an exotic problem compared to the much simpler 'reel or not' (which seems like will always pop up), or the already slighly more complicated tray sizing stuff06:40
wolfspraulI think we don't need to think about ammobox now, at least I don't feel the urge :-)06:41
wpwrakthings like this: http://www.vishay.com/doc?2832506:41
wpwrakyou'd need a very big (wide) reel for them06:41
DocScrutinizerwolfspraul: I think there are SMT machines that can take more boxes than reels06:41
wolfspraulthe reels probably have maximum widths06:41
wolfspraulmaybe even coming from the pick & place machine06:41
wolfspraulit vaguely sounds like something that only may make sense for very large runs?06:42
wolfspraulor maybe if the reel is too wide and some SMT machines cannot handle it as a reel?06:42
DocScrutinizeryes06:43
wolfspraulso if boom would know reel yes/no I think that would be a start06:43
DocScrutinizeryou need to ask your SMT provider06:43
wolfspraulif that is easy to add06:43
wolfspraulno need this problem is 100% hypothetical now06:43
wolfspraulwerner just tried to make a point that there are even more packaging options out there :-)06:44
DocScrutinizerand what are the pkgng options your SMT will accept happily, and which they frown at or simply reject or charge you a fortune?06:44
wolfspraulfor trays my understanding is that it's already a bit more difficult, maybe I look at a specific example too06:45
wpwrakhere's a good picture: http://1.bp.blogspot.com/_XWrZEi64C7w/R09wXN4DYcI/AAAAAAAAASo/EubX0l3twr8/s1600-R/negev_3.jpg06:45
wolfsprauladamw_: do we have something in jtag-serial that is on a tray?06:45
wpwrakmaybe even better: http://4.bp.blogspot.com/_XWrZEi64C7w/R09wW94DYaI/AAAAAAAAASY/HpZYGXcf3ow/s1600-R/negev_2.jpg06:45
DocScrutinizerhell, tape in box is supposed to be exactly specified, just like diameter etc of a reel. to the 0.1mm06:46
wpwrakDocScrutinizer: (boxes) when you have a box-fed machine, will it be difficult to feed it just with a bit of tape ? (like it is for tape & reel)06:47
adamw_no tray this time.06:47
adamw_even 64-QFN will be tape reel.06:47
adamw_m1 rc2 had have!06:47
wpwrakDocScrutinizer: (exact spec) hehe ;-)06:48
wolfspraulwpwrak: are we reaching consensus that boom should know about reel yes/no?06:48
DocScrutinizerwpwrak: I think you need a lead-in on every tape. and you need a way to stash away the whole supply. If you got a stip of tape with leadin and just one component at end, you'll for sure not need any box06:48
wpwrakno question about that06:48
wpwrakthe issue is how :)06:48
wpwrakDocScrutinizer: okay, still the lead-in issue then. hmm.06:49
DocScrutinizerother than that it's mostly irrelevant if reel or box or short stip06:49
DocScrutinizersrtipe06:49
wpwrakwolfspraul: i didn't think of fractioned trays either. interesting issue :)06:49
DocScrutinizermeh06:49
wolfspraulwell let's start with reels06:49
wolfspraulsince that pops up as a labor intensive issue even on the first little jtag-serial test run06:49
wolfspraulI'm sure if we get to bigger boards the reel issue will get bigger too06:50
wolfspraulthere's a reason digikey has digi-reel :-)06:50
wpwrakdigi-key have the "standard package". maybe that's a good to use as a "soft moq"06:50
DocScrutinizerWUT, you finally got proper JTAG over the whole zoo?06:50
wpwrakof course, is many cases it seems just some random number....06:50
wolfspraulI think the tray cases are rare06:51
wolfsprauladamw_: do you remember how many parts in m1 rc2 were on a tray?06:51
wolfspraulthe bom has 92 different parts06:51
wolfspraulmaybe 10 connectors, all manual dip soldering06:53
wolfspraulI would think not more than 5 on tray?06:53
adamw_flash/video decoder/ethernet chip/spartan-6/audo codec/vga encoder >>  606:53
wpwrakvery close guess :)06:55
adamw_some part for mechanicals are also tray...well...those are through process.06:55
adamw_through hole06:55
wolfspraulok so let's say ca. 70 on reels06:56
wolfspraulmaybe 6006:56
wpwrakso .. potential workflow: 0) assume boom knows what is reel and what not. 1) run the thing requiring reels. 2) from this list, select what you like. 3) run again, skipping the reels you already selected.06:56
wolfsprauland either we buy a reel, or the smt place makes a reel, digi-reel style, which costs time & money that someone has to pay06:57
wpwrakat 2), the reels you select could be put into an inventory of sunken cost (just for this run), so they'd show up as USD 0 for the 2nd stage and thus always get preferred over ordering new stuff06:58
wpwrakso far, so good. now, what information do you (human) need to "select what you like" ?06:59
wpwrakbetween 1st and 2nd stage, you could also manually add digi-reels. or make a 3rd/Nth stage, whatever.07:00
wolfspraulhow do you know which one to skip?07:03
wolfspraulright now prettyprint only leaves the description, which may differ07:04
wpwrakoh, you'd have to recombine the stages for pretty-printing07:04
wolfspraul(we already said elsewhere prettyprint should also list the schematics references)07:04
wolfspraulah OK07:04
wolfspraulso you are before prettyprint?07:05
wpwrakall the output stuff is very as-hocish07:05
wolfspraulI mostly looked at prettyprint output so far07:05
wolfspraulhmm07:05
wolfspraulgood idea with the reels going into inventory07:05
wpwrakyou would basically need two catalogs: one with reels, one without. then run the query on the one with reels. get a lot of complains about stuff that can't be found, plus a list of reels. reject the ones you don't like. then take the list and add those things to your "things we already know we're ordering" inventory07:07
wpwrakthen run again on the non-reel catalog07:07
wpwrakthe manually find out what to do with those cut tapes. get the digi-reel price ? ask the smt fab ? bring them to the ACME (A Chinese Makes Everything) shop at the corner who'll reel them for a third the money ?07:09
wpwrakrather complex workflow07:09
wolfspraulI don't think you need to consider the ACME, it's not a real option07:10
wpwrakanother issue is that it, in this form, is strictly a pipeline. if you change something at the top, things further down may no longer make sense07:10
wolfspraulif digikey adds 7 usd I doubt any place, even in china, can do it for less07:10
wolfspraulthat's a big misconception that quality people cost nothing, the people that think like that routinely fail in China/Taiwan07:11
wpwrake.g., if you get resistors from stackpole insead of rohm, you'll have to remember that there's a rohm entry in your "sunken inventory" and delete it07:11
wolfspraulso the smt place may 'eat' that cost, if it's just a few reels07:11
wolfspraulbut it's going to be at least aroudn 10 USD for them as well, with their people, overhead, etc.07:11
wolfspraulmaybe even this same 7 USD07:11
wolfspraulsay the m1 rc2 run we pay the smt maybe 1,500 USD, for everything07:12
wolfspraulthey are willing to do maybe 5 reels? maybe 10 at most?07:12
wolfspraul5*7 = 35 usd, 5*10=7007:12
wpwrakdunno how digi-key calculate that price. they may also want to make it a bit more expensive than strictly necessary to make you order more reels07:12
wolfspraulso they won't add it to your bill07:12
wolfspraulI doubt it, it's a service, I'm sure it has a good margin for them, it creates value to their customers, etc. etc.07:13
wolfspraullet me think about your proposed workflow a bit more07:13
wpwrakmaybe ask your smt fab folks once. "what if i sent you a lot of tapes - would you kill me ? how much would you charge ? is it always a pain or only if i surprise you ?"07:13
wolfspraul(btw, we are too fast for Adam, so he will just lean back. I told him we are trying to process his feedback :-))07:13
wolfspraulwpwrak: I can tell you that already.07:13
wolfspraulfor larger runs, it's not an issue since everything will be on a reel anyway.07:14
wolfspraulfor smaller runs, mostly they do the business with you because they hope for future larger runs.07:14
wolfspraulso they are 'subsidizing' those small runs already07:14
wpwrakah, that again :)07:14
wolfspraulwell it's no big drama, forget what you learnt at our former employer about that07:14
wolfspraulit's just like a garage who likes to check your air pressure, because they hope to talk you into that big exhaust pipe repair07:14
wolfspraulso let's say the rc2 run is a 1,500 usd business for them07:15
wolfspraulwith 40 people07:15
wolfspraul:-)07:15
wolfspraulso they just try to get it done as quick as possible07:15
wolfspraulcash just covers their cost, they are nice and professional, do it in good quality, out and done07:15
wolfspraulif you can imagine that, you can understand how happy they are about a box full of cut tapes07:15
wolfspraulthey will not charge you, because that's not their model (not like digi-key who is very professional about this 7 USD charge)07:16
wolfspraulthey will silently eat it07:16
wolfspraulbut they will still not like you, and if it's a whole box full of it and they see you are careless about that they may reject future small runs with you07:16
wolfspraulI much rather pay the 7 USD to digi-key07:16
wpwrakalright07:17
wolfspraulit's not worth to make my smt place unhappy, let those guys work unpaid over-hours at night, because I am so careless to give them a box full of cut tapes of penny components07:17
wpwrakyeah. it's a pity their model implies a conflict in such cases07:17
wolfsprauladamw_: do you know the total we paid to MinBo for the Milkymist One rc2 run?07:17
wolfspraulnot really07:18
wolfspraulthey are not setup for charging 7 usd / piece!07:18
wolfspraulas a business they are not setup for it07:18
wolfspraulso they can only either eat it/accept it, and as long as you are diligent about your side they will do that, or reject you entirely07:18
wpwrakwell, they probably don't have people to do a lot of this, too. so makes sense then.07:18
wolfspraulfor example, in small runs you often have this or that problem pop up anyway07:18
wolfspraulthey are not charging extra!07:18
wolfspraulthat's 'included' by them accepting the small run07:18
wolfspraulnot because they don't want to, but because they have no mechanism to charge for every little thing07:19
wolfspraulfor example in the last run, we ran into a strange problem with the video-in xtal07:19
wpwraksure. but it's not flexible. e.g., if you for some reason decide that short tapes work best for you, you07:19
wolfspraulat that moment the smt machine was already moving07:19
wpwrak'll make enemies all over the place07:19
wolfsprauladam called downstairs and asked them to wait07:19
wolfspraulthey stopped, wait for 45 minutes or so. everybody waiting.07:19
adamw_ntd 44500 = usd 148307:19
wolfspraulnot planned :-)07:19
wpwrakyup, understood07:20
wolfspraulbut if there is a problem, for us it's still better to ask them to wait07:20
wpwrakbut you were still in the envelope07:20
wolfspraulwill those 45 minutes delay show up on the invoice? nope07:20
wolfspraulbecause they have no way to track it/account for it07:20
wpwrakwhat you're telling me is that you can't push the envelope07:20
wolfspraulthe things that may happen are too diverse to catch them all07:20
wolfspraulyes, and a box full of careless tapes is one way to break the system07:20
wolfspraulfor them and for yourself :-)07:20
wolfspraulthat's how I understand adam07:20
wolfspraulthen I rather pay the 7 usd / reel to digi-key07:21
wolfspraulI know digi-key is handling this professionally, I'm sure this is a high-margin 7 usd for them07:21
wpwrak(can't track) particularly not in china ;-)) (because you'd then have to assign blame - was it your fault or theirs)07:21
wolfspraula small run is so full of surprises07:21
wolfspraulmaking a system to charge for each surprise is impossible07:21
wolfspraulso they just quote, and charge, a ballpark number07:21
wolfspraul1483 USD, there you go07:22
wolfspraulI'm not too far off the real numbers :-)07:22
wolfspraulamazing how 40 people work together on a run like milkymist one, and then collectively charge only 1483 usd07:22
wolfspraulso we diverted a little, the proposed boom/reel workflow...07:23
wpwrakokay. so, the workflow is then 1) try reels, 2) get a list for cut tapes, 3) manually decide on the fate of the tapes (to reel or not to reel)07:23
wolfsprauldon't understand the stackpole/rohm resistor case07:26
wolfspraulthe 1) try reels, does it include digi-reels?07:27
wpwrak(digi-reels) no. so far, i assume i can't automate them usefully07:27
wpwrakso they're always manual07:27
wolfspraulok I think it should work, but I know boom less than you so I cannot fully imagine how it will look like07:28
wolfspraulit will be important to understand which items are already ordered as reels07:28
wolfspraulif they would come out in a format that one could add back as an .inv that would be nice07:28
wolfspraulthen it's also not a pipeline07:29
wpwrak(resistor case) you process the BOM. then you go through this workflow, select full reels and all that. then you do something else for a few days. then you do another BOM run. now, maybe prices have changed or some item's stock went up/down. so one of the old choices gets replaced with a new choice.07:29
wolfspraulbut it would still be good if there is an easy way to tell which reel part corresponds to which tape part07:29
wolfspraulnot that this knowledge is buried deep inside boom somewhere07:30
wpwrakboom doesn't know your "reel inventory" is special. so unless you delete it and start over there, too, it will still assume you want all the things there.07:30
wolfspraulyes but you can just delete it, why not?07:30
wpwrakthis would include the part(s) that now have become something else07:30
wpwraksure, if you remember it07:30
wolfspraulthe top-level makefile can you that automatically07:31
wolfsprauls/can you/can do/07:31
wpwrak(reel/other) equivalence. agreed on useful. implementation may be tricky, though, because the two catalogs currently can't coexist in boom.07:32
wpwrak(automatic deletion) then your process does need to know the inventory is "magic". you also need safeguards, so that you don't blow it away too easily.07:33
wolfspraulyou can just rerun it every time07:36
wpwrak(blow it away) e.g., if you run an "what if" query for larger quantities, you may not want boom to panic and make radical changes if some of the things don't have enough stock. and you would only know you're hitting such a limit once you run the query.07:36
wpwrakrerun, yes. manually re-create each time, i don't think so :) therefore, you now have some persistent state you need to manage07:37
wpwrakbtw, the same logic applies when you change a part. e.g., you realize that 100 kOhmn pull-up doesn't pull enough and switch to 47 kOhm.07:38
wpwrakor you decide to make 25 instead of 20 boards.07:38
wpwrakperhaps that "inventory" shouldn't be strictly an inventory. maybe it should be a input file to some script that writes this inventory07:40
wpwrakthe input could be "prefer X", "reject Y". if X or Y don't get mentioned in the (input) list of reels, the script warns. likewise it warns about any items that don't come with a preference.07:41
wpwrakthat way, you always know when something has changed and you can choose how you want to track the change07:41
wpwrakyou probably notice that i'm very reluctant to put too much magic into this system, because that basically makes it uncontrollable. it's already a little too "magic" for my taste, in the sense that there's no real continuity control.07:44
wolfspraulagreed07:45
wolfspraulbut that's why we discuss07:45
wolfspraulto distill the core07:45
wolfspraulwhat's valuable and easily automatable07:45
wolfspraulmagic is not good07:45
wpwrakyou don't need continuity if you never look at the output, just put it in an envelope and give it to purchasing. but as soon as you review things and such, then you need boom to help you with the deltas. at least tell you what has changed and how, if not why.07:46
wolfspraulalready now the prettyprint is too pretty, but some things are easily fixed at the top, some require boom to just 'know' a bit more, like reel yes/no07:46
wpwrakat some point you probably also want tools that tell you why. e.g., "show me the available choices for U1, ordered by price"07:46
wpwrakand maybe with/without considering stock07:47
wpwrake.g., if your real interest is in a price estimate but you're in no hurry to order, then the information you draw from such changes could be one of: 1) just wait and see. 2) try to find alternative suppliers. 3) maybe it points to a problem with the part (going out of fashion), so consider finding a different part. 4) ask the supplier when they'll get new stock and include this in your production schedule. and so on.07:49
wpwrakboom knows too little of our universe to make that sort of decisions ;-)07:49
wpwrakof course, if it was powerful enough to do such things, it would probably immediately start working on a plan to take over the planet and enslave mankind ;-)07:50
wpwrak(prettyprint too pretty) yeah. it shouldn't be "here is the answer" but something more interactive07:51
wolfspraulso ok08:00
wolfspraulwe are on the same page08:00
wolfspraulI'm not sure we need a prefer X, reject Y system now08:00
wolfspraulI only need boom to know about reels, reel yes/no08:01
wolfspraulthe rest is good as it is now08:01
DocScrutinizerlist of alternative sources for each part, with each record consisting of a few calculations for price/unit, price total, number of parts needed per device/per fab lot, etc, some other info you can gather automatically, e.g. stock, plus a URL to click for the reviewer to have a look and decide by himself08:01
wolfspraulI'd rather first support mouser, or more parts08:01
wolfsprauland I'd rather first get the sharism inventory into boom format08:01
wolfspraulthe other things you talk about are too hypothetical for me at the moment08:01
wolfspraulwpwrak: what's the next step? what do you want me to do?08:02
wpwrakhmm, i'd also like to have a plan for the trays. that an issue i hadn't thought of yet08:03
wpwrakit may be similar enough to the reels that it should be handled by the same kind of process08:04
wolfspraulok, so for now I just wait and we talk about the reels when you have digested it all a bit?08:04
wolfspraulI am ready and willing to do tasks in boom, dive in deeper08:04
wolfspraulI think if we are serious about it, we will need to do more work in it incrementally to distill the valuable core, get the AI stuff out, etc.08:04
wolfspraulI'm ready for that, but need your guidance :-)08:05
wolfspraulso far the system is clean and logical, so no rush08:05
wolfspraulif you want to think about the reels (or trays) a bit more, I hold back more feedback of even attempts at improving something until you give the green light08:05
wolfsprauls/of even/or even/08:06
wpwraki'm not sure if you want to hack at the boom core at the moment. not only because it's a bit messy but also because it's something that will need rewriting in C anyway. it's already getting slow and doing fancier algorithms isn't something i'd want to do in perl.08:06
wpwrakwhat would be useful is to have some more supplier data. e.g., a database frontend for mouser or farnell. we know know digi-key very well, but boom shouldn't become into something that's overly optimized for one supplier.08:08
wolfspraulcorrect08:08
wolfspraulI can definitely look into mouser, that aligns well with what I need08:08
wpwrakalso the database frontend has its scalability issues, but at least it's not a huge piece of code, so it hurts less to throw it away08:08
wolfspraulso I put the reels on hold (on my end), until I hear from you08:09
wolfspraulit's important for me though, as you see from the discussion about 7 USD / digi-reel, smt inability to charge for it on their end, or buying a whole reel08:10
wolfspraulbtw, another thought is that we say this is limited to cheap resistors and capacitors08:10
wolfsprauland after a little while we will have the most important onces in stock08:10
wpwrak(reels) sounds good. what i'll try in the next days is to make the digi-key query produce two catalogs. or maybe i have an idea how i can have a combined catalog. the problem is that packaging doens't fit nicely into the current data model. it's somehow halfway manufacturer halfway supplier data.08:11
wolfspraulso maybe I should first try to get the current sharism inventory into boom format, that could already reduce the number of reel cases08:11
wolfspraulI'm sure Adam did that matching manually this time. which one do we have in stock, which one not... bad. and doesn't need any boom improvement to work on that now.08:11
wpwrakto make things worse, already digi-key mixes TR and non-TR infos. e.g., even if a manufacturer would have a non-reel option, digi-key may just list the manufacturer's reel and then break things down themselves.08:12
wolfspraulyes sounds good. if you think of a more generic way for the packaging problem that's good too.08:12
wolfspraultape, reel, tray are probably things that boom should at least know about08:12
wpwrakhave you boomified MM1 yet ?08:13
wolfsprauland deal with it in the most appropriate manner, without trying to be too clever as DocScrutinizer pointed out08:13
wpwraktrays are probably a "soft moq"08:13
wolfspraulbulk also, another type. if ugly, but I guess boom should know about it at least, one day.08:13
wpwrakreels are tricky because they defeat the "minimize cost" logic08:13
wolfspraulso it can warn you on the shopping list :-)08:13
wpwrakwell, i could attach a price to non-reels. but that may backfire, too. need to think about it.08:14
wpwraki think bulk is simply hopeless ;-)08:14
wolfspraulyes you could add the 7 USD digi-reel thing08:14
wolfspraulalthough unfortunately most smt places are not setup to charge those 7 usd, so it would still break down there08:14
wolfsprauland I wouldn't want adam to get into the 'reel it for 7 usd' business either.08:14
wpwrakor in whatever unit smt fab goodwill is measured ;-)08:14
wolfspraulwpwrak: well yes, but that's why - if boom knows about 'bulk' - it should list it in the shopping list? or there should be a way to tell boom bulk yes/no08:15
wolfspraulbulk is not urgent though, I just wanted to complete the packaging options08:15
wolfspraulcob comes in little chocolate bar packaging normally08:16
wolfspraulbut that's for a different machine08:16
wolfspraulso we know about: tape, reel/digi-reel, ammopack, tray, bulk, direct die (not sure how it's called) for cob08:17
wolfspraulwho knows maybe more :-)08:17
wpwrak(warn about bulk) yeah, can't hurt08:18
wolfspraulthe problem with 'smt fab goodwill' is that they cannot charge, if I can I'd much rather pay the 7 usd / reel.08:18
wolfspraulI need their goodwill for the unforeseen hickups in small runs.08:18
wolfspraulnot because my own process sucks and I arrive with a box full of tape snippets.08:18
wpwrakor maybe even have the possibility to exclude it, like the "reel only" wuns08:18
wpwraks/wuns/runs/08:18
wolfspraulwhen you have a pick&place machine, someone needs to make the reel anyway08:19
wolfspraulso non-reel is only for hand soldering08:19
wpwraknext project: make a pick and place does doens't need all this :)08:19
wpwraks/does does/that does/08:19
wolfsprauland with small parts nowadays 0402 or even smaller, you very quickly have a board where hand soldering is too painful (time consuming), even for a run of 10 or 2008:19
wolfspraulyeah08:20
wolfspraulyou just throw whatever plastic bag you have in, and it magically gets it all right08:20
wpwraksomething that works with my vials would be nice08:20
wpwrakvacuum pickup, then toss it on an examination plate. check with a camera what you got. if nothing, try again. if too many, return the extras. if it has the wrong orientation, pick up and toss again.08:21
wpwrakrepeat until you succeed. then rotate and place.08:21
wolfspraulwhy can't packaging be another parameter like all the other parameters?08:22
wpwrakas long as this is fast enough that the solder paste doesn't dry out, that may be a viable option for small runs08:22
wpwrakthe parameters are characteristics of the part. packaging is another layer.08:23
wolfspraula part characteristic08:23
wolfspraulwhy is it another layer?08:23
wpwrakthe same part could come in a number of ways. cut tape, reel, maybe also tube and even bulk.08:23
wpwrakit's always the same part inside.08:24
wolfspraulhmm. I somehow think the logic in characteristics and substitutions is enough to handle one more characteristic (packaging type). But I don't understand the innards well enough, maybe it makes no sense inside :-)08:27
wpwrakmaybe i can do as digi-key does and just duplicate the part with different packaging options.08:27
wolfspraulyes08:27
wpwrakmaybe not. this is one of the things to think about.08:27
wolfspraulI see an entry more like a 'warehouse lot'.08:28
wpwrakone issue with characteristics is that they don't get used for name-matched parts. so we'd need to change something there08:28
wolfspraulso if another order is made for the 'same' part, but different packaging, that's definitely a new warehouse lot number.08:28
wolfsprauleven if the same part in same packaging is bought 6 months later - new warehouse lot number.08:29
wolfspraulif the same part in same packaging is bought from another source - new warehouse lot number.08:29
wpwrakat some point, this is okay08:29
wpwrakbut if you take it too far, you can never reuse inventory, because there will be no two items that are really the same08:30
wolfspraulyou need .equ to keep track of them08:30
wolfspraulwell they are the same. for different packaging, we are already discussing how boom presents it to the boom user, and eventually we find a good way.08:31
wolfspraulthe 'decision' will be manual then anyway08:31
wolfspraulfor different sources, that's just to trace back problems, for boom this can always be the same08:31
wpwrakequ can't combine things. so if you have 1 reel for foo from last year and one reel from foo from this year, you need two reels, then it'll happily order two new ones.08:31
wpwrakso, lots of little things that play into thos08:31
wpwrakthIs08:31
wpwrakon the other hand, if you let if combine whatever it finds, then you get a bag of bulk, some of which may be on reels ;-)08:32
wolfspraulok but that case can probably be made visible with some simple queries into boom08:32
wolfspraulit's all about making reasonable options visible quickly08:32
wolfspraulthe actual decision is made manually08:32
wolfspraulif too few options are shown, not good. like we have with reels now.08:33
wpwrakyeah. another query engine, another user interface, another mechanism to suppress things you already saw and checked off :)08:33
wolfspraulif too many options are shown, at some point boom loses value and you may better start on digikey.com right away08:33
wolfspraulwell sure if you can automate it even better08:33
wolfspraulanyway, I just wanted to say at first sight, it looks like the characteristics can handle packaging types08:33
wolfspraulbut I may be wrong, awaiting your wisdom... :-)08:34
wpwraki'm looking for broad concepts that squash as many of those small things as possible. otherwise, you get some byzantine system where each special case somewhere in the supply chain is a special case in the bom system. that's the fast lane to hell :)08:34
wolfspraulfair enough. the current boom is good and clean and powerful. keep it that way.08:35
wpwrak(characteristics) they're close, yes. if it wasn't for part name matching, they would be an even better match.08:35
wolfspraulok08:35
wpwrak`alright. time for breakfast now :)08:36
wolfspraulenjoy08:36
wolfspraulsourcing that is easy!08:36
wpwrak(sourcing brakfast) shold be fun to go to the bakery and ask for their MOQ and the packaging options ;-)08:37
zrafawpwrak: http://en.qi-hardware.com/wiki/JlimeToolchain08:41
wolfspraulreels don't defeat minimize cost logic08:41
wolfspraulit's just that the costs are not properly present/factored in inside boom08:42
wolfspraulbut we had that... enjoy breakfast, I'm calling it a day...08:43
kyakxiangfu: hi09:03
xiangfukyak: hi09:06
kyakxiangfu: everything is bad :)09:06
kyakfirst of all, an openwrt dev has renamed gettext and libiconv to gettext-full and libiconv-full. Then, they created gettext (libintl) and libiconv as stubs09:07
kyakwe got a lot of problems now09:07
kyaka lot of programs that DEPENDS on libintl or libiconv will be now either ilnks against stubs or will not link at all09:08
kyak*linked09:08
kyakfor example, fbterm won't build09:08
kyakother programs might build, but will lack for certain features09:08
kyaknow, we can  enable full version of gettext and libiconv, but they will build after those programs09:09
kyakthus making those full version completely useless09:09
xiangfukyak: hmm.. don't know that yet. I just check my daily build since 1215. all build fail. :(09:12
kyakyep.09:14
kyakyou should setup some e-mail notification for failed build :)09:15
xiangfukyak: yes.09:15
kyakxiangfu: so we can't either add libiconv-full to DEPENDS of libiconv and libintl-fulll to libintl09:15
kyakoh..09:15
kyakno09:15
xiangfukyak: too bad. there is a disk error in my pc. I need restart my pc. wait me one memont.09:16
kyaki think we have one option - it is traverse thourgh all feeds renaming those libs to *-full in DEPENDS09:16
kyaksure09:16
kyakthese are all problems that we face because upstream is thinking about openwrt as a distro for routers09:20
kyakit is meants to be super cut off09:20
kyakthis problems will continue to happend09:22
xiangfukyak: hi. I am back.09:30
xiangfukyak: they change the name to "/usr/lib/libiconv-full/"09:31
kyakhm09:32
kyakyes, that too09:33
kyaknow it is even worse than i though09:33
kyaky09:33
kyak*thought09:33
xiangfuso many package is using "-I$(STAGING_DIR)/usr/lib/libiconv/include" :(09:34
kyakyes!09:34
xiangfulet me check the openwrt mailing list first. see if someone already report09:34
kyakxiangfu: we will have to struggle with such things all the time09:34
kyakwhen upstream is leaning towards cutting off09:34
kyakreducing the functionality09:35
kyaketc09:35
kyaki'm thinkinh about some flag09:36
kyaklike @I_HAS_CRAPPY_ROUTER09:37
kyakthen it would use those stub libs everywhere09:37
kyakotherwise, it would build and link against full versions09:37
xiangfukyak: maybe they should rename those package to libiconv-stub. :)09:39
kyaknow that's a great idea!09:39
kyakyou see, they made that stub libs - and many programs from feeds refused to build. then they started adding some things in those stubs, so they are not actually stubs anymore09:40
kyakthis can be seen so well from svn log09:40
kyaki'm not mentioning that the patch to strip some charsets is still there in the full version of libiconv...09:43
kyakfor some reason09:43
kyakso it's still not "full" as the meaning of this word impiles09:44
kyakand i wonder how they decided which charsets can be stripped and which should be left09:44
kyakreally, every time i see a software that is not i18n-aware, i get angry. this is less and less often now when utf-8 is taking its positions, but still there are a lot of developers there thinking "ASCII"09:46
xiangfukyak: hmm..09:48
kyakxiangfu: sorry, need to go now. .see you later!09:50
xiangfukyak: I saw they are try to remove all the code like "-L$(STAGING_DIR)/usr/lib/libintl/lib"09:50
xiangfukyak: ok. I will take a look of the tunk code history. then we talk it later. what should we do :)09:51
kyakyes, such code shouldn't be there...09:51
xiangfukyak: see you.09:51
kyakbb :)09:51
qnrqI'm looking for the openwrt-xburst-u-boot.bin file, according to http://downloads.qi-hardware.com/software/xburst-tools/README_FILES_MOVED.txt all xburst-tools files have been moved, but I can't find the file at the new location and all wiki pages point to the old url that returns 404. does anyone know where I can find the file I need? :-)10:15
qnrqI found it here: http://downloads.qi-hardware.com/people/vegyraupe/ - I'll try that one and see if it works :-)10:17
xiangfuqnrq: all images is at : http://downloads.qi-hardware.com/software/images/NanoNote/Ben/10:26
xiangfuqnrq: last : http://downloads.qi-hardware.com/software/images/NanoNote/Ben/latest/10:26
qnrqxiangfu: thanks :>10:27
xiangfuqnrq: http://en.qi-hardware.com/wiki/OpenWrt_Software_Image10:29
lekernellol, baudline + kde = X with nvidia drivers breakdown10:57
lekernelwhat a steaming pile of crap10:57
lekernelit worked perfectly on my computer with a i810 video card a few years ago10:57
Action: lekernel just hooked a hot wheels radar gun microwave module to his soundcard10:59
lekernelbesides that thing works amazingly well. I didn't expect such a clean signal out of a dirt cheap device like that11:00
bartbesso did the gforth guy return yet?11:29
kristianpaullekernel: (you can write a cmake script in 5min) oh thats great :)12:18
wpwraklekernel: microwave gun ? rough neighbourhood ? :)13:36
wpwrakzrafa: (toolchain) starting to look good. the code examples need some explanation, though. i.e., what they actually are and so on.13:37
lekernelhttp://www.edparadis.com/radar/13:39
lekernelthat device is amazing13:39
lekernelwith its homodyne microwave tx/rx combo and its AVR-based controller (on which the ISP pins are easily accessible) it looks like it's MEANT to be hacked13:40
lekernelit's also dirt cheap, I guess Mattel wanted to make money on the other "hot wheels" series toys13:40
lekernelbut from what I can read on the internet, only nerds and physicists bought that radar gun and they didn't sell it for long ;)13:41
wpwrak;-))))13:43
wpwrakgot any specific use in mind ?13:44
lekerneltry to make a synthetic aperture radar out of it13:44
lekernellike this: http://www.mit.edu/~gr20603/Dr.%20Gregory%20L.%20Charvat%20Projects/$240%20High%20Res%20Rail%20SAR.html13:45
lekernel(don't remember if I sent you that link already)13:45
wpwrakhm,, so sort of a depth camera. 1.4 in resolution. quite coarse. would you use this for things like scanning walls for pipes and such ?13:50
lekernelno, basically to play with microwaves and signal processing13:52
wpwrakyou'd need something around 1/2 in for wall scanning if you also want to find electrical pipes. but it's probably easy to increase resolution by evaluating multiple samples.13:52
wpwrakah, basic research :)13:52
lekernelnext version should use a 77GHz module from a car cruise control system, some very decent A/D converters and large amounts of processing power13:53
lekernelyeah, basic research13:53
lekernelI've done too little of it lately, I was too busy with milkymist...13:55
wpwrakzrafa: the "hello.c" example is a bit misleading. the way you present it, it suggests that your code has to live somewhere under the jlime toolchain directory.13:55
wpwraklekernel: indeed. i noticed a lack of progress in dark matter research :)13:56
wpwrak(wall scanner) if such a thing could be built cheaply, that could actually be quite a commercial success. right now, the best you can find are some 2D scanners (1D: direction of scanner movement, 2D: depth), and they're already in the USD 1000 range.13:58
wpwrakthings like this: http://www.cleanenergybrands.com/shoppingcart/products/D%252dTect-150-Professional.html13:59
lekernelwell, maybe14:00
lekernelit would kick ass on things like AR Drone or quadrukopter14:00
wpwraka "wall camera". oh, and maybe add a "naked girls" option while you're it :-)14:00
lekernelah, walls...14:00
wpwraks/it/at it/14:01
lekerneldidn't think of that. who would need it?14:01
wpwrakpeople who drill holes into walls14:01
wpwrakor who need to connect to existing pipes14:01
wpwrakor who need to add new pipes14:01
wpwrakif such a system could produced a halfway decent image, preferably with very good depth resolution (so that you can choose a short screw, in case the pipe is far away), i think that could sell for quite a price.14:04
wpwrak(uses) also to see if a wall has steel reinforcements and where they are (so you don't try to make the hole for, say, the A/C's drin pipe just through one of these iron bars)14:05
wpwrakif the system can detect changes in material density, that would mean even more uses. e.g., find hollow spots or - in older constructions - wood beams14:08
wpwrakyou14:11
wpwrak'd probably need good density detection also for plastic pipes. they're sometimes used instead of metal. easier to work with.14:11
wpwrakhmm, 50 mil ribbon cable heats up from 30 C to ~ 60 C if i feed it 3.2 A. if i double that, i get thermal runaway (stopped at 200 C, where the plastic starts melting)14:16
wpwrakthis means that i can use ribbon cable for my ignitors. excellent :-)14:17
wpwrakadd a pair of leds to each ignitor and i can test the connectivity with a current limit of 20 mA. then kick the current limit and rockets away :)14:19
qwebirc65606hi all14:20
tronix286i have board based on jz4725b processor and i tried to compile ucos OS14:22
tronix286from official Ingenic FTP. But no success. Many missing files, headers , etc...14:23
larscwe've only used linux on the nanonote14:23
tronix286First, i tried to compile a linux kernel, yes. With a few changes in u-boot and kernel I did it, I got start Qtopia. But my device do not have touchscreen, so Qtopia is not good for me14:27
tronix286Also i compiled Mplayer from sources and again no success - i didn't see anythink on the screen. build.jz file have JZ4740, JZ4750 and JZ4755 targets only, not my jz4725b14:30
tronix286Does anyone know where I can download the latest version Ucos or minios? If you can help, please connect with me by e-mail: tronix286 @ rambler.ru. Thanks.14:33
kristianpaulxiangfu: Hello20:25
xiangfukristianpaul: hi20:26
kristianpaulxiangfu: oh, better check reply to  OpenWrt Image Release: 2010-12-1420:31
kristianpaul:-)20:31
kristianpaulhmm i dont see the reply on the list..20:40
kristianpauli hope is not tagged as SPAM20:40
wolfspraulyour mail?20:41
kristianpaula reply to "OpenWrt Image Release: 2010-12-14" thread20:41
wolfspraulhttp://lists.en.qi-hardware.com/pipermail/discussion/2010-December/006576.html20:41
kristianpauli just moved from a mta to mda when swich to fedora20:41
wolfspraulno reply :-)20:41
kristianpaulahh is there20:42
kristianpaulhe gandi is not as fast as qi servrs :)20:42
wolfspraulah so it was that mail I linked to20:43
kristianpaulyes sorry20:43
wolfspraulnormally the web archives are fastest, although pipermail has some bugs too so sometimes mail in the archives get garbled20:43
kristianpaulI'm just bit nervous20:43
wolfspraulthe mail delivery may be a bit slower, especially since mailman properly tags the mails as 'bulk' and some mail servers delay those mails a bit20:43
kristianpaulbecause i just migrate to fedora few days ago and i'm using new mda sofware (wich seemed to be simpler than mta one in debian :))20:44
wolfspraulfor example it may take 1-30 minutes at google, in my experience20:44
kristianpauloh ok20:44
wolfspraulalso many mail servers reply with "busy, try again later" or so, and then the qi mail server may try again 5, 10, 15 minutes later20:44
kristianpaulouch20:45
wolfspraulmaybe that response is already because they see the 'bulk' header, don't know20:45
kristianpaulah yes thats the rule :)20:45
wolfspraulI think the system is working as meant to be.20:45
kristianpaulsure :)20:45
wolfspraulI wish pipermail had fewer bugs, not much activity in that project.20:45
zrafawolfspraul: "Never heard of the Nanonote before, now I've ordered one" said a dingoo user.. I guess that many of them would like to have a similar device with qwerty keyboard.. so there are some buyers there surely :)20:51
wolfspraulnice20:51
kristianpaulah keyboard call finally atention ;-)20:51
xiangfukristianpaul: you mean this one: http://downloads.qi-hardware.com/software/images/NanoNote/Ben/2010-12-14/OpenWrt-SDK-xburst-for-Linux-x86_64-gcc-4.3.3+cs_uClibc-0.9.30.1.tar.bz220:52
kristianpaulxiangfu: ahh yes :)20:53
kristianpaulso just missing packages source code?20:53
zrafakristianpaul: yes, dingoo users always miss that the device does not have keyboard20:53
kristianpaulzrafa: and we nanonte users miss not have decent ganme-key pad ? ;)20:54
kristianpaulxiangfu: but packages sources? lets said i want recompile gpsd with some extra parameters?20:55
kristianpaulhmmm just x86_64?20:55
kristianpaulmy kernel is 2.6.35.6-45.fc14.i68620:55
kristianpauli guess is same trouble like in debian with x86_64 (not compatible binaries....)20:55
zrafakristianpaul: haha :D20:56
zrafakristianpaul: yes20:56
zrafakristianpaul: in fact I am suffering that issue from openmoko times20:58
zrafakristianpaul: I wrote a software framework which uses the accelerometers and touchscreen as gamepad on freerunner, but nobody was interested.. just people who use gamerunner distro.20:58
kristianpaulI wast close to OM that time but i read that alos happen with other wanted and developed (but not used aplications) ?21:00
kristianpauls/was/wasnt/21:00
kristianpauls/alos/also21:00
zrafakristianpaul: the gamepad sw framework was useful to port any game to freerunner, and people would not have to modify the source code as they had to do before (modifying the control source code), but well, there were not many gamers, so few gamers devs finally21:02
andres-calderonwolfspraul: Hi21:03
xiangfukristianpaul: only have x86_64 for now.21:03
kristianpaulxiangfu: :(21:04
kristianpaulStill people usign i686 ;-)21:04
xiangfukristianpaul: package sources, do you mean those : http://downloads.qi-hardware.com/software/mirror-openwrt-sources/21:05
kristianpaulxiangfu: ahh you have all my answers :-)21:06
kristianpaulSO the makefiles for those packages are in the openwrt SDK?21:07
kristianpaulhmm gpsd is not there21:08
kristianpaulahh those are specific to xburst-owrt isnt?21:08
kristianpaulany way, i'll wait next image :) and hopefully x86 SDK :D21:10
xiangfukristianpaul: yes. specific to nanonote image.21:10
xiangfukristianpaul: don't know gpsd have included by OpenWrt. will add it to config.full_system21:11
kristianpaulxiangfu: gpsd is on owrt upstream since long time ago (i used it several times on linksys routers)21:12
kristianpauls/upstream/feed21:13
wolfspraulandres-calderon: hi!21:18
wolfspraulI did a little more reorg, did you see it?21:26
wolfspraulI moved the camera and camera_psu schematic pages to their own daughterboard project21:26
wolfspraulI tried to keep the integrity of the schematics, but of course there are unconnected wires now...21:27
wolfspraulandres-calderon: my next plan was to remove the 2232, avr, fan*, but I wanted to see what your plans are, especially schedule.21:29
wolfspraulI can remove things, but I may leave some damage around them because I would not understand a clean separation of the parts I want to remove, and supporting components around them.21:29
wolfspraulwhat is your plan? what is the schedule? what do you want me to do?21:30
andres-calderonwolfspraul: I'll take care of deleting these components tomorrow.21:32
wolfspraulI want to help :-)21:33
wolfspraulmaybe I look into the ERC bugs a little21:33
wolfspraulI think we should first finish the schematics, 100%, for both the Xue base board, and camera daughterboard21:34
andres-calderonI have an preliminar chips selection for PSU21:34
wolfsprauland also boomify the whole thing (I also would like to help there). The main problem in boomification will be to more precisely specify the values for some components.21:34
wolfspraulbut one by one...21:34
wolfspraulandres-calderon: ok so I slow down for about 2 days, then you should have remove 2232/avr/fan/etc. Maybe I look into the ERC warnings now a bit, then more intensitely after you are done with the removal.21:38
wolfspraultomorrow I am traveling most of the day anyway, from China to Germany.21:38
andres-calderonok21:39
wolfspraulah, about the fpc21:39
wolfspraulI think we should only do the 2mm header right now, no fpc connector21:40
wolfspraulfpc is more flexible, but also more breakable/source of problems21:40
wolfspraulunless we have a specific mechanical reason, I suggest to postpone the fpc21:40
wolfsprauleven if we have a 2mm header, it's easy to make a little pcb with an fpc connector on it21:40
wolfspraulto build some prototypes that would require an fpc21:41
wolfspraulI just realized the other day how often fpcs are the source of problems21:41
wolfspraulin the early stage we are in, I'd leave them out, so we can focus on the other x00 problems we have21:41
andres-calderonI think the name of the directory of the Xue's daughter card is not good. I prefer something more general structure as daughter-boards/CISxxx, daughter-boards/CISyyyy21:41
andres-calderoni like 0.5mm pitch fpc connectors21:42
wolfspraulcan we find something shorter than 'daughter-boards'?21:43
wolfspraulyes I agree, no problem with .5mm fpc and all. _BUT_ - in my experience fpcs are the source of many problems.21:43
wolfspraulat this point, we have lots of issues that require our attention. focus is the key for success.21:43
wolfspraulthere is no hard mechanical requirement right now for a fpc.21:43
andres-calderonok, i underestand.. 2mm block connector is good too21:43
wolfspraulI am trying to remove _EVERY_ source of problem possible in the first run.21:43
wolfspraulwe need to make a board that boots, works - quickly21:44
wolfspraulthen we learn, then improve, rinse and repeat...21:44
wolfspraulif we are taking on too much, we will crash down from the overload of problems to deal with at the same time21:44
andres-calderonwolfspraul: ok21:46
wolfspraulandres-calderon: about the connector, now that we have removed the cis, we can revisit the connector.21:46
wolfspraulshould we even have a 60-pin connector?21:46
wolfspraulshould we have two 25, or two 30 pin connectors?21:46
wolfspraultwo different ones?21:46
wolfspraulwhich kind of wires to run to the connector (voltage domain, other types...)21:46
wolfspraulandres-calderon: can we document in the wiki what types of wires we are running to the expansion header?21:47
andres-calderonwolfspraul: ok, no problem21:48
adamw_wolfspraul, http://downloads.qi-hardware.com/hardware/jtagserial/run1/doc/jtag_run1_shopping_list.txt21:48
adamw_I just cleaned up & all parts ordered21:49
wolfsprauladamw_: nice! what does CONFIRMED mean?21:49
wolfspraulI will contrast this actual shopping list with the one boom prints right now21:50
adamw_means that I checked footprints/pins assignment designed in KiCad matched to datasheet.21:50
wolfsprauland then you ordered from where?21:51
adamw_most are in Digi-key21:51
wolfspraulhe, one simple problem21:51
wolfspraulboom should issue a sequence number on the left21:51
wolfspraulso it's easier to talk about the shopping list21:52
wolfspraulnow i cannot say "how about #13"21:52
wolfspraulfor example the ftdi chip, it says 'CONFIRMED', but where did you buy it?21:52
wolfspraulcan you add that information where you bought them?21:52
wolfsprauland what part-number...21:52
wolfspraulI want to compare your actual shopping list to the one from boom, so we can improve boom21:52
adamw_yeah....i like extra column for #item.21:53
adamw_ftdi also digi-key...21:53
adamw_hmm...i should wrote more clear..21:53
adamw_second..ok21:54
adamw_wolfspraul, updated22:02
wolfspraulhe :-)22:03
wolfspraulbut no digi-key part number22:03
wolfspraulI want to compare with the shopping list that boom automatically generated. but I need to know the part number you used in the order.22:03
adamw_i took 'CONFIRMED', if there's no mentioned on my column means I used boom (the left p/n)22:03
wolfspraulahh22:04
wolfspraulI see22:04
wolfspraulok great, now I got it22:04
adamw_if i changed p/n, means I used Digi-Reel or Reel p/n22:04
wolfspraulsorry I didn't think right22:04
wolfspraulyou already compare boom & actual!22:04
wolfspraulon the left side is the boom generated digi-key p/n22:04
wolfspraulthen also 'CONFIRMED' makes sense22:04
wolfspraulit just means after confirmation, you ordered the same part number boom suggested22:05
wolfspraul(which is on the left)22:05
wolfspraulcorrect?22:05
adamw_in the end, need manually work. :)22:05
adamw_exactly22:05
wolfspraulok got it now22:05
wolfspraulsorry I was confused before22:06
wolfspraulok we can work with this data, thanks a lot!22:06
wolfspraulone thing I need to work on is to get sharism inventory into a boom format22:06
adamw_for example, yeah. P12KJCT-ND this one I changed to P12KJTR-ND22:06
wolfspraulthen boom will automatically pick the ones from sharism inventory22:06
wolfspraulyes, got it22:07
wolfspraulI think all data is there22:07
wolfsprauland even if not all, it's already enough feedback to improve boom, small and big improvements. great, thanks!22:07
adamw_yeah...i also need to clean up our inventory with some exact right qty..22:07
adamw_well..need to check & count again..:)22:07
wolfspraullet me first think about how we get it into boom format, and easily maintainble22:07
adamw_yeah22:07
adamw_like which info of column we really need or helpful to boom.22:08
kristianpaulohh shift.. is all what i need to do :)22:09
wolfsprauladamw_: http://downloads.qi-hardware.com/hardware/jtagserial/run1/doc/jtag_run1_shopping_list.txt22:12
wolfspraulI changed the text to 'CONFIRMED BOOM P/N'22:12
wolfspraulnot sure it's more or less clear now, but I understand it now :-)22:12
kristianpaulunless i got a better way of generate a syncronization signal divided by N22:12
wolfspraulone more question - how many hours do you think you spent in total going from the boom shopping list to the actual shopping list?22:12
adamw_wolfspraul, no problem22:13
adamw_with checking/confirming footprint/pins assignment...reading datasheet?22:13
adamw_from them to settle doen all ordering out...i guess 1.5 working days22:15
wolfspraulok let's say 2 days, 16 hours22:15
wolfspraulwe have 24 positions here22:15
wolfspraulso 30-40 minutes per position22:15
adamw_if just from shopping list to actual order...i may say 0.5 day22:15
wolfspraulnah it's OK, I am just trying to think about reality.22:16
wolfspraulnot wishful thinking22:16
wolfspraulwishful thinking we press a button and are rich22:16
adamw_:)22:16
wolfspraulso if 24 positions took you 1.5 days, then the 92 positions of m1 for example would need roughly 5 days22:16
wolfspraulof course from your feedback I think we already have some good ideas how to improve boom, so it's cool22:17
wolfspraulthere are many little details we can introduce to make the process faster and more efficient22:17
wolfspraulnot just automated, but also make reviewing faster/more efficient22:17
adamw_yeah...like 'REEL'/'DIGI-REEL'..or later tray22:17
wolfspraullike dsv22:18
wolfspraulyes sure, the whole reel thing. that's already clear.22:18
kristianpaulahh talked too fast shifiting still not enought22:18
kristianpaulshifting*22:19
adamw_i still quite don't know real work of 'dsv' & 'boom'...but well...I haven't to see what connection between sch and boom.22:19
wolfspraulone by one22:19
wolfspraulright now we are just collecting URLs to PDF in BOOKSHELF, for easy downloading and quick viewing22:20
adamw_so once I see more sch in KiCad. I'll see it.22:20
wolfsprauldsv is not connected to boom right now22:20
adamw_well...i need to study AI file again..cu22:22
wpwrakwolfspraul: (item number) awk if your friend ;-))22:33
wpwrakwolfspraul: (adam's checking time) part of that is actually what i would consider "review". you can't automate this. and it's dangerous to just "trust boom to know what it's doing" :)22:35
wolfspraulwpwrak: yes sure, it's 'reviewing time'22:47
wolfspraulbut the tools can make that process much smoother and faster22:47
wolfspraulthe question is how does a newbie go from 0% 'confidence' to 100% 'confidence'22:47
wolfspraulthat's what all the tools we are stitching together here are supposed to improve, imho22:48
wolfspraulyou probably looked at this: http://downloads.qi-hardware.com/hardware/jtagserial/run1/doc/jtag_run1_shopping_list.txt22:50
wolfspraulso next thing I need to work on is to get sharism inventory into boom format22:50
wolfspraulI'm wondering how to store it, maybe in a git repo on the projects server?22:51
qi-bot[commit] Xiangfu Liu: update package to known-good revisions, thanks David Kuehling http://qi-hw.com/p/openwrt-xburst/692c1e423:23
wolfspraulxiangfu: maybe we should only have the revision for the main 'packages' feed?23:24
wolfspraulbut not for phone, efl, desktop and xfce23:25
wolfspraulotherwise I am wondering who will maintain/update the revision fixing for phone/efl/desktop/xfce, if we are even including packages from those...23:25
wpwrak(inventory) git sounds good, yes23:26
wpwrak(tools) the definitely should help. e.g., help with "dumb" tasks, like translating from cut tape to reel or such. but that's mainly to prevent boredom and stupid mistakes. the review, which is what should take most of the time, will stay23:28
xiangfuwolfspraul: hmm.. you are right.23:29
qi-bot[commit] Xiangfu Liu: update package to known-good revisions, thanks David Kuehling http://qi-hw.com/p/openwrt-xburst/971a8a223:31
wolfspraulwpwrak: of course the review should stay. but the tools can present the data to be reviewed in an efficient way.23:41
wolfspraulof course in order to do so, they must not introduce any 'magic' which then needs to be reviewed again23:41
wolfspraulI think the direction we are heading to is good. small, focused, deterministic tools.23:42
wolfsprauldocument a known-good process well23:42
wolfspraulok, sharism inventory into git then23:44
--- Tue Dec 21 201000:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!