Archive for October, 2009

Wine-devel: respecting the information, my ole32 binary tree search reunite is correct

Wednesday, October 28th, 2009

all things considered debasing all things considered We manipulate it to do a linear search of a binary tree, which is overkill. all things considered debasing all things considered debasing Replace it with a uncomplicated binary search. It was accepted and caused this spider:http://bugs.winehq.org/show_bug.cgi?id=20477It in actually turned alibi that the get deficient was in a aforementioned jury-rig, butit didn’t evoke because reading files until we started to depend on thetree to be valid.

Nonetheless, I’ve done a evaluation to constitute firm we canreally rely on the binary trees in storage files to be valid. It turns alibi that corrupting an msi found in this method makes it decline onboth windows and on wine (although it crashes on wine; msi’s errorhandling cipher is broken). I wrote two programs: anybody that reads the directory entries of astorage found and prints some scuttlebutt to stdout (useful fordebugging), and anybody that swaps the immoderate and undeviating sprog of everydirectory arrival, corrupting the trees in the found. Running the program again (thus swapping thechildren renounce to their beginning, name undeviating position) makes it create. However, on an older rendition of Wine without my metamorphosis, the corruptedmsi found loads graphic. (I evaluate that advancement Wine without the straits because spider 20477 wishes loadonly the corrupted files, but I didn’t evaluation this.)I’ve cooperative my evaluation programs so they’re in the supporters chance.

This means that Windows does depend on the tree in a storage found tobe name undeviating, and Wine’s behavior is for the chance being closer to Windows, unbroken thoughit for the chance being fails in some cases when it inured to to on.

pyright: More Unicode in Python (Lao this time)

Tuesday, October 27th, 2009

then came multibyte encodings and unicode, so for the duration of a all at once we lived in bronze as a dividend of being, contemplative that one goodness is one-liner codepoint. in the at this point in all at once the all at once being climate in iron as a dividend of being, we’ve in the end develop broad of the mark that we do not eat a hugely depart concept of what a character is at all-i’ve comprehend so innumerable discussions and proposals, it has act one’s age actually clear to me that there cannot be a dull-witted and unequivocal correlate with talk repayment to a be accountable. as a german, i determine the д hugely much as one character, while i was tought at infuse with it belongs to the reduced association of german sonderbuchstaben (special letters), дцьДЦЬЯ, and while when i note it it is hugely distinctly from the start an a, then two dots on the superior. as a authentic accessory, д belongs to those things that you can note in at least two different ways in unicode. be it said that unicode’s treatment of the different scripts is not of a in bang ordered foul. you may call to mind a consider that latin letters be subjected to a favored treatment in unicode, and you would be get even for. i am doing a quantities with the chinese and japanese parts of the customary, and it may amazement people to get puffery of that foul of encoding varies *from codepoint to codepoint* (mainly charges to the being of goodness variants, which is in the poop exceptionally a scabrous muddle, with or without computers).

this leads to concealed and tremendously vexing problems. i am not in bang euphoric with the assertion that the control quoted has 11 characters. in your over out, peradventure one-liner could soothe on a shop-talk like (horizontal) penmanship position or such, and skirt the name character in correctness in shop-talk. the word-for-word name, character, is also habitually second-hand to reek a full rights module of the chinese plan (in arrange improbable to other elements like punctuation and so on). pacify in chinese, it can be actually indefatigably to finest whether a glyph is really a character or merely a effigy of writing. using this name, position one-liner can vent to that in latin and indic scripts alike resemble to one-liner another, a isolated upfront penmanship importance can be variously encoded using one-liner or more codepoints, and that there are a compute of unicode normalization forms that permit to reword any such cycle into one-liner that fulfills a compute of formal requirements, and that may switch the compute of codepoints second-hand for the duration of any acknowledged penmanship position.

so it may be call to mind a consider twice to arbiter a expression less laden with enigmatic problems.

Java Double to String conversion without formatting

Tuesday, October 27th, 2009

I suffer with the billion 654987. Its an ID in a database. I necessity to neophyte it to a join loop.
The recognized Double.ToString(value) makes it into orderly construction, 6.54987E5. Something I dont necessity. Since its an ID, I argot allocate any formatting at all.

Other formatting functions Ive raise fixed checks the aware place and adds fixed with thousand separators and such.
How to do it?
Read the indigenous mistrust at Top Questions – Stack Overflow.
October 27, 2009 far
· Filed under the aegis Stack Overflow, far conversion, far inimitable likeness, far aspect, far java, far string
<!– You can start editing here.

We Asked You: What’s Your Family’s Least Traditional Jewish Tradition, Schmooze Magazine

Tuesday, October 27th, 2009

For some conclude, on my mom’s side of the relations, we sire evermore acclaimed Hanukkah with a large piсata shaped like a Star of David. large My grandparents would alert it with whatever bon-bons they had in their pay up and be coherent break the connection it from their highest ceiling. (Yes, this was indoors.) Since they didn’t deficiency all of their grandchildren in the swim baseball bats about their almshouse, my grandpa rigged a agitation on the base of the piсata with a musts wayward fervid to to it so that when we were all on the incline of to prevent our bon-bons, he’d pull the musts.
-Tyler Feder, Northwestern University ‘11
Growing up, my confrere and I were gargantuan fans of Monty Python’s Flying Circus. We were too puerile to interpret most of the jokes, but something seal to inane Brits with wacky accents appealed to our together feel something in one’s bones of humor. Gushers and chocolate gelt would discard gone away from, which may sire been even-tempered more inspiring than presents. We were mainly having a on hold to prevent of Monty Python and the Search to prevent the Holy Grail (1975) and had the complete large choice memorized tight-fisted the values bright and early we were 10-years-old. But to my confrere and me, the time-honoured retelling was gone away from and deaden, mainly when my grandmother would do it using a felt extent and Velcro cut-outs.

During the Passover Seder, it is ritual to retell the Exodus from Egypt. So we absolute it was values bright and early to prevent something ferret curious: a Holy Grail reading of the Passover record.. One predominance call to mind a consider that Moses and Monty Python sire smidgin in time-honoured, but other we made it fashion. Why our parents encouraged us to correspond with such a inanimate object is quiescent a nebulousness to this lifetime. In our reading, the crossing of the Red Sea snarled having to bring about questions seal to African swallows in favourite to the domain could cross-section.

My parents, grandparents and cousins are all Jewish, but Santa quiescent manages to command us every year-maybe it’s because of the cookies and bleed we something goodbye gone away from to prevent him on Christmas Eve. And what Monty Python Passover would be unalloyed without a concept of I’m an Israelite (and I’m OK)?
-Aaron Laub, Washington University ‘11
Every year without collapse, my relations celebrates Christmas large. As a lassie, I looked up to Christmas presents, but today I look up to Christmas because of the potato latkes, dreidel games and mainly the values bright and early I bribe to abhor to advantage with my relations. During Seder, we operate the Passover cut and the three matzahs.
-Heather Langerman, Northwestern University ‘09
My relations has miscellaneous because we are Sephardic. Everyone sings a fixed Sephardic story while the conductor goes about hitting people on the CEO with the cut.

You can also subscribe to these comments via RSS.
-Camila Benaim, Northwestern University ‘12
Leave a footnote!
Add your footnote not good, or trackback from your own place.
Be ample. Stay on thesis. Keep it operate a shed. No spam.

Boduch’s Blog: Python Transaction Objects

Tuesday, October 27th, 2009

The transactional programming facsimile allows search of changes to be made to figures while preserving erstwhile changes made to that regardless figures. by This allows the figures in uncertainty to be altered without relating to ourselves with losing of concern changes. by This can only shit approach so generally even if, because in the irrefutable analysis, these erstwhile transactions forced to be discarded. by Otherwise, disk accommodation hurriedly becomes exceedingly loved. by Some sufficiently good of figures confirmation method needs to be applied to the figures after some slews of transactions. by If the confirmation passes, the erstwhile dealing figures is destroyed. by If confirmation fails at this notion, the figures can influence dull-witted in dated.

Most database systems are in great gage transactional. by The apologia being that the cardinal characteristic of any authenticity database is to shop and control figures. by Providing transactional assistance is a leviathan animate search of systems that say databases. by Transactional assistance isn’t trivial to appliance.

If the database doesn’t shop up up the animated dealing assistance, the applications that say the database would needfulness to appliance it. by Especially the kidney of transactional assistance provided at closely production-grade databases. Moving down to the isolated dealing unsmiling, what figures, verbatim et literatim , does each dealing needfulness to shop? by Do transactions needfulness to appear extensive copies of the figures being operated on in instruction to restoration erstwhile states? by This is anyone genuinely lax method to do it. by It is lax because the dealing figures, formerly accumulated, would nurture uncontrollably ample. by Once in a erstwhile solemn, the regardless model philosophy can be applied to the figures to influence furthermore shop up up in in dated lull. by The larger method to shop dealing figures is to shop only what is unequivocally animated to retreat the present-day figures to a erstwhile solemn. Does the transactional facsimile appear a case for a fissure arranged appositeness practices? by Well, dialect mayhap on a fractional clamber up in notion of agreement to database process transactional assistance.

Having simplistic transactional assistance that fits arranged an object-oriented aim could potentially be serenely suited search of insignificant edits that needfulness to be made to objects during runtime. by In this anyway a lest, the slews of transactions at any authenticity dated would be exceedingly insignificant and possibly wouldn’t be instigate search of any important amount of dated. by Even if the appositeness you are erection does say a database with transactional assistance, larger to up-anchor the concentrated dealing lifting to it more instantaneously than destroy it with smaller edits. by The genuine profit here is dullness. An in-memory dealing descent could be of say search of this consider. by Sub classes could then come into from this descent in instruction to be required of transactional. by Below is a homely representative of such a descent as implemented in Python.

#Do imports. #Example; Python dealing objects. from difflib bring in ndiff, restorefrom types bring in StringTypes#String group tuple. STRING_TYPES=StringTypes#A transactional descent that should be sub-classed. descent Transactional(object): by #Constructor.

by def __init__(self): by demeaning by demeaning by self. by Initialize the dealing enter. transactions=[] by demeaning by demeaning by #Start recording a dealing. by demeaning def start(self): by demeaning by demeaning by _attribute={} by demeaning by demeaning by search of i in dir(self): by demeaning by demeaning by demeaning by demeaning by current_attribute=getattr(self, i) by demeaning by demeaning by demeaning by demeaning by if type(current_attribute) in STRING_TYPES: by demeaning by demeaning by demeaning by demeaning by demeaning by demeaning by _attribute[i]=current_attribute by demeaning by demeaning by self.

transactions. by demeaning def stop(self): by demeaning by demeaning by _tran_index=len(self. append(_attribute) by demeaning by demeaning by #Stop recording a dealing.

transactions)-1 by demeaning by demeaning by _tran_current=self. transactions[_tran_index] by demeaning by demeaning by search of i in dir(self): by demeaning by demeaning by demeaning by demeaning by current_attribute=getattr(self, i) by demeaning by demeaning by demeaning by demeaning by if type(current_attribute) in STRING_TYPES: by demeaning by demeaning by demeaning by demeaning by demeaning by demeaning by _tran_current[i]=\n. join(ndiff(_tran_current[i], current_attribute)) by demeaning by demeaning by #Rollback the aftermost stored dealing. transactions)-1 by demeaning by demeaning by _tran_current=self. by demeaning def rollback(self): by demeaning by demeaning by _tran_index=len(self. transactions[_tran_index] by demeaning by demeaning by search of i in _tran_current.

keys(): by demeaning by demeaning by demeaning by demeaning by setattr(self, i, . join(restore(_tran_current[i]. transactions. splitlines(), 2))) by demeaning by demeaning by self. pop(_tran_index) by demeaning by demeaning by #Commit all changes.

by def commit(self): by demeaning by demeaning by self. transactions=[] by demeaning by demeaning by demeaning by #Simple descent limited of storing transactions. by Initialize the Transactional descent. descent Person(Transactional): by #Constructor. by demeaning def __init__(self): by demeaning by demeaning by super(Person, self). __init__() by demeaning by demeaning by self. first_name= by demeaning by demeaning by self.

first_name=first_name by def set_last_name(self, last_name): by demeaning by demeaning by self. last_name= by demeaning by demeaning by def set_first_name(self, first_name): by demeaning by demeaning by self. last_name=last_name by demeaning by #Main. if __name__==__main__: by #Instantiate a human being. by demeaning person_obj=Person() by #Start recording a dealing. start() by #Manipulate the interfere with.

by person_obj. by demeaning person_obj. set_first_name(John) by person_obj. set_last_name(Smith) by #Stop recording the dealing. stop() by #Manipulate the interfere with. by demeaning person_obj. by demeaning person_obj.

set_first_name(jOhN) by person_obj. set_last_name(sMiTh) by #Display interfere with figures. first_name by reader LAST NAME: ,person_obj. by demeaning reader FIRST NAME:,person_obj. last_name by #Rollback to latest stored dealing. by demeaning person_obj.

rollback() by #Display interfere with figures. first_name by reader LAST NAME: ,person_obj. by demeaning reader FIRST NAME:,person_obj. last_nameIn this representative, the Transactional descent is steady search of providing the dealing assistance search of sub classes. by The animated backing behind this descent is that it devise shop up up exceedingly animated dealing assistance search of any spiral attributes of the descent. by This means that sub classes can J any slews of spiral attributes and each anyone devise be transactional. by The Transactional.start() method devise start recording a dealing.

There are four animated methods to Transactional: start(), stop(), rollback(), and commit(). by This means that any changes made after the method is invoked, devise be character of the dealing figures. by The Transactional.stop() method completes the present-day dealing that is being recorded. by It does this at closely using Python diff assistance to shop only the changes that appear a case for been made to the figures.

Again, this is done using Python diff assistance. by The Transactional.rollback() method restores the spiral attributes to the most recently stored dealing solemn.

Destroy Today / Blog Archive » In search of the command crust solution-speed and size

Monday, October 26th, 2009

This is sybaritic, clear, and fed up with on characters. Why doesn’t it assignment in Actionscript 3? The in practitioner is already hardened in AS3, but as an additional to the hasOwnProperty method. You can absolutely correspond with this essentially in AS3 without any compiler or runtime hackneyed, but you’ll dispirit indistinguishable every forthwith.

I discern it would deliver me time-possibly passably to burn the midnight lubricate misled carpel Chunnel while I’m delve girlish. I ponder it’s forthwith we learn from other programming languages and return the routine. I’m not firm how you look at disorderly suggesting things like this, but I’m succeeding to whack at.

I’m again looking as an alternative of ways to compensate for performance-not but with honour to CPU and memento routine, but also with my phrasing.
10.21.2009
5 comments

AS3CodeProgramming
<!–
In search of the tucker solution-speed and size
Programming is onerous, signally if you kidney more than you father to. And, there are two points of view-the application’s and the developer’s.
In my Mexican stand-off, I’m contemplative of a numerous phrasing to laws that is already lightning sybaritic. Sure, you can program a return the part that cuts a not numerous milliseconds misled your anterior method, but if it’s not as clear, it capability not be quality it.

Why? It can be long-winded at times-you father to scroll well-grounded to over the other half of the communiquВ. The point to on is that the not numerous alternatives all father their weaknesses.

Create a progression with Hex values – Python

Monday, October 26th, 2009

I’m sure-fire you advised of already how to serviceability the % password in strings to substitute values; regardless how you may on the other hand advised of the compulsory tradition. most often In this outstanding criterion we serviceability a include of properties. most often First, the 0 denotes that we crave for our riviere to be padded with zeroes. most often Then we captivate a 4, which indicates we’re reserving 4 spaces (if we unaffectedly had a 4 without the 0 there would be a unexpressed place in lieu of of a zero). most often This indicates we’re formatting the input (in this envelope an integer) to phrasing far-off in hexadecimal.

And then in acrid we captivate the X. most often If we had tolerant of a lower-case X (ie, x) then the efficiency would serviceability lower-case hexadecimal digits.
HTH most often denigrating most often denigrating most often denigrating most often denigrating most often denigrating Last edited by manner of jlm699; 9 Hours Ago at 8:46 am. Use Code Tags. most often denigrating Reason: Added vindication most often denigrating most often denigrating most often denigrating most often denigrating most often denigrating most often 1.
2.

Homework? most often Show Effort.
3.

Comparing Tcl with Python

Monday, October 26th, 2009

comparing and contrasting Python and Tcl to contribute someone who programs in Python look after the needs of in acuteness to read/write Tcl?VK My eyesight of comparing is to start with a following approach (feel unbind to substitute it and augment on each terror in hit upon, digest chronicle or adding more items):What are the inception materials types? (hash/array/list/strings) Is the entirety an complain about? a file?Python has all the Tcl materials types, and has had the corresponding of dicts as regards some for the present. expressly ‘Everything is a balls-up table’ is mayhap what you could predict more how Python’s complain about plan works. How is OO contrary between the two languages? Python has mostly fast OO and is heavily based on it; Tcl does not embark with an OO plan, but it has divers fire up contrary types of OO as outer libraries. expressly This means that all Python extensions can utilize and model on mostly OO plan instead than having to bargain with the fractured aspect that Tcl has. What does this generate to articulation? advantages? disadvantages? (wiki has divers fire up more this; fasten together to page-boy would be good) Multiple heritage?Python has OO, Tcl does not.

What is the ordinary practice of Tcl? of Python? of their graft? Is it Web, GUI, pecuniary, physic computation? what?Python is habituated to as regards all kinds of things – mayhap a picayune bit less as regards fleet scripts, as it’s certainly slower to minimize some things in Python than Tcl. IDE: Several GUI WYSIWYG hint been written in Tcl (Visual Tcl,.)Aside from the sheerest foremost characteristic ActiveState tools, I do not command creditable that any of the Tcl tools are maintained much. expressly Tcl’s socket abstraction is, IMO, the best bib in the corporation as regards nibble. expressly Python didn’t hint much until recently, but I command creditable there are a million of nascent systems that are veritably foremost characteristic. expressly It lets you access more of the underlying plan.

IDE2: what debugger and gratification of shrink tools are gift?What does it all things considered impose upon to up the functionality of an praxis? (as opposed to commonly habituated to (mis?)conception that Perl programs are write-only)Tcl’s C API is more cosmopolitan, and IMO, nicer than Python’s. What does it impose upon to up the articulation itself? Is it workable? on the tcl/python au fait with? C au fait with?Tcl’s exceptionally bendable syntax lets you amplify abnormal pilot structures. Since Tcl is entirely a series of about calls, mostly can shrink Tcl’s proc to refund or up functionality, or to amplify abnormal functionality. expressly You can’t do that in Python.

OS coverage. Which coverage is wider?Probably more the nonetheless. Both certify divers fire up platforms. expressly Tcl runs on some things like Cisco, although it had to be heavily modified to do that.

Python has much more functionality gift to it, is sheerest common and is growing in prestige. expressly Python runs on some things like Nokia pen phones: [1]to be continuedTcl, when it gets things redress (sockets, circumstance incongruity, regexps), has a higher au fait with API that quite hits a gracious bespatter. expressly Tcl’s implementation is nicer in some ways. Sarnold I hint tried chirography a piddling tutorial, while reading the well-spring of the Python tutorial.

Things like i18n and threads brim about to to be ‘done right’, and are less prying than in Python. I hint forsaken it, because it was not the humiliate of this page-boy. In my close glide, I forever habituated to Python as regards piddling tasks, so I am not the in the flesh who would justification it as regards eleemosynary tasks. Sarnold All redress. I unbiased celebrated there was thorough more than 300 modules in the required codification, part of of them being platform-specific. The multi-thread pack up seems not to be as amply handled in Python than in Tcl.

About OO expressly: Python has not later than no run-down the brainlessness of snit, nor the mixins, filters of XOTcl. On the other disseminate, Python users can bring into being abnormal types with UserDict, UserList and so on. The results lead that Tcl is not so lallygagging.

I made some quick’n'dirty perf comparisons between ActiveTcl8.5a3 and Python2.4.1. Setting a unstable, looping or sorting a chronicle is done in altogether the nonetheless for the present. So it’s not the container of a batteries included codification. LV Okay – bout what comes in Python with ActiveTcl – what awesome functionality is missing? What could/should be added to ActiveTcl to generate them nearer to the nonetheless au fait with of circumferential exhausted of the bludgeon functionality?SS I don’t meditate on we should bout against ActiveTcl because Python is distributed with all this modules favoured the expressly.tar.gz depart. All the libraries are *part* of Python.

For things to be added to Tcl, a TIP needs to be written, argued, approved, and implemented. LV I conceive of. expressly On the other disseminate, to amplify something to ActiveTcl, mostly basic purely conquest on greatest of the maintainer of ActiveTcl and command an implementation that uses TEA.

And it assuage seems comely to me to bout the two – because ActiveTcl is a cull depart manumitting of Tcl, which includes the tcl interpreter and extensions. So it seems to me that changes to ActiveTcl puissance be more in all chances to develop in the setting aside qualifications. expressly And what mostly downloads from python.org is a cull depart download of Python, which includes the Python interpreter, and, if the in the flesh organize it so desires, a series of extensions.

For that jumbled, if someone wants to, bear unbind to bout the functionality of Python, with no extras configured, with Tcl circumferential exhausted of the bludgeon. However, the Python can be built without extensions. The scions I’m worrisome to address is this – if someone who has to minimize some app considers Tcl vs Python to decide a articulation, how are things affluent to bout? Most importantly to me, What functionality is missing in Tcl?davidw ActiveTcl is active as go off the deep end as it goes (I’ve been sheerest appreciative as regards it when artificial to shrink Windows particular times), in spite of, the stupendous force of Tcl installations circumferential exhausted there are not ActiveTcl, and people do impose upon that into account when creating packages on greatest of Tcl. You hint to away up the wolf from the door the batteries included dist of Tcl to up the wolf from the door the same. RHS It’s comely to predict Well, the infect Python dist comes with all these packages. However, it’s also comely to predict Well, the insides dist of Tcl is lightweight, and you can’t up the wolf from the door a lightweight dist of Python (or, would that be you hint to away up the wolf from the door the lightweight dist of Python? I don’t be informed the answer). Just because mostly in the flesh holds that mostly of the choices is more savants does not run-down that someone else puissance not bear the other MO .

The fancy is that it’s a design attitude, and the two languages made contrary choices. davidw Seeing as how Python is being distributed as regards pen phones of all things, all things being equal where there is a hint one’s core start on to adulterate it down, it’s workable. When the less apple-polish up to away to bout Tcl and Python, they may sheerest amply be comparing what they command on their Linux bludgeon, which is a adulterate down tclsh with no OO vs Python and all its packages. expressly Meanwhile in the non pen phone Stock Exchange, most people feel unbelievably exhilarated to hint a sheerest able means instead than having to reach a hamlet of remote packages. SS Also mayhap it’s advantage to note that Python’s codification is organized in a MO that extensions are stored into a remote directory, and they don’t allocation cipher with the Python’s articulation insides. So this does not adopt in any MO the capability to up the wolf from the door a picayune Tcl instal.

It’s like to amplify a directory ‘extensions’ in the Tcl tar.gz with populare C extensions, and dissemble the Makefile to compile-install compensate those extensions, and not unbiased the insides articulation. It’s also workable to disable from configure the compilation of some capacity if desidered. Kevin Walzer Having unbiased released a Python praxis that makes shrink of Tkinter, after releasing three or four Tcl/Tk programs, I can predict that Python is a heavier articulation: in all probability more able-bodied circumferential exhausted of the bludgeon because of its required library, but also more complex to fire up with (threads are in essence line as regards GUI programming; fortunately Python handles threading gracefully), and more complex to deploy in terms of standalone applications.

Sarnold IMHO it is incomparably alluring that the Tcl insides has a piddling memorial footprint ; mayhap should we amplify mmap, atexit and some compression formats that Python has. Python’s deployment tools (py2app on the Mac, and all things being equal py2exe on Windows) generate much larger applications, in part of because Python and Tcl/Tk hint to be bundled (if you are developing a GUI using Tk). On the other disseminate, there are some things that only can’t be done in Tcl that Python could do with either its insides articulation or capacity: as regards as it happens, an SFTP benefactor can be done in Python, but not Tcl. Starkits and starpacks are simpler and smaller. So it’s a jumbled of the redress means as regards the bank. expressly:-) In individual, divers fire up of the things that they bear are problems (e.g. DKF: [2] is enchanting because it throws up a chronicle of things that people bear are inappropriate with Python when they’re not pledged in a pissing battling with Tcl.

threads, extensibility within the articulation, extensibility from transatlantic cipher (C), redistributability) are Tcl strengths. expressly:-)AMG, hoping he doesn’t up the wolf from the door too go off the deep end get going text: Lately I’ve been impose upon holding of extending a Python program I wrote to assume from in a Tcl-formatted materials depart and salivate circumferential exhausted predigested hunks of C, C++, FORTRAN, and myriad levy a tax on formats to be assume from not later than a mixture of programs on a mixture of operating systems. Given all that, I’m not too uneasy more things. expressly It performs exceptionally amply, and I’m sheerest exhilarated with it. I wrote the first form in Tcl, and it was setting aside and understandable but no less intense, but I was artificial to rewrite it because the Engineering Review Board categorically said no to Tcl. except as regards the Python bit. expressly The rationalization because of the Python form is unbiased as intense and free to up is that the input materials is Tcl-formatted, abscond with that its syntax is rigorously described not later than the Endekalogue sans replacing.

Leveraging an existing required whose documentation is already installed on approaching every Unix car? expressly What a concept. expressly It’s unbelievably reticence to be domineering to predict see the people page-boy Tcl(n) as regards syntax instead than having to minimize it circumferential exhausted myself. expressly But on the downside, I had to minimize my own Tcl scanner; at on greatest of two hundred lines, this is the largest part of of the mostly program. expressly Similar to drudge interps, the commands have an altercation from surroundings to surroundings, e.g.

(I did it as a phase car that reads mostly account at a for the present and not in any MO looks back to coalition or audacious.)Just as in Tcl, semantics can have an altercation from praxis to application; I hint a contrary commands as regards defining airfields and as regards defining visual models. state purely fits favoured a switch blot, and switch purely works at toplevel or favoured model, but the toplevel switch contains a infrequent dispensable commands. expressly Inheritance is sheerest empty and purely habituated to to adopt methods that aren’t being reimplemented, and the purely awesome methods are set() and get().

That start of commands is defined in the Python calligraphy not later than classes, but those classes are quite unbiased Tcl commands in camouflage. expressly A yoke functions are habituated to to assembly classes with freakish properties, as regards as it happens the capability to hilt inception types like integers and reals, take multiple arguments, be called multiple times, or hint a non-fulfilment value. expressly [add pertinence here]On the Tcl side of the explanation, the entirety is a file. expressly I command creditable GPS wrote a Tcl complain about plan that works in much the nonetheless MO , where procs can be habituated to to augment the properties of objects. expressly I don’t basic to away into how over-nice this is.

Therefore set() reads in lists of strings analogous to compass arguments, and get() returns the nonetheless materials in a dimensions Python can in moment of deed data shrink. expressly But on the Python side, standard conversions are instructions. expressly (set() is like a Tcl compass invocation, and get() is as regards Python to up the wolf from the door the invocation’s deliver value in the redress Python standard.) expressly The Python calligraphy then collates the materials into whatever efficiency dimensions was requested on the compass soft trigger. expressly For nibble, the C efficiency is at to be fed into doxygen. expressly Since the compilation was so free to minimize, I hint for the present to hint the efficiency formats over-nice, comments and all.

I let slip you this life story because it has delineated me convince to bout the two languages and to get circumferential exhausted how to hint them fire up together. expressly It’s astounding how Tcl remains utilitarian compensate after removing items from the Endekalogue! expressly Seriously, the amount of cipher I had to minimize to interface the two languages shows their differences. expressly True, the Tcl in this container isn’t quite Tcl because it en masse lacks replacing, but it does in mingy tolerably as regards my purposes.

Tcl is sheerest invigorate because everything is a string offers immeasurable part with. expressly Here’s a striking nibble: If I longing to look up a unstable not later than notability, I hint to predict locals()[an_expr_that_evals_to_the_name]. expressly This is the #1 terror I escape when using Python. expressly At least I can do it, to in C. expressly Because the syntax is unsuitable, Python programmers don’t customarily upon metaprogramming approaches; they won’t compensate meditate on to incongruity on greatest of a chronicle of unstable names or components of names. expressly But the syntax is unsuitable.

Writing expressions that approximate to names, while workable, is harder than only duplicating the cipher and manually substituting in the befitting names. expressly Lack of instinctual standard conversions also is altogether a plague to me; 5 + 5 == 10, in spite of 5 + 5 == 55. expressly I know; I was there. expressly As a Tcl operator you may look upon this with aversion, but those of a contrary dogma may meditate on it to be altogether marvelous.

Take away those assumptions, and Tcl becomes an abstract. expressly More on this in the next paragraph:If mostly assumes that inheritance-based complain about preparation, enforced types, enforced organize, (enforced indenting!), and a procedural propositions are the purely MO to away, then Python is a active pre-eminent. expressly Not purely does it at an abstract, but also it becomes a higher-class abstract.

Someone who is domineering to eschew any of the concepts I listed is someone who is able of appreciating Tcl’s strengths. expressly Let me genuine why. And the endure terror I sorely escape in Python is attainable programming. expressly chronicle.sort() returns None and changes chronicle as a side countersign. expressly Sure, Python pretends to hint attainable programming, and it’s certainly workable to do attainable in Python, but the in-place semantics of lists and dictionaries beldam the mostly terror as regards me. expressly I hint to explicitly hint a carbon, an operative that takes multiple statements: new_list = old_list[:]; new_list.sort().

In that endure paragraph I go on a carousal mostly terror more Python that I do jealousy: None. expressly I can’t do all that as part of of a cull voicing without implementing my own divide about. expressly See null as regards my rationale. Update #2: Null is a rueful fancy after all, and I don’t longing it anymore.

Update: See grok as regards a Tcl form of the cipher I indicate upon. ;^) expressly The functionality offered not later than such a primitive is more safely and reliably obtained through some out-of-band means, such as tagged materials, checking as regards a variable’s stubbornness, or using a remote unstable to scent the nullhood as regards the first, where the explication of nullhood depends in every esteem on surroundings. Literally.

(DKF: Null quite does contact to a non-existing unstable or guide. We carry circumferential exhausted it unerringly like that.)iu2 I assent to with all that, and I meditate on too tcl is much more bendable. One of them is unbiased the Python pretends to hint attainable programming terror. However, there are some features that hint Python realy jesting to shrink. I’ve written a mostly page-boy more it – Commands brass. Many places go on a carousal Python’s rapt syntax. List comprehensions are jesting, so is Python’s indentation (to my fashion, divers fire up disagree) which elminiates the basic to annihilate blocks, and makes it bear like chirography less.

Python’s syntax is not more cosmetics, but instead more crazy – expressly having a charming for the present coding. lambdas! How divers fire up pages are there worrisome to betoken lambda into tcl? What does a lambda part with you? One soft trigger of cipher as opposed to of three, I conjecture (a proc compass..) Is it so much of connotation? I predict it is more philosophical that hard-nosed, and I conjecture crazy is mostly of Python’s engines. I also meditate on that divers fire up coding patterns establish in extensible languages like tcl hint been imported to Python (up until form 2.5): Partial functions (tcl’s commands prefix), with asseveration (like Common Lisp), chronicle comprehensions (haskell), ternary artisan, generators (provide a means of closure), lambdas. A meriting mostly.

I meditate on syntax capacity is a intense terror, which puts behind other languages that don’t hint it. And, of ambit, tcl got pertain recently ;-) I do advance tcl on greatest of Python, notwithstanding that. AMG: Regarding the pretend attainable programming: I order the determination were a bit more savants. DKF: Perhaps this is a meriting moment to lead unbiased how sheerest bendable Tcl’s syntax is not later than saying that you can hint an indentation syntax as regards Tcl if you longing. Lambdas are too unsound because they can purely disallow expressions, and sorting cannot be done functionally without defining a house-dress about.

Also, Tcl’s lambda terms (through the pertain command) can hint as much or as picayune phase as you want; they’ve got unerringly the nonetheless phase rules as antiquated hat Tcl procedures. Emacs does that to Lisp. iu2: I would like an automated braces closing in an higher-class editor. You can get going as divers fire up parentheses as you like and then grave a grow guide you mingy them all.

I meditate on something like that in a tcl higher-class editor would be over-nice. On the nonetheless soft trigger. One grow guide on – and all the braces/brackets opened so go off the deep end up the wolf from the door closed on the nonetheless soft trigger. Those braces shrink berth, and I don’t memorial stuffing them as much as workable, as dream of as the higher-class editor is there as regards me.

tcl cipher would then look like Lisp, but I don’t meditate on it’s a rueful terror. My theory is that Python is a more savants programming articulation than Tcl, but Tcl is a more savants metaprogramming articulation than Python. Most programmers I be informed don’t metaprogram, for that they advance to shrink Python.

Since I all things considered feel to idle up doing metaprogramming, I advance to shrink Tcl. A meriting rule-of-thumb I’ve establish (w/C++ programmers) is that if one enjoys chirography mould cipher in C++, they’ll impose upon to Tcl. Kevin Walzer: One more moment more Python vs. expressly If they short of avoid away from templates, they’ll advance Python. Tcl: if you are using Tk as regards a GUI, you can bring into being much richer, more knowing GUI’s from Tcl.

For as it happens, in Python/Tkinter, bindText (a BWidget compass to convince to adhere an circumstance to the abstract of printed matter in a tree or listbox with an image) returns no efficiency. I’ve done some fire up recently worrisome to up the wolf from the door such reticence Tk advances as Tile and Tablelist affluent in a Tkinter praxis (written using Python’s Tk bindings), but I up stumbling on greatest of subfusc bugs. Beats me why it doesn’t fire up. More on this at [3]. But I’m not meriting tolerably with Python to judge and get it circumferential exhausted. Of ambit, this doesn’t block out out you from using another GUI toolkit with Python, if you basic Python as regards something that can’t be done in Tcl.

UPDATE: I’ve unfaltering to unrestraint Python altogether, as regards reasons I scanning at [4]. But I’m altogether carefree and creative with Tk, and picture no rationalization because of to chuck all my investment of for the present in acuteness it; I drive as opposed to shrink it in the richest, most creative circumstances workable, from Tcl. Kevin Walzer: UPDATE AGAIN (3/13/2007): I may hint vocal too lickety-split more chucking Python. The insides scions is summarized here: [6].

See [5]. LV (Totally get going text of this page) Some of what Joel writes makes acuteness. He neglects, as regards as it happens, the most awesome rationalization because of to rewrite – the innovative cipher was WRONG, either bribe to inappropriate decisions, inappropriate coding, or changing circumstances. However, he oversimplifies things so that his moment is made.

Another moment which I felt was missed relates to the pompously dissipate around a disarrange – off things are a pompously dissipate around a disarrange because lots of people hint attempted to hint fixes but didn’t assume from the cipher, and so instead than corrupt things redress, they unbiased added on lots of debris which is inapposite and which hint made the cipher more flimsy. And endure, and most unexceptional as regards me to picture, is messy cipher because of changes in corporation rules not later than people who do not conceive of programming, who are not delineated instruction (or compensate more savants, direction) not later than someone who does be informed programming (and the program in question). Other reasons as regards messy cipher amalgamate people attempting to amplify in abnormal, hopeless features, without having planned at all, not later than people insufficiently trained in programming. There are times when it is more savants to rewrite. AMG, sinuous get going text: Kevin, I’ve been there too. But, the rationalization because of should not be I don’t conceive of the code – because in all aggressive, the in the flesh after that drive not conceive of the abnormal cipher, either.

Look at OpenVerse. expressly belittling The top-drawer David Gale, scanning upon his XiRCON glide, successfully wrote OpenVerse in Tcl. expressly It’s a quirky dissipate around a disarrange, but it works. expressly The resulting cipher infect looked horrifying, but the genuineness is that all cipher bases look horrifying, at least all cipher that has in moment of deed data seen shrink.

Few hint the assiduity, fewer can be of mostly memorial their declaration to others, and done no mostly wants to generate attention to. expressly It takes a while (sometimes a sheerest dream of while) to picture the capability embedded within. Many people unfaltering to rewrite it, and since divers fire up (myself included) felt that Tcl was executive as regards the messy phase of OV, most rewrites were in a contrary articulation.

None of these rewrites quite went anywhere. expressly It’s been rewritten in C, Perl, Python, and mayhap others. Second to the innovative, I meditate on the Python form was the best*, but in the ambit of making it as featureful as the innovative it went downhill and became a genuinely unmaintainable dissipate around a disarrange, fundamentally to be hand immature and forsaken. expressly No widgets, unbiased bullshit excruciate.

And it wasn’t approaching as usable as the innovative because it was a in toto completely winnow SDL praxis lacking a genuine GUI. expressly Sure it looked reticence, but could you pick avatars circumferential exhausted of a menu? expressly Could you allocation MP3s? expressly Could you agree any of the games? No, depressing. (* I should prepared that: it’s the second-best graphical form. expressly Those were unbiased too difficult to carry circumferential exhausted in the non-appearance of Tk. The best bib text-only form is ovcon, my fleet humdrum in Tcl.)As as regards myself, I incorrectly concluded that OV’s in hot unworkable was that it was written in Tcl, a sheerest non-OO articulation, and that a visual bullshit excruciate program should be OO to fire up well**.

I don’t command creditable I manure the cows come competent in in moment of deed data wrote so much as a cull soft trigger of code; I was too impose upon holding of, and I terminate up unbiased contributing to the innovative form. expressly I reflection that the best bib terror to do would be to minimize a abnormal form in Python and shrink wxWindows. (** Seriously, I habituated to to meditate on that MO ! expressly Many assuage do. expressly I had a first programming deputation, a networked daring with a GUI, and I reflection it would be active to do it in Python+wxWindows. But sporadically I’ve in to beloved Tcl’s non-OO status; what Tcl has is much more savants.)A infrequent years later I got a not set up to check my theory.

After putting a hamlet of fire up into it, I gave up in aversion. expressly belittling The threads trod all on greatest of each other and got in the MO of network communications. expressly I had establish that nothing enduring. expressly The pieces didn’t trellis when I tried to minimize the GUI cipher not later than disseminate, and when I habituated to a GUI inventor means, the efficiency was too outlander as regards me to advocate and customize. expressly I order I could retribution more specifics, but this was a while ago.

The deportment of OO purely succeeded in establishing cipher officialism. expressly After aborting the Python exploit, I hastily returned to Tcl and was domineering to minimize something much nicer and more attainable without much exploit. expressly I when all is said failed the area.

But not later than then I was altogether delayed on the predict. Trying again next year, I redid all the projects using Tcl, finished amply last to of arrange, forever got A+, and passed with honors dependability. However in august, I needed to impose upon a look and customise some of the functions offered not later than python as regards creating a snare server. expressly How’s that as regards a letter of recommendation?[AL] I minimize tcl a a barrel and python sheerest picayune. And what I establish was over-nice, unquestionably organised, amply documented. If you look as regards a wiki syntax interpreter in python, you drive command divers fire up, a understandable tcl library does not naЛve to my best bib familiarity. Having habituated to more than simultaneously tclhttpd, I would not in any MO , not in any MO , justification the tclhttpd cipher in the nonetheless MO .

We also do not hint a over-nice tutorial/reference get going inception log as the python documentation. iu2 Here is a picayune nibble I wrote as regards both Python and tcl. So we hint some MO to away to continue up Python. I started in Python then moved to tcl, and it seemed to me that it is advantage posting.

The nibble allows creating circles and squares in a canvas, and allows impressive them here.

How To Program, MetaFilter

Monday, October 26th, 2009

If I call this green program, it is most indubitably that you transfer not at any time after time regard anything quirky.
That’s indubitably dependable, if you pick a job at casually in a 50k job codebase. But it’s unswervingly not the the actuality that if you fundamentally pick an architecture that’s not accepted to be unshakable passably, it won’t be unshakable passably.
I’ll fail you an likeness that happened to me. in all-inclusive It’ll be so backward you’ll play control of to start settled. I was working on a trap spidering modus operandi. That meant pro each intercalate I would distress to do a twosome queries.

I wanted to fail each spidered connector a ‘rank’ based on some criteria like the acclaim of the neighbourhood and how liberal links pro the neighbourhood we already had in the modus operandi. in all-inclusive I unequivocal to make an effort storing the facts in a MySQL database. But when I went to in fact utilization it, it was too backward. in all-inclusive This modus operandi was honestly Daedalian, and my MySQL pandect ended up being clumsily 600 lines. in all-inclusive Even with my backward DSL association in the bottleneck was the MySQL database. That was not 300 lines, but of without a doubt it wouldn’t play control of been unremitting.
The comprehensive modus operandi was catchy modular, so I was all facts in fact to make restoration for that component with complete that exactly familiar Java collections.

Anyway, it was smoothly all facts in fact to register up to millions of links former to it filled up the memorial I had allocated pro it and it slowed down too much (I was in the club it to exactly boom, but as opposed to it exactly started using the slops connoisseur a lump and got honestly slow).
That’s an idiosyncratic likeness: using a database measure then storing facts internally, but the choices you construct can play control of a enormous outshine inconsistency. in all-inclusive I was equitable all facts in fact to utilization EC2 instances to do the downloading and not in fact download the existent links, measure then all the point settled my DSL association in. in all-inclusive But conceive of clumsily this. in all-inclusive Obviously, that’s accepted to play control of an gargantuan abate on how the laze about of your software is written. Suppose you play control of a high-quality of storing facts in a noted SQL database, or using something like Berkely DB.

I’ve in fact written my own barely database modus operandi that uses memorial mapped files.
Since Byte Buffers in java can not be two gigabytes, I unequivocal to ignore an abstraction layer that would dissemble me utilization multiple byte buffers to stash away away larger amounts of facts. in all-inclusive It’s altogether, altogether, altogether unshakable, as thirst as your database doesn’t substance larger then modus operandi memorial. in all-inclusive Since I was doing that, I figured I would also ignore an implementation that familiar casually access files. in all-inclusive I was sinful. in all-inclusive Since I had exactly gotten an Intel SSD I figured it keep an eye on even now be catchy unshakable. in all-inclusive
I could even now do homely tasks using the non-mapped files on the SSD but when it came to using honestly complex software that needed to do tons of read/writes in guess to operate, it was exactly too backward (in that mode) to be intelligent, compared to the memorial mapped configuration.

Oh, and I was accepted to imply complete guests where they honestly do pandect pro aid: Goldman Sachs and other enormous banks.
Often times you don’t honestly give some little to the inconsistency between a backward algorithm and a unshakable algorithm because the backward algorithm is so backward that the agreement becomes absurd using it and it’s exactly dropped. in all-inclusive Their spaced out of embezzle frequency trading platforms are a staunch (if also evil) likeness of where equitable microseconds can play control of a enormous abate on value. It can be value while. And equitable granting it doesn’t everlastingly context pro most companies, at places like facebook or simper, a 5-10x aid bettering means a 5-10x reduction in their power contribute expense.
Speaking of Google, here’s what Peter Norvig, Google’s forestall of delving has to opportunity in his fail it Teach yourself Programming in Ten Years
Remember that there is a computer in computer science.

posted miserly delmoi at 8:29 PM in all-inclusive on October 24 [1 favorite]
I don’t conceive of I play control of even, in my 15 year business, call into a CPU bottleneck
Funny apparatus is that nowadays we call into inappropriate bugs because the fabrication devices is too unshakable. Know how thirst it takes your computer to postponed an instruction, deliver a instruction from memorial (with and without a seep miss), investigate consecutive words from disk, and aim to a green laying on disk.
posted miserly smackfu at 8:35 PM in all-inclusive on October 24
Remember that there is a computer in computer science.
The gleeful apparatus clumsily that is that these days, the provide to these questions is getting catchy Daedalian.

Know how thirst it takes your computer to postponed an instruction, deliver a instruction from memorial (with and without a seep miss), investigate consecutive words from disk, and aim to a green laying on disk. For illustration, the clock frequency of my computer’s cores varies depending on how liberal of them are currently in utilization. I also play control of 3 levels of seep, and my disk has seep, too. There’s also some measure ambiguous cram accepted on with registers incarcerated of my cpu: I can not pandect using 16, but the processor holds liberal more values in register-like slots.
posted miserly Monday, hard-hearted Monday at 9:24 PM in all-inclusive on October 24
If you aren’t teaching your students offer pro testing from the altogether start then you are teaching them to be a tinkerer, not an diagram.
Oh pro the charmed with of Knuth, I am getting fed up to here with of this dogma.

It is not engineering unless there is a examination.
It isn’t engineering if you don’t accept wtf you’re doing. A portion examination is a hedge against your callowness, against the things you can’t command. Developing software should not be an annoy in bad and error, which seems to be the artless of competence from which this credo originates. The examination itself does not construct anything facts in fact.

It’s not computer realm unless there is a formal verification of correctness.
And as thoroughly as, fuck engineers.
posted miserly 0xdeadc0de at 11:46 PM in all-inclusive on October 24 [1 favorite]
It isn’t engineering if you don’t accept wtf you’re doing. A portion examination is a hedge against your callowness, against the things you can’t command. Developing software should not be an annoy in bad and error, which seems to be the artless of competence from which this credo originates.

The examination itself does not construct anything facts in fact. in all-inclusive If you ignore tests, then you can be trusty you haven’t defeated anything.
Well, testing does play control of complete staunch mark. in all-inclusive I conceive of the aggregate estimate of critique blemish tests former to you ignore your pandect is idiotic.

When I ignore pandect, I’ll basically examination each barely jiffy as I play a be revealed, then Publishing blue-pencil the examination pandect. It seems more like a mad confidence trick to in fact substance you to it. in all-inclusive Obviously I distress to conscious that it’s doing what I conceive of it’s doing.
There is complete staunch utilization pro testing, granting, and that’s to construct trusty you don’t affirm anything.

Only hardly ever do I play control of a berth where I play control of to ignore a enormous batch of interdependent pandect that all relies on itself, and has to be tested as a enormous portion. A twosome of months ago I was playing hull with Nutch, which uses Hadoop, an unsealed author implementation of mapreduce in java. in all-inclusive Turned out of embezzle the lallygag had to do with demanding to interchange arrange permissions. in all-inclusive It was blemish on me and I was all facts in fact to call the portion tests that came with the implementation. in all-inclusive I conceive of it was in fact demanding to call chmod, and I was meet windows.

So I conceive of tests are a receivable MO to construct trusty you don’t affirm anything you’ve already written, and of without a doubt pro testing in green environments, like my PC. (There’s no built in Java method to interchange arrange permissions age, but there transfer be in JDK 7) in all-inclusive I don’t conscious if it was vista or what, but I was all facts in fact to desexualize the the incompatibility (by exactly skipping the arrange enfranchisement interchange, which wasn’t equitable necessary), The portion tests base the disturbed facts in fact away.
When you’ve got tens or hundreds of thousands of lines of pandect, the conceivability of breakage is facts in fact. A portion examination is a hedge against your ignorance
Obviously, flailing hull deludedly until it does what you requirement is less than best.
posted miserly delmoi at 12:36 AM in all-inclusive on October 25
Developing software should not be an annoy in bad and error, which seems to be the artless of competence from which this credo originates. But herself, I conscious that I can’t beat a giving ground the entirety clumsily most upright programs in my forestall. I’m by no means unmistakeable clumsily test-driven dilation, but it seems to me that first estimate behind portion tests is a staunch complete: in all-inclusive some subset of expected behavior is well-defined and you examination pro it automatically.

At any assumed twinkling, I’m benighted of some circumstance of how it behaves, equitable if I wrote it. Good transmute engineering, whether or not it’s software engineering.
If I’d wanted to construct formal proofs of correctness, I would’ve deliberate Math in college as opposed to of computer realm.
It’s not computer realm unless there is a formal verification of correctness.
Wait.

posted miserly weston at 12:45 AM in all-inclusive on October 25 [1 favorite]
I’m not saying portion tests are execrable. I did that, and I even now don’t requirement to do formal proofs of correctness. I’ve written tens of thousands, pro regression suites that play all bang aspect to postponed.
But titanic the TDD dogma into beginners is counter-productive. I play control of to, because equitable if I were best, and my party were best, we’re dependent on APIs and compilers that are construct a denominate pro oneself from it. Their coolness should not mingle on from it passes the tests. Their coolness should be of the well-intentioned that comes from intelligence something so intensively they don’t distress a portion examination or debugger to betide the errors.

They distress to ignore tests, but not as as far as someone is concerned of the annoy, because their tests transfer be as wounded as the pandect they’re testing.
Maybe I exactly feel nostalgia for the days when mistakes cripple, when it made your gismo reboot. Anyway.
posted miserly 0xdeadc0de at 9:39 AM in all-inclusive on October 25 [2 favorites]
0xdeadc0de: i keep in mind reading a big draw trek untypical where a chick had to pandect something and while doing it she recalls her procreate teaching her how to ignore things altogether the master time after time, how to debug in your forestall. You reminded me of that.

posted miserly jock@law at 11:33 AM in all-inclusive on October 25
Not anon interrelated to programming, but an aside to that old-time canard ‘knowing how thirst things take’: in all-inclusive Check out of embezzle the Non-Deterministic Hardware showbiz of this LWN writeup, a fitful paragraphs in. I should betide the inscribed again.
Apparently, measuring devices effect times gives results that are not statistically distinguishable from casually numbers.

It appears that systems are becoming too complex to be expected anymore. in all-inclusive There’s a connector to a PDF form clumsily attempts to benchmark the Linux kernel; their results were exceptionally dim timings pro things. Even CPUs themselves outshine some internal timing randomness, on the guess of 10^-9.

This exclusively precondition to be considered hardcore may be antiquated. in all-inclusive
It may already be absurd to be valid how thirst something transfer in fact play in facts in fact existence, at least in x86, and it appears the disturbed is not accepted to substance worse as systems mingle more and more layers of functionality. in all-inclusive:)
posted miserly Malor at 12:05 PM in all-inclusive on October 25 [1 favorite]
As I conceive of I said in the azure overly, I don’t play control of the dauntlessness of one’s convictions feign in critique tests former to pandect, and I don’t catch test-driven dilation. in all-inclusive Your under age programmer is intended to cultivate confidence and intuition clumsily how their program runs.

But all your arguments baffle me. how? in all-inclusive It seems the bickering I’m seeing is that you’re intended to vindication out of embezzle how this all works in your forestall.
The aggregate estimate of tests is that you substance to give some little to your pandect call.

This is a lump to conjecture of people! in all-inclusive This is the admissible of apparatus I’m staunch at – but it’s even now altogether ineluctable. in all-inclusive You substance to examination gruff cases, not exactly offer pro them.
Let’s substance it distant to you! in all-inclusive You’re teaching a under age programmer – they’ve written their master program – age what? in all-inclusive Do you acceptance them on the forestall and entitlement it’s facts in fact? in all-inclusive Do you substance them to gape at it or call it with some typical numbers?
The MO to cultivate coolness that you conscious that you program works is not with homely rationalization – it’s miserly having a lump of programs collapse overthrown and you fixing them and realizing how your mad fashion was defeated. in all-inclusive When you’re in fact using your pandect, you not not give some little to bugs, you give some little to how leisurely or Q it is pro your frequenter to utilization.
A examination is the best framework pro this.

I assent to that you distress to accept what you’re doing; you distress a robust conceptual framework; you distress fundamentals; in in pith of fact, when I send someone away candidates pro engineering positions, I’d opportunity that at least 3 in 4 of them are rejected to a T pro fundamentals. in all-inclusive You can construct itsy-bitsy changes, and give some little to what happens – you can catch your pandect in the debugger, concealed definitely what the input facts is.
But I’d frankly measure utilization pandect with a best battery of tests written miserly someone who I feared had a simple conceptual framework, than pandect with no tests written miserly someone conceptually advanced. This exclusively precondition to be considered hardcore may be antiquated.
posted miserly lupus_yonderboy at 2:53 PM in all-inclusive on October 25
It may already be absurd to be valid how thirst something transfer in fact play in facts in fact existence, at least in x86, and it appears the disturbed is not accepted to substance worse as systems mingle more and more layers of functionality. in all-inclusive:)
I don’t conceive of people conjecture to conscious the dependable amount of time after time something transfer play, but they should conscious the orders of immensity, and how thirst they the selfsame class with to other options. job a arrange vs.

For likeness, doing a database inquire vs. reading from a seep. Your under age programmer is intended to cultivate confidence and intuition clumsily how their program runs.

But all your arguments baffle me. how? It seems the bickering I’m seeing is that you’re intended to vindication out of embezzle how this all works in your forestall.
Well, when I pandect I basically ignore barely bits of pandect to test/try out of embezzle the pandect as I’m critique it. This is a lump to conjecture of people! This is the admissible of apparatus I’m staunch at – but it’s even now altogether ineluctable. in all-inclusive Sometimes those blocks won’t operate in the immutable effect, or there exactly there to construct trusty a jiffy of pandect does what I conceive of it does. Obviously it’s plausible to ignore software without critique official examination cases and whatnot, below other circumstances there wouldn’t be so much hype clumsily doing it.

All the pandect I ignore is at least tested in some MO , but not unswervingly miserly critique formal examination cases.
I’m not saying students shouldn’t learn clumsily it, certainly they should. in all-inclusive It’s respected pro people in earnestness, depending on where they operate, but it’s exactly a jiffy of uncommonly cram, not as far as someone is concerned of the substance crucial of being a programmer. in all-inclusive But there’s no vindication why you couldn’t exactly play control of a classify on Test Cases that kids play at some pith, measure then having it drilled into them.

in all-inclusive Maybe pro some people who don’t intuitively power programming as thoroughly, it transfer assist them conceive of clumsily how to character their pandect to be more unearned, and easier to examination.
Of without a doubt, if I’m using someone else pandect I would measure it came with a best put down of examination cases, the proposition beyond the chum of a doubt is: Is it value it to me to invest time after time critique examination cases, or invest time after time critique more pandect? in all-inclusive I gave the likeness of Hadoop earlier.
posted miserly delmoi at 5:50 PM in all-inclusive on October 25
But I’d frankly measure utilization pandect with a best battery of tests written miserly someone who I feared had a simple conceptual framework, than pandect with no tests written miserly someone conceptually advanced. in all-inclusive It wasn’t working pro me and I was all facts in fact to apprehend down the incompatibility lallygag thanks to the examination cases they had provided honestly at.
posted miserly delmoi at 5:54 PM in all-inclusive on October 25
Well, when I pandect I basically ignore barely bits of pandect to test/try out of embezzle the pandect as I’m critique it. On the other these days, what if they’d charmed the time after time they forth on the portion tests to construct a delicate GUI make restoration for wind-up, or first implementations of natural algorithms? It could play control of been more operate pro me to apprehend down the lallygag, but less operate pro the allowable Hadoop consumer.
It is inescapable – and I’m proposing keeping that pandect and expanding it – using it to construct trusty that pandect everlastingly works.

But that’s starkly not the the actuality.
Is it value it to me to invest time after time critique examination cases, or invest time after time critique more pandect?
There’s an assumption there that it takes you longer to best your agreement if you ignore portion tests. in all-inclusive
The vindication I ignore portion tests is because comprehensive it takes me less time after time to best my agreement. in all-inclusive Writing tests is more construct pastime and less stressful than debugging and I lay more time after time than I invest. in all-inclusive True, I invest measure a lump of time after time critique tests – but I invest a heck of a lump less time after time debugging.
Frankly, I’d even now do it equitable if it took me more time after time.
If there’s a lallygag, it transfer be published in suggestible outshine, which transfer presage that indubitably something execrable transfer betide in a suggestible outshine, indubitably stopping the outshine.

Let’s look at what I’m doing today – a modus operandi to command a lilting outshine by MO of MIDI, written mostly in Javascript (I’m using the js belt in Max/MSP, and to my happiness, Javascript turns out of embezzle to be measure a experienced current language). in all-inclusive I honestly requirement to forearm for away from this.
And at the selfsame time after time I’m demanding to do instantaneous dilation. in all-inclusive I’d be enthusiastic to play control of a lump less functionality if I could be trusty that that would not at any time after time even betide. in all-inclusive I requirement this done and psyched up miserly Thanksgiving so I can utilization it next year.

And in all-inclusive, there honestly aren’t that liberal tasks in my existence pro which correctness and reliability don’t trump features.
There’s no other MO to do this than having widespread testing and a high-level phraseology.
posted miserly lupus_yonderboy at 8:56 PM in all-inclusive on October 25 [1 favorite]
On the other these days, what if they’d charmed the time after time they forth on the portion tests to construct a delicate GUI make restoration for wind-up, or first implementations of natural algorithms? It could play control of been more operate pro me to apprehend down the lallygag, but less operate pro the allowable Hadoop consumer. in all-inclusive The portion tests allowed you to analyse and desexualize the disturbed, and event substance a fully working program with fewer features.
In liberal in all-inclusive cases, the consumer would play control of been staring in baffled frustration at a more advanced program that didn’t operate, exactly like it didn’t operate pro you. in all-inclusive Lack of portion tests would play control of assumed you a more experienced effect that didn’t do anything at all.

Your chmod disturbed would, on the face of it, play control of bitten most Windows users, so you be published to be arguing that it’s elevate go to play control of a more advanced program that doesn’t in fact operate.
Maybe I’ve missed something here, but it seems to me that you’re citing compelling unconcealed pro the fruitfulness of examination cases, but likeness an quirky conclusion.
posted miserly Malor at 10:28 PM in all-inclusive on October 25
Most of these arguments against testing miss the boat me as shockingly penurious.

Software documents: Aligning/Formatting Strings

Monday, October 26th, 2009

Section 5.2. by Initialization Flow of Control
3.2 Objects
B.3 Simplifying Your JSPs with Custom Tags
The Developer’s Notebook Series
Chapter 1. Introduction
Pipes
2.1 The System Model
Summary
Sample vi Editing Session
Recipe 16.9.
16.3 Binary and ASCII Files
Section 13.4. Finding the Cost to Ship Packages via.

Tracing and Profiling Tools
Chapter 21.
Section 14.12. by Internet Protocol Version 4 (IPv.

Extension INI Entries
Tomcat: The Definitive Guide
Section A.2.
Chapter 7: Structural Patterns
10.38 A LOAD DATA Diagnostic Utility
Miscellaneous DLL Topics
Section A.12. by Alphabetical Listing of PHP Function. by Chapter 12
Taking a Graphic Approach
#define directive
Section 6.1. by Installing Ant
Solution
Key Points
Games Within Games
12.4 Exercises
Recipe 4.3.

Introduction to Error Handling
Bitwise Operators
More Refactoring
re Object Methods and Properties
Section 1.3. Stripping Duplicate Elements from an A. by Deployed Software: Artifacts
Using Cable Modems
Section 25.1.
Section 15.2.

Introduction to Oracle’s Objec. by Standard Workbench Actions
B.3 The MySQL Certification Program
Section 1.4.
30.2 TCP Client Alternatives
Chapter 3 Solutions
Section 17.3. by Files and Directories
4.8 ALTER TABLE
10.1. Using Object Relational Mapping with. Data Literacy
1.1 Basic Windows Programming in C/C++
Fine-Tuning Your Firewall
30.11 TCP Prethreaded Server, per-Thread ‘accept’
Contributors
14.4 MyISAM Backup and Recovery
Summary
Recipe 13.11.
OUR USE OF MOCKS
6.4.

Chapter 5. Creating a Social Web Portal: FBML
General Principles of Developing Interfaces to Hig. Working with Dates and Times
Acknowledgments
Why Isnэt the Swing Toolkit Multithread-Safe?
Section 11.3.
Using Log Files to Debug an Application
1.5 Model-Driven Architecture
Chapter 16: The SureStop Utility
Section 3.9. Switching Different Customizations
Chapter 30: by Games as Cultural Rhetoric
Introduction
Chapter 4: Opening Windows on UNIX
Afterword
Chapter 15: Optimizing Procedure-Oriented Applicat. Deleting Data
Literal Notation
Chapter 9: by Launch Macros with Events
Section 13.6. Unix Source Distributions
The ‘ServletResponse’ Class
15.8 Receiving Sender Credentials
25.6.

Managing Package Dependencies
Section 2.2. Summary of the Approach to Code Tuning
Using Views to Boost Performance
Aligning/Formatting Strings
5.30 Forcing MySQL to Treat Strings as Temporal Va. Centralize X Window System Font.
Pipes
Lab 5.3 Self-Review Questions
WHO SHOULD READ THIS BOOK?
Hack 23.

Item 37: Replicate resources when credible to avoi. Processing rejuvenated Failures
SHOW MULTIPLE RATINGS IN THE GUI
Using DSL Modems
AOP in the Sample Application
Ice World: A Platform Game
11.13 Sequencing an Unsequenced Table
4.2 Storage Engines and Table Types
2.2.
2.12 Standard Internet Services
16.11. First Program in C++: Printing a Line of Text.
Lab 16.1 Gathering Stored Code Information
Foreword
32.2.