Re: Do Debug Apps Expire on iOS?
Debug it some other way than with Xcode. Possibly you have a serious bug, but running under the debugger alters something so that the bug isn't stimulated. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Prioritize my own app's disk access
If it's a dedicated workstation, it should be OK to require a RAID 0. That won't affect anyone's priority, but all disk I/O will be divided among two or more disks. Alternatively, dedicate a single drive only to video, with your other drive being for everything else. Michael David Crawford, Baritone mdcrawf...@gmail.com One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Tue, Jul 5, 2016 at 10:20 AM, Quincey Morris wrote: > On Jul 5, 2016, at 05:36 , Jonathan Taylor > wrote: >> >> suggestions that might be relevant here > > What worries me about the Darwin-level (i.e. Unix-level) API suggestions that > others have made is that you don’t know how these interact with Cocoa apps. > You didn’t actually say whether your app is a Cocoa app, but if so … > > I think the best modern approach is to route your CPU and IO usage via GCD. > That is, from the point where some callback gives you raw video, use > dispatch_async to schedule the processing on a GCD queue, and use the GCD I/O > primitives to actually do the I/O. > > That will allow you to specify a quality of service (“user interactive” is > the highest), which should interact properly with other apps, e.g. the Finder > doing a large copy. > > That should take care of CPU and IO. For memory, I agree with Jens that you > should preallocate and reuse memory buffers, rather than re-allocating them, > as far as possible. > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Simplest way to generate audio tones?
I wrote BirthCry.cpp when I was just getting started on Ogg Frog. It's still not released but one of my beta testers released it for me at Github after I specifically asked him not to. Next time I'll request an NDA. This sends 441 kHz PCM directly to the audio card. It doesn't use QuickTime in any way. You don't want to block on a mutex when you do that and run out of samples; send it silence instead. I did it that way at first but it scared both my dogs and very nearly set my MacBook Pro on fire! https://github.com/rushgorden/oggfrog/blob/master/Source/OggFrog_10-Dec-2006/oggfrog/BirthCry.cpp Michael David Crawford, Baritone mdcrawf...@gmail.com One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Sun, May 29, 2016 at 10:10 AM, Jens Alfke wrote: > >> On May 28, 2016, at 8:24 PM, Graham Cox wrote: >> >> I’m looking for general pointers to the simplest/quickest way to generate an >> audio tone (sine wave) of a given frequency and duration. Most of the audio >> APIs seem concerned with playing samples rather than generating tones, so >> it’s not immediately obvious where to look. > > It’s easy to generate a sample buffer of a sine wave. Allocate an array of > uint16_t, and fill in each sample by scaling such that -1 ⟶ 0 and 1 ⟶ 255. > Then tell whatever API you’re using that it’s a 1-channel 16-bit PCM buffer. > Choose whatever sample rate you want to make it come out the right frequency; > it’ll do the interpolation for you. > > —Jens > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Apple Bug no response
I have a bug in Apple's sample code that would be a trivial fix, that has been open for eight years. By contrast I've reported a few kernel bugs. Each was fixed in the very next build. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: [OT] Forums for Web Development?
Soylent News, http://soylentnews.org/ Submit an "Ask Soylent News" story. If you ask your questions intelligently they'll run your story. Many Soylentils are web app coders. Michael David Crawford, Baritone mdcrawf...@gmail.com One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Mon, Feb 15, 2016 at 3:57 PM, David Delmonte wrote: > Have you tried StackOverflow? They have sister (brother?) forums, including > one for web masters. I think SO would be a good place to scout around.. The > second for me is YouTube/Vimeo. If you don’t minding learning from teenagers, > it can be quite helpful. > > David > > On Feb 15, 2016, at 6:43 PM, John Bartleson wrote: > > After getting many great tips from this list over the years, I find myself > needing to switch gears and do some web development. I'm starting on a > server-based app that will be the front end to a SQL database that may grow > to be very large. Although it's easy to find info on the basic technologies > to be used in such an app (PHP, Javascript, HTML, SQL, AJAX, etc.), there > seems to be little written about how to front-end a large multi-server > database. > > So I'm looking for a forum where I can ask noob questions about large website > development. Apple (understandably) doesn't appear to have a list for this. > Can anybody here point to info sources such as forums, books, websites, etc.? > TIA > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/ddelmonte%40mac.com > > This email sent to ddelmo...@mac.com > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: mmap quiet failure - all reads are 0x00
Perhaps it is a bug unrelated to mmap, that screws up some of your state, then later it causes the mmap to fail. Or perhaps the mmap succeeds, but the bytes your are reading are coming from some other place. There are many debugging techniques, such as using assertions, guard malloc etc. But don't just focus narrowly on the mmap itself. Michael David Crawford, Baritone mdcrawf...@gmail.com One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Fri, Feb 5, 2016 at 4:36 PM, Jens Alfke wrote: > >> On Feb 5, 2016, at 10:09 AM, Trygve Inda wrote: >> >> It seems like no matter what is in the mmap file, when I read from it I get >> 0x00 for every byte and no error or exception is generated. I can't >> reproduce it as it is very random. Quitting and relaunching solves it. > > That sounds strange to me. I’m not an expert at mmap, but my understanding is > that if a page fault can’t be satisfied the memory access will fail with a > signal. You might ask on the darwin-userlevel list since this is really a > Unix-level question. > > —Jens > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: catching statuses of lights
color filters might simplify the problem. Also are the lights in a fixed location? Do you plan to let your iDevice do the driving? ;-D Michael David Crawford, Baritone mdcrawf...@gmail.com One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Fri, Jan 29, 2016 at 5:24 PM, Graham Cox wrote: > >> On 30 Jan 2016, at 9:42 AM, Scott Berry wrote: >> >> Hello there, >> >> I have a project I am working on and I was wondering if anyone has had to >> catch a status of a light or set of lights. For example, green safe, yellow >> caution, red stop. Then I need to relay this to the program I am building >> so that it knows what the lights actually mean. > > > > Presumably the self-driving car folks have solved this one. If not, we’re in > trouble… > > —Graham > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: OpenGL Vertical Syncing effect on run loops
My Warp Life implementation of Conway's Game of Life updates its model - a square grid of bits - up to 8,000 times per second, but invalidates the display with a display link. It works really well and results in a frame rate far faster than the refresh rate but with smooth animation. I was puzzled that my App was getting only one-tenth of the available CPU. This turned out to be due to my early code invalidating the display every generation. I operated the life generation update on a separate thread but invalidated the display on the main - GUI - thread. Ninety percent of my CPU was devoted to back and forth context switches that did no other work of any sort. My current use of the display link resulted in a tenfold increase in performance. Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Tue, Sep 22, 2015 at 7:51 PM, Greg Parker wrote: > >> On Sep 22, 2015, at 6:56 PM, Jerry Krinock wrote: >> >> In Apple document QA1385, in Listing 2, describing how to drive OpenGL >> Rendering Loops 10 years ago, an NSTimer, repeating every 1 millisecond, is >> added to an app’s run loop [1]. > > Just to be clear: don't do that. Use CVDisplayLink. > > >> Referring to this timer, the text says that: >> >> "When vertical synchronization is enabled in your OpenGL application, during >> each retrace period, when the timer fires, …” >> >> H, a timer with time interval of 1 millisecond is now going to fire >> during each retrace period, 16.7 milliseconds or so! This implies that when >> vertical synchronization is enabled in an OpenGL application, the >> application’s run loop, in all modes, is synchronized to the video frame and >> can go no faster. Is this correct? > > It is not. The timer would fire multiple times per retrace if it were > unhindered. But at some point the timer callback will provoke an OpenGL > buffer swap, and that will block until the next retrace when vertical > synchronization is enabled. The gated buffer swap inside the timer callback > is the rate-limiting factor, not anything in the runloop or NSTimer itself. > > > -- > Greg Parker gpar...@apple.com Runtime Wrangler > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: iOS 9 or Watch App
For me, it works OK to put the Xcode app bundles in folders: /Applications/Xcode_5/Xcode.app /Applications/Xcode_6/Xcode.app however you may only have one version of the command line tools installed in /usr/bin and the like. Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Sun, Sep 20, 2015 at 8:35 PM, Quincey Morris wrote: > On Sep 20, 2015, at 11:41 , Raglan T. Tiger wrote: >> >> So, against my better judgement, I updated to Xcode 7. >> >> The installed version is 6.31, there ar no iOS9 or Watch SDKs. > > I don’t know what “6.31” means - maybe you mean 6.3.1? In which case you’re > running Xcode 6, not Xcode 7. > > There’s no “installed” for Xcode any more, in the sense of stuff copied into > a standardized system-wide location. Xcode 6 and Xcode 7 are just two > gigantic app bundles, each of which contains all and only the SDKs that are > allowed for that Xcode version. You can have both available simultaneously. > > So, if you want iOS 9 or watchOS, then you need to launch Xcode 7. If you’re > launching Xcode 6 by mistake, you’re going to have to figure out where it is, > and delete it if you don’t want it anymore. Or launch Xcode 7 by explicitly > double-clicking on its app bundle. > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Is it possible to transfer data by using light
Do iOS devices support Trusted Computing in hardware? If so is it accessible to userspace apps? If so, you could store your phones secret in a write-only register. For the profoundly paranoid, even the duplication of your storage would not yield your phone's secret, The Bad Guy would need your personal phone. Modern Macs - to the best of my knowledge - provide trusted computing chips, on can access them from userspace with a modest bit of code. Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Fri, Sep 18, 2015 at 3:12 AM, Maxthon Chan wrote: > The "over-the-shoulder" issue can be avoided using what is effectively a > Diffie-Hellman on top of QR codes. This can be done using front-facing > cameras on two devices placed face-to-face. > > Sent from my iPhone > >> On Sep 18, 2015, at 00:46, Pascal J. Bourguignon >> wrote: >> >> >> >>> On 17/09/15 17:32, Michael David Crawford wrote: >>> And what the man said: I myself experience seizures in which I lose >>> consciousness for as long as three weeks. Before they were diagnosed >>> I would experience seizures while driving my car then suddenly find >>> myself in unfamiliar places without any clue how I got there. >>> >>> I don't know for sure but strongly suspect that modern computer user >>> interfaces caused my seizure disorder as well as that of my cousin. >>> Seizures are not otherwise found among any of our blood relatives. >> >> But then if you don't use the whole screen, but only the area that >> should be in front of the camera of the superposed phone, then users >> shouldn't be subjected to much stroboscopic light. >> >> Having the objective so close from the light source does not allow >> the camera to distinguish pixels; for example, a black to white >> transition takes about 1/10 of the height of the camera view. >> But this means that you might still able to transmit about ten pixels at >> once, >> and you can multiply that by a number of color that you can detect reliably >> being that out of focus. Basically, I would expect 8 colors to be clearly >> distinguishable. Actually, probably more colors should be distinguishable, >> if you can filter out the interferences due to the grid of the camera vs. >> the grid of the screen. So assume 4 bits for the color, and 9 areas, >> that's 36 bit/moment, and you should be able to do 30 moment/second, >> for a total of 1080 bit/second. A little less for ECC, about 1 KB/s >> is not too bad. It's good enough to transmit a good private key, and then >> transfer the data thru wifi. >> >> >> Of course, if you move the camera out to focus on the screen, then >> you can transmit at a higher speed things like QR codes, but they >> could also be seen over the shoulder by high resolution cameras. >> >> -- >> __Pascal J. Bourguignon__ >> http://www.informatimago.com/ >> >> ___ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info >> >> This email sent to m...@maxchan.info > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Is it possible to transfer data by using light
Flashing the entire screen as I describe should not be done in product (App Store) code, rather one might use it as a very, very rough prototype. I expect production-quality software could modulate the screen is far-more subtle ways that both would transmit data far faster as well as avoid stimulating seizures. For the most part it is sharp, sudden flashes as from the Xeon strobes in emergency responder vehicle lights (ie. Squad Car Lights) that, without a doubt, trigger my own seizures. While I also suspect computer animations, I am as yet uncertain. Analog transmission by displaying shades of grey could transmit more data while avoiding the stimulation of seizures. Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Thu, Sep 17, 2015 at 9:46 AM, Pascal J. Bourguignon wrote: > > > On 17/09/15 17:32, Michael David Crawford wrote: >> >> And what the man said: I myself experience seizures in which I lose >> consciousness for as long as three weeks. Before they were diagnosed >> I would experience seizures while driving my car then suddenly find >> myself in unfamiliar places without any clue how I got there. >> >> I don't know for sure but strongly suspect that modern computer user >> interfaces caused my seizure disorder as well as that of my cousin. >> Seizures are not otherwise found among any of our blood relatives. > > > But then if you don't use the whole screen, but only the area that > should be in front of the camera of the superposed phone, then users > shouldn't be subjected to much stroboscopic light. > > Having the objective so close from the light source does not allow > the camera to distinguish pixels; for example, a black to white > transition takes about 1/10 of the height of the camera view. > But this means that you might still able to transmit about ten pixels at > once, > and you can multiply that by a number of color that you can detect reliably > being that out of focus. Basically, I would expect 8 colors to be clearly > distinguishable. Actually, probably more colors should be distinguishable, > if you can filter out the interferences due to the grid of the camera vs. > the grid of the screen. So assume 4 bits for the color, and 9 areas, > that's 36 bit/moment, and you should be able to do 30 moment/second, > for a total of 1080 bit/second. A little less for ECC, about 1 KB/s > is not too bad. It's good enough to transmit a good private key, and then > transfer the data thru wifi. > > > Of course, if you move the camera out to focus on the screen, then > you can transmit at a higher speed things like QR codes, but they > could also be seen over the shoulder by high resolution cameras. > > -- > __Pascal J. Bourguignon__ > http://www.informatimago.com/ > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Is it possible to transfer data by using light
Strictly speaking, light is the most common way that data is transferred, in that the forces between electrically charged particles are moderated by virtual photons. Other than light we have the gravitational, strong nuclear and weak nuclear forces however it is impractical to transmit much data by modulating gravity. Look up the protocol standards for IrDA - Infrared Developer's Association. I don't think IrDA is in common use but at one time was supported by Apple PowerBooks. It enabled relatively private data transfer between two boxen by transmitting and receiving infrared light. The source and sensor need not be pointed at each other as one can bounce the beam off the walls or ceiling. By contrast 802.11x wireless internet penetrates walls, unless encrypted, James Bond could sit outside your house in a white van and read your repository pushes. A crude but simple way to transmit data from iOS devices would be to write an app that displayed a plain black screen for zeroes and a plain white screen for ones. Blink the white screen on and off for each ASCII 1 bit, black for 0 bits. You will need error correction, but blinking ASCII will get you started. And what the man said: I myself experience seizures in which I lose consciousness for as long as three weeks. Before they were diagnosed I would experience seizures while driving my car then suddenly find myself in unfamiliar places without any clue how I got there. I don't know for sure but strongly suspect that modern computer user interfaces caused my seizure disorder as well as that of my cousin. Seizures are not otherwise found among any of our blood relatives. Have A Nice Day. Mike Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Thu, Sep 17, 2015 at 6:06 AM, Alex Zavatone wrote: > Yes. How do you think TV remotes work? > > They use IR transmitters/receivers. > > They are, however, PAINFULLY SLOW. > > When we were making FiOS TV, we had to create an app called FiOS Mobile > Remote for the iPhone that would control your FiOS set top box. > > EVEN THOUGH the iPhone had to pipe its commands through a much much much > longer chain to get to the STB, it was a night and day in terms of > performance. In fact, it was almost instant. > > Back then when we were prototyping FiOS I took an IR receiver and hooked it > up to a PC. Then, using Director, we detected the signal that was being > broadcast and mapped each signal to the appropriate keypress. > > Then, we wrote a layer on top of that which created key events (press, > release, hold and repeat), and that allowed us to have a library which would > we could then use to issue commands based on the action being performed on > the remote. > > All being done by sending a signal over light. > > > At another company, we turned data into QR codes and the QR codes became data > packets which we used to reimplement TCP/IP over a video capture transmission > method. Our implementation was to have an iPhone in video capture mode and > flash a bunch of QR codes on another computer's screen. > > We then pulled each frame out of the video as it was captured, detected when > the image representing the QR code changes and rebuilt the data on the device > and decoded it. > > As I recall, we were testing driver's license detection software and used a > kitten as the photo in the license. > > > So, yes, you can use light to transmit data. > > > > > On Sep 16, 2015, at 11:14 PM, ico wrote: > >> First of all, please take a look at this video: >> https://www.youtube.com/watch?v=LPyLHhiGTHM >> >> This toy can connect to the iphone's network by detecting the blinking >> screen of an iPhone. I wonder if it is possible that using this technique >> to transfer data. >> For instance, >> 1. you have some data, and transform it into a frequency of flash light >> 2. you control iPhone A to blink its screen or its flashlight according to >> this frequency >> 3. you control iPhone B to detect this frequency of light >> 4. you transform this message into some data which is the same as you have >> in the 1st step >> >> Anyone can give a hint about achieving this? >> Sorry for my bad English. >> >> Thank you! >> ___ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/c
Re: Progress Bar Gripe
Someone mail me off-list to inquire as to why I was griping about progress bars on Cocoa-Dev. >> Because many Cocoa apps display the kinds of progress bars I gripe about. > > While that fact is true, it is unrelated to the purpose of the mailing list > as a technical resource, not a user experience design forum. I expect my problem stems from the fact that few developers subscribe to user experience fora; commonly graphic artists - art school graduates do that. Even so, I just purchase a Windows notebook computer from Acer. I run Linux Mint under VirtualBox, once I verify that it works OK when I boot natively I will remove Windows. My point is that I'd like to see my colleagues among the Apple Developer Community, as well as my dear old friends who actually work for Apple, prosper, rather than have their products abandoned by people like me. I've been an Apple Developer since 1986, I SQAed MacTCP 1.0.1 and 1.1 then write a new test tool and test plan for 1.2. I was a Senior Engineer in Apple's Traditional OS Integration Team in 1995 and 1996, where I isolated the very-most serious bugs, I also optimized some of the System 7.5.2 and 7.5.3 Resource Manager code. That the bug reports I file don't get fixed is what led me to abandon the Apple platform for Linux. I invite you to continue our friendly debate. Mike Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Progress Bar Gripe
This isn't specific to any one product nor publisher: It is quite common that non-deterministic progress bars - "barber poles" - are displayed when a deterministic process is taking place such as the download of a file whose size is known ahead of time. To the extent that deterministic progress bars are used, other than - for the most part but not always - correct that they indicate that the process has completed, they are largely incorrect throughout the duration of the process. That is, if I download one gigabyte, that the progress bar is at ten percent doesn't have any particular relation to anything that I can tell. What I find most exasperating is that progress bars continue to, uh... "progress" despite that the process clearly being hung; I expect that's the result of running the bar in a different thread than the process. Back in the day it was common to litter one's code with "SpinCursor". That wasn't a Toolbox Trap, rather it was a convention that most developers followed. But then some joker got the idea it would be cool to spin his cursor from a VBLTask. That quite commonly resulted in the entire Mac OS being hung as the cursor continued to spin. I know all manner of ways to avoid these problems, doubtlessly you do too. Finally I will say that little details like this disproportionately impact my purchasing decisions. I am completely cool that your app crashes once in a blue moon what I cannot tolerate is _constant_ aggravation. Curmudgeonly Yours, Mike Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Puzzling memory creep
A memory pool will appear to be a leak however pools usually reach a maximum size then stop growing. Such a pool may be an internal implementation detail that is invisible to your client code. I don't know that your leak is really a pool however this is a common false positive for leak detectors. Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. On Fri, Sep 4, 2015 at 9:13 AM, wrote: > So don't create a new for matter every time. > Create one once outside of the timer. > Formatters are heavy. > Beyond that you might try judicious use of @autorelease{} > > Sent from my iPhone > >> On Aug 15, 2015, at 5:29 AM, Richard Kennaway >> wrote: >> >> I've written an iOS app that, according to Instruments, seems to very slowly >> allocate more and more memory over time, although I can see no reason for >> it. After starting it, and letting it settle down, I see in the Allocations >> tool several entries in the "#Persistent" column creeping upwards. >> Typically, I see an item "CFArray (mutable-variable)" incrementing its >> #Persistent once a second, and an item "Malloc 32 Bytes" incrementing by 2 >> every second. The Leaks tool shows nothing. Taking Generation snapshots at >> intervals of a second or two shows the steady accumulation of small >> allocations, described as . >> >> I'm using XCode 6.4 and running this in the simulator for iPhone 6 and iOS >> 8.4. I've also tried the iPad2 and iOS 8.4 with similar results, although >> there the item that ticks up and up is "Malloc 64 bytes", at a rate of about >> 1 KB every 5 seconds. The project is compiled with ARC turned on. The high >> water mark of total memory use displayed in XCode increases by a megabyte in >> something over an hour and an overnight run shows no sign of it stopping. >> >> But I cannot see what is causing this. It's a very small app, and if I let >> it run without interacting with it, the only code it executes is the >> following method of the single view controller, invoked by an NSTimer once a >> second to update a display of the time. >> >> - (void)updateTime { >>NSDate *now = [NSDate date]; >>double seconds = [now timeIntervalSinceReferenceDate]; >>double intseconds = round(seconds); >>now = [NSDate dateWithTimeIntervalSinceReferenceDate:intseconds]; >> >>[dateFormatter setDateFormat: >>[NSDateFormatter dateFormatFromTemplate:@"jjmmss" options: 0 locale: >> thelocale]]; >>[[self timestring] setText: [dateFormatter stringFromDate: now]]; >> >>[dateFormatter setDateFormat: >>[NSDateFormatter dateFormatFromTemplate:@"EEEdMMM" options: 0 locale: >> thelocale]]; >>[[self daystring] setText: [dateFormatter stringFromDate: now]]; >> >>[dateFormatter setDateFormat: >>[NSDateFormatter dateFormatFromTemplate:@"" options: 0 locale: >> thelocale]]; >>[[self yearstring] setText: [dateFormatter stringFromDate: now]]; >> } >> >> timestring, daystring, and yearstring are properties of my ViewController >> class connected to labels in the storyboard: >> >> @property (weak, nonatomic) IBOutlet UILabel *timestring; >> @property (weak, nonatomic) IBOutlet UILabel *daystring; >> @property (weak, nonatomic) IBOutlet UILabel *yearstring; >> >> dateFormatter and thelocale are private instance variables, initialised once >> in viewDidLoad(). I've also tried versions where these are variables local >> to updateTime(), and where "now" is an instance variable, but moving these >> around gives the same results. I've also tried, with equal lack of effect, >> splitting up some of the one-liners into things like: >> >>NSString *thestring = [dateFormatter stringFromDate: now]; >>[[self timestring] setText: thestring]; >> >> When the app is in the background it does nothing (it invalidates the >> NSTimer and sets the instance variable holding it to NULL), and Allocations >> reports no activity. >> >> What is causing this problem? Instruments says the Responsible Library is >> libdispatch.dylib, and the Responsible Caller is >> _dispatch_continuation_alloc_from_heap. The names suggest that this may be >> nothing to do with the code above. Google turns up a small number of >> queries regarding memory leaks with similar symptoms, but no answers
Re: How to terminate an NSTask whenever my app terminates?
On the UNIX command line "nohup" prevents children from being killed when the parent exits. If you want to manually start a daemon: $ nohup mydaemon & Then you can log out and it keeps running. -- Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Crash help?
Assert the validity of all your method parameters. While it can help to assert return results thats less helpful as most return results are later used as input parameters: #import - (void) foo( int *p, int n ) { assert( NULL != p && n > 0 && n < 10 ); ... return; } This might not have found the crash we're discussing but it will find many others by the time you ship. Also assertions are more effective than comments for documenting APIs because one is forced to maintain them along with the rest of the code. - Mike -- Michael David Crawford P.E., Consulting Process Architect mdcrawf...@gmail.com http://mike.soggywizard.com/ One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Completely baffled by NSTabViewController + Autolayout
> I am missing something big, because I am having nothing but insane trouble > when trying to get a simple tab view working with autolayout. Every path I > head down > has strange problems. I've tried slimming it down to the smallest test > project and > I'm still confused. That's because you're not using the... ZooLib C++ Cross-Platform Application Framework: http://www.zoolib.org/ The ZooLib Cookbook http://zoolib.soggywizard.com/doc/cookbook/ ZooLib will also make your iOS and Mac OS X apps readily portable to many of the operating system offerings of Apple's friendly competitors. (Soggy Wizard is a brand-new domain however I expect to start my web server by tomorrow afternoon or so.) Have A Nice Day. Michael David Crawford P.E., Consulting Process Architect http://mike.soggywizards.com/ mdcrawf...@gmail.com One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light. PS: I've been bleeding in six colors since 1986. On 8/17/15, Seth Willits wrote: > I am missing something big, because I am having nothing but insane trouble > when trying to get a simple tab view working with autolayout. Every path I > head down has strange problems. I've tried slimming it down to the smallest > test project and I'm still confused. > > The problems I'm seeing are randomly positioned views and inconsistent > sizing: > http://www.sethwillits.com/temp/TabViewResizing1.mp4 > > Here's the project: > http://www.sethwillits.com/temp/TabViewResizing.zip > > > The goal of this project as is, is simple: using an NSTabViewController, add > multiple tab view items where each of the items has a view with its own > autolayout-determined fixed size (as in, either an intrinsic content size, > or the constraints of the subviews dictate the size of the view itself.) > **That's it.** And I've been struggling with this for hours. > > In the test project I have two tabs. Each has an NSView subclass that has an > intrinsic size so that the view itself must always be at that size. Those > views are then added to the tabview via tab view items. I expect that the > layout system will resize the views to be at their intrinsic size, and > position them properly within the tab view. > > Instead I'm seeing them a) not always be at their intrinsic size, and b) if > the tab switches in the middle of animating, then it stops at some > interrupted size. > > > Can anyone explain this? > > > > Bonus question: > How am I supposed to get a normal bordered tab view with tabs on top using > an NSTabViewController? Using > NSTabViewControllerTabStyleSegmentedControlOnTop shows the segmented > control, but there's no border? Using NSTabViewControllerTabStyleUnspecified > + tabView.tabViewType = NSTopTabsBezelBorder; is as close as I can get, but > then the tab view item's view placement is wrong? > > > > -- > Seth Willits > > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Request iOS setting to disable ALL UI animation.
rdar://22243459 Radar's Javascript prevents me from selecting the text of my bug report on my iPad. tl;dr: Despite that seizures do not run in either sides of our respective families, my cousind and I both experience quite severe brain seizures. I went to Emergency last monday evening when my seizures grew violent. The last time that happened I had one of those beckoning dead relatives experiences in a surgical theatre because I hit my head on a concrete floor. I dont know why he and I experience seizures but I do know that a week in hospital enables me to use my ipad without nausea. I expect that nausea to return but by then I expect to earn the coin required for a new MacBook Pro. My request could be implemented by disabling screen refresh during Core Animation. After animation is complete, invalidate the entire screen. Thine In Eternal Torment, El Ingenioso Hidalgo Don Miguel de la Chula Vista http://www.warplife.com/mdc/ mdcrawf...@gmail.com 53n7 fr0m my 1P4d. -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Regarding these Olivia messages. Can we do something about the list security?
Blue-Eyed Cass promised me what every man desired but few can obtain mere hours after we friended each other on Facebook. "I live with my mother in Ghana." I expect her really does, but the real tragedy of Blue-Eyed Cass is not that she depletes lonely men of all they possess, but that she does not really return our affection. -- Mike On 7/31/15, Graham Cox wrote: > >> On 30 Jul 2015, at 11:45 pm, Shane Stanley >> wrote: >> >> Olivia seems to get around. > > > Maybe we should give her the benefit of the doubt. I sent her my credit card > details and now she’s promised she’s going to come and visit once she’s > sorted out the flights. You’ll all be sorry when I’m going out with my new > sexy girlfriend! Ha! > > —Graham > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Regarding these Olivia messages. Can we do something about the list security?
Chris, Your old homey Mike suggests that cocoa-dev could use a little TLC. Mike On Thursday, July 30, 2015, Michael David Crawford wrote: > Internet Crime Complaint Center > >http://www.ic3.gov/complaint/default.aspx > > The CERT Division > > http://www.cert.org/ > > Forum on Risks to the Public in Computers and Related Systems > > http://catless.ncl.ac.uk/ > > I once used one-time emails to great effect. Unfortunately my hosting > service configured my mail to accept any username, commonly but incorrectly > known as a "postmaster" account. I once received 400 MB of spam per day! > > I strongly recommend one-time emails but dont make them obvious. Use > common given names, but not your own name. Onfigure your mail server to > accept each one you actually use. When the spam gets you down, unsubscribe > from the list, configure a new one-time email, resubscribe. Keep the > now-unused mail user for a while but mark everything as spam. When you > grow weary of doing so delete the username. > > Gmail does work but it is impolite to draw so heavily on a free as in beer > resource. If you like Gmail, Google offers a paid service that will > mailhost your own domain. > > Javascript email obfuscation is effective because the bots dont even try > to crack it: > > http://www.warplife.com/moat/alligators.js > > For extra credit, design your own custom software. > > If you desire only the very best: > > Set up an apparently legitimate site with some innocuous content that > appears to belong to a real business. Provide a sitemap: > >http://www.sitemaps.org/ > > Put your sitemap's URL in your robots.txt: > > http://www.robotstxt.org/robotstxt.html > > supply a permissive one: > > User-agent: * > Disallow: > > Sitemap: http://www.example.com/urllist.txt.gz > > ... or... > > Sitemap-index: http://www.example.com/sitemap-index.xml.gz > > ... the sitemap index points to urllist.txt.gz but contains a timestamp > that reduces everyone's load. > > Plaster that site with lots of apparently-legitimate email addies. > > Submit your homepage URL: > > Painless Search Engine Site Submission > http://www.warplife.com/tips/webmaster/site-submission.html > > ... wait until the spam gets REALLY out of control then install a > Teergrube: > >http://www.catb.org/jargon/html/T/teergrube.html > >https://en.m.wikipedia.org/wiki/Tarpit_(networking) > > Onw simple way is that when a spammer tries to deliver mail to your smtp > server you start to cooperate but then pause until just before the timeout, > then issue a continuation character: > >- > > .. then pause again. > > But do _eventually_ accept the mail, that way the spammer wont receive a > bounce. > > A few hours after each spam arrives, use cURL or wget to fetch each of its > images. That's how spammers know that you like to read spam. Also "click" > some of their links. > > The Coup d' Gras is to drop this domain's emails into a bunch of > "newsletter" subscription forms. > > I'll Send You My Bill In The Mail. > > Mike > mdcrawf...@gmail.com > > > > > -- > Michael David Crawford, Consulting Software Engineer > mdcrawf...@gmail.com > > http://www.warplife.com/mdc/ > > Every Deity Hath the Insight to Foretell the Future > Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. > > -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Regarding these Olivia messages. Can we do something about the list security?
Internet Crime Complaint Center http://www.ic3.gov/complaint/default.aspx The CERT Division http://www.cert.org/ Forum on Risks to the Public in Computers and Related Systems http://catless.ncl.ac.uk/ I once used one-time emails to great effect. Unfortunately my hosting service configured my mail to accept any username, commonly but incorrectly known as a "postmaster" account. I once received 400 MB of spam per day! I strongly recommend one-time emails but dont make them obvious. Use common given names, but not your own name. Onfigure your mail server to accept each one you actually use. When the spam gets you down, unsubscribe from the list, configure a new one-time email, resubscribe. Keep the now-unused mail user for a while but mark everything as spam. When you grow weary of doing so delete the username. Gmail does work but it is impolite to draw so heavily on a free as in beer resource. If you like Gmail, Google offers a paid service that will mailhost your own domain. Javascript email obfuscation is effective because the bots dont even try to crack it: http://www.warplife.com/moat/alligators.js For extra credit, design your own custom software. If you desire only the very best: Set up an apparently legitimate site with some innocuous content that appears to belong to a real business. Provide a sitemap: http://www.sitemaps.org/ Put your sitemap's URL in your robots.txt: http://www.robotstxt.org/robotstxt.html supply a permissive one: User-agent: * Disallow: Sitemap: http://www.example.com/urllist.txt.gz ... or... Sitemap-index: http://www.example.com/sitemap-index.xml.gz ... the sitemap index points to urllist.txt.gz but contains a timestamp that reduces everyone's load. Plaster that site with lots of apparently-legitimate email addies. Submit your homepage URL: Painless Search Engine Site Submission http://www.warplife.com/tips/webmaster/site-submission.html ... wait until the spam gets REALLY out of control then install a Teergrube: http://www.catb.org/jargon/html/T/teergrube.html https://en.m.wikipedia.org/wiki/Tarpit_(networking) Onw simple way is that when a spammer tries to deliver mail to your smtp server you start to cooperate but then pause until just before the timeout, then issue a continuation character: - .. then pause again. But do _eventually_ accept the mail, that way the spammer wont receive a bounce. A few hours after each spam arrives, use cURL or wget to fetch each of its images. That's how spammers know that you like to read spam. Also "click" some of their links. The Coup d' Gras is to drop this domain's emails into a bunch of "newsletter" subscription forms. I'll Send You My Bill In The Mail. Mike mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Cocoa Error Domain code symbols in Swift
There is a market opportunity for a service that indexes software tips by software version. This because when I google for "Xcode 6" NSInfiniteLoop ... I mostly get hits for the NSInfiniteLoop from XCode 4. I often think of doing this myself but I have too many ideas, even when they are good ones. -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: MODERATOR: End of Thread (was Re: I am reluctant to file any more bugs until those already reported are fixed)
My post is technical. My concern is that new bugs are created faster than old ones are fixed, also that many of those who experience defects do not understand that they are defects. For example it is very common for users to regard crashes and data loss as their own fault, because they arent doing something right. Pick out a few software products at random them look up their reviews, then if you can sort them by Most Critical first. One can do this at the App Store as well as many other eCommerce sites. I do this from time to time; this leads to my reluctance to install any software I do not absolutely require, even if it is free. I raise this concern in other venues than Apple's lists as well. It is a widespread problem that our profession must address. While I could name many specific examples of software and hardware faults that cause grievous damage I want to avoid doing so for the specific reason that I do not want my constructive criticism to be regarded as a personal attack. Ever Faithful, Mike On Tuesday, July 21, 2015, Chris Hanson wrote: > This is the place for neither rants nor personal attacks. > > Please keep it technical. Thanks. > > -- Chris Hanson (cocoa-dev co-moderator) > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com ) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: C Sharp?
This is done in two different ways for java and pascal. In principle either would work for C# but I do not know of any actual implementations. One could add C# to clang or some other front end to buil native code as does the gcj "ahead of time" java compiler. You will still need to link to a runtime but you wont need an interpreter. p2c translates pascal source to C source that may not be pretty but can be built. However pascal and C are conceptually quite similar so the translation is straightforward. Maybe it would be easiest to translate the C# to java then generate native code with gcj. This would be too much work for just one use but could be a market opportunity. Knock yourself out. -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: I am reluctant to file any more bugs until those already reported are fixed
On 7/15/15, Raglan T. Tiger wrote: > Take it to Reddit and leave us alone. Thanks for setting me straight. I didn't realize that Apple's engineers hang out at Reddit. Mike -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: I am reluctant to file any more bugs until those already reported are fixed
On 7/15/15, dangerwillrobinsondan...@gmail.com wrote: > Yet in the time you spent wasting keystrokes on this thread, you both could > easily have filed bugs. In the time I could have wasted by filing bugs, I actually did write: I State This That It May Be Rejected: The Lysistrata Manifesto http://www.warplife.com/manifestos/lysistrata.html Among my several points is that new bugs are created far, far faster than old bugs are fixed. I no longer regard it as a productive use of anyone's time - not just my own - to file new reports. Rather, my objective is to halt the production of new features until old bugs are closed. That's not a goal I can achieve all by myself; I initiated this thread and wrote the above essay in hopes that others will join me by boycotting all the bugbases. Not just Radar - Bugzilla and all the rest. I am quite diligent with my bug reports; many of my minimal test cases are trivial to reproduce. When I was a Debug Meister at Apple I wrote something like the following: tell Finder restart ... dropped it in the Startup Items folder then manually rebooted. Once per day over the next month or so I found the box had dropped into MacsBug, eventually to isolate it to the Open Transport Ethernet driver. That driver's engineer found and fixed an edge case in its shutdown proc. My persistence yielded a Gold Star on my performance review. It is not at all that I am lazy. I work like a demon. It is not at all that I don't care about our professional colleagues. It is not at all that I am unconcerned for our users. It is because I regard halting the introduction of new features so we can fix the bugs we already know about as the best way to improve the quality of our existing products. I reiterate: this problem is not unique to Apple, nor to the computer industry. Here in Clark County Washington there is quite a lot of political corruption. I know how to deal with that too but elected officials who are on the take don't like to read my Walls of Text so I'm going to speak at County Council meetings, register voters, make Get Out The Vote phone calls and transcribe hardcopy campaign finance disclosure statements onto the Web. Thanks for letting me clear all that up. Mike -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Every Deity Hath the Insight to Foretell the Future Yet G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
I am reluctant to file any more bugs until those already reported are fixed
This has actually been done several times, once recently in south america but I don't recall the details. I would be happy to produce the [needed citation] but not just now as my dialup doesn't really work. The problems I see with poor quality - not just in software but hardware as well - are not specific to any one codebase. It is widespread in Free Software, Open Source and proprietary software. For years I have worked diligently to advise others of ways they can fix their code, as well as why they should do so. My articles, essays as well as mailing list and message board posts are quite popular but also controversial in that there are many who do not welcome my message of quality. Quite a serious problem is that some of these faults are in systems used by law enforcement. For example some clever fellow escaped from prison by sending an email to an employee at his prison. Again I don't recall all the details but would be happy to dig them up. Similarly innocent people go to jail or even prison because of software faults. My jocular outlook on life frequently leads to my own arrest. Not the last time I was in the slammer but the time just before that, I was promptly ordered released on my own recognizance - that is, without bail. Even so I was detained for five more months before my case was completely dismissed. I think the world of the Clark County, Washington Sheriff's Deputies but they were unwilling to release me until they received my release order themselves, which somehow got dropped on the floor. No doubt you've seen Terry Gilliam's "Brazil". That's happening in real life this days and with increasing frequency and severity. I could detail the problems I experience but there are so many. It's not just me; consider that Mozilla stored its email in a proprietary, compressed database. I lost my email database when my filesystem filled up. I did report the bug at http://bugzilla.mozilla.org/ but when I did so I found many other reports as well as gnashing of teeth because that bug had been reported years before but not fixed. While the Mozilla developers - not just the Mozilla corporation but its unpaid volunteers - are among the more-egregious offenders there are many others. Other problems are the introduction of "features" that I and others regard as bug, and the deprecation of features that I and others depend on for our livelihoods. I am well aware of the Free Software community's opposition to Apple's proprietary code, vendor lock-in and other evildoing but at least at one time, Apple Computer produced very high-quality products. But no more, and not for a long time. I discuss this in: Apple's Deep Insight Into User Interface Design http://www.warplife.com/mdc/essays/jump-the-shark.html The bug I found in 2012 was trivial to reproduce, however the steps to reproduce it are quite obscure. While I could help Apple fix just that one bug by filing a report at http://bugreport.apple.com/ what I really want is for Apple to clamp down on all the hookers and blow that are readily available within Infinite Loop. Again: these are widespread problems. I find examples almost everywhere I look. Free Software is no exception. However: My satirical writing and my harsh, confrontive criticism in meatspace aren't doing the job. Recently I attempt gentle diplomacy. To some extent that seems to help, but I'm just one person. Can you help in any way, or recommend something or someone else who can? Ever Faithful, Mike -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Translate curl command to NSURLRequest
Would it work to use libcurl instead? I dont know but would be unsurprised were that to be what NSURLRequest actually does. -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Would you pay for a better table view?
My own app would benefit from a better table view were I to write one from scratch. Cocoa Touch's table view works for simple things but it is painful for anything fancy. Were I to write a better table view, would any of you fine folks be into licensing it for your own apps? I once made what appeared to be a Mac OS List Manager list work with three billion items. Mike -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Cheating a synchronous call on the main thread
Use a background task to do the real work then deliver the result on a queue. mUseba synchronous call to fetch the result from the queue or return an error result if the queue is empty. -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Why do so many iOS apps have such poor quality?
Apple's written policy is that crashy apps are not permitted in the app store. Why is this not enforcd? Pick a few apps at random. Sort the reviews by "Most Critical". Quite common are complaints about crashing. it is better not to ship a product at all than to ship a product that drives away customers. I once worked on a defense contract. the primary contractor chose the part by looking at vendor product literature, then selected me to write the firmware based on my expertise with that part. despite that i could not work around a hardware mask bug they made a bunch of very expensive prototype boards then distributed them to "The Client" with the expectation that i would deliver the firmware later. After six weeks of fruitless struggle i bluntly told them they had selected the wrong part and would have to redesign their circuit board.nnquite likely they lost the contract. How hard can it be to add assertions to your source? -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Scary Stuff!
I was a "Debug Meister" for Apple in the mid-90s. It was fascinating work but I applied for an internal transfer because I had the sense that my work would never be finished. That is, we will never run out of bugs. It gets me down sometimes. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Wed, Jun 17, 2015 at 1:17 PM, Doug Hill wrote: > This is indeed some scary stuff. The problem with apps creating a local web > server for Web Socket support also seems particularly worrisome. I second > Jens’ suggestion to read the paper because it will cause eyes to bug out. > > For most of the security problems, you could rewrite your app to opt-out of > the insecure APIs, system services, etc. and use your own implementation. > (see Google Chrome not storing passwords in the Keychain anymore) This is > obviously it’s own set of security issues. Do you want to implement your own > secure password store and ensure you don’t introduce other security holes? > Good luck with that. > > The one feature that I don’t know anyway to opt-out yet still keep > functionality is the custom URL scheme registration on iOS. This gets used > for IPC to open files in another app. Any app could register the same custom > URL scheme for another app without the knowledge of the user or the original > app. Users would Open In one of their files, thinking it will go to the > original app, which gets hijacked by the malicious app. I don’t know if > there’s even a way to know if another app has hijacked your scheme. Think > about opening files with confidential/financial data and they suddenly get > sent to a malicious app. > > I’m looking forward to fixes and/or workarounds soon. > > Doug Hill > >> On Jun 17, 2015, at 12:44 PM, Jens Alfke wrote: >> >> As usual, don’t put too much weight into the bite-size digests from the >> press, especially the Register, which has a track record of sensationalism. >> Unfortunately the actual truth is fairly bad. I recommend reading the paper: >> >> https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view >> <https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view> >> >> Haven’t gotten all the way through it, but the security problems in the OS >> seem to be not about the fundamentals — the integrity of sandboxes and the >> Keychain are OK — but some slipshod security at the API level and in the >> ways these components get used. The two OS X attacks I’ve read about are: >> >> 1. Keychain ACLs control which apps are allowed to read which Keychain >> secrets. But it’s possible for a malicious app to create a blank Keychain >> password item for a secret it knows some other app will store there (like a >> login password), and give both itself and the real app access. Then the true >> app will store the secret in the existing Keychain item, which is readable >> by the malware so it can get the password from it. >> >> 2. Sandboxed apps are given private directories named after their bundle >> IDs. The Mac App Store submission process verifies that an app’s bundle ID >> is a valid one that’s registered to the developer … but it doesn’t verify >> the bundle IDs of embedded executables like plugins, which get their own >> sandboxes. So a malicious app can include a plugin with the bundle ID >> registered to a real app, and its plugin will be able to share the sandbox >> with the real app and read/write its data. >> >> (I may have gotten details wrong. Don’t quote me on this, read the paper >> yourself.) >> >> Both of these are pretty bad. I’m very disappointed that Apple didn’t >> address these during the six months’ advance notice that the security >> researchers gave before they went public. >> >> —Jens > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Most People Still Use Dialup
What that page actually says to do, is to connect your printer then let OS X choose the driver for you. The driver I need is not available for manual selection. I didn't really want to have to connect a printer to download the driver, because it would look quite strange, if not downright offensive, to hook up my printer at Starbucks. On 6/16/15, Alex Zavatone wrote: > > On Jun 16, 2015, at 6:34 AM, Michael David Crawford wrote: > >> I was finally able to download that 1 GB printer driver assortment, >> but only by wandering around trying different wifi spots. >> >> I knew that I could have downloaded just a 24 MB driver for my >> specific printer but that would have come at the cost of bringing that >> printer with me to a wifi spot so OS X would see that it was connected >> via USB. > > Or maybe you could have logged on to Epson's site and downloaded that one > driver you wanted all by itself from the support page. > > http://www.epson.com/cgi-bin/Store/support/SupportYosemite.jsp > > > -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Most People Still Use Dialup
Northern China has to talk to Southern China via Japan. This because some party official gave his son the gift of what at one time was the northern part of the state telecommunications monopoly. On 6/16/15, Michael David Crawford wrote: > I was finally able to download that 1 GB printer driver assortment, > but only by wandering around trying different wifi spots. > > I knew that I could have downloaded just a 24 MB driver for my > specific printer but that would have come at the cost of bringing that > printer with me to a wifi spot so OS X would see that it was connected > via USB. If OS X can choose my driver because it identifies itself, > why can't I just tell OS X myself? > > Or Epson; Epson's driver download page specifically says to plug the > printer in then let OS X take care of it. > > Some wifi spots have a lot of capacity but rate-limit individual clients. > > In the case of my dialup I would be able to download that 24 MB driver > but there is some problem somewhere out on the Internet backbone. I > don't really know but speculate that it has to do with the routers all > being optimized to server Facebook to cable modem users. > > I used dialup from rural Maine from 2001 to 2003 and it worked just > fine; it even worked OK to set up IP masquerading so my ex and I could > share the dialup service. > > If I traceroute from here in Salmon Creek, Washington to my server at > Hurricane Electric in Fremont, California it goes through dozens of > routers, many of which are clearly in the same data center. That is, > I'll go through ten or twenty routers at Level 3 in Seattle, then > another ten or twenty in Fremont. > > When I start my day I "flush the tubes" with the following: > >$ sudo ping -c 100 -f apple.com >$ sudo ping -c 100 -f berkeley.edu >$ sudo ping -c 100 -f www.vatican.va > > By tracerouting before and after that flushing, I can see that my > packets traverse far fewer routers. > -- > Michael David Crawford, Consulting Software Engineer > mdcrawf...@gmail.com > http://www.warplife.com/mdc/ > >Available for Software Development in the Portland, Oregon Metropolitan > Area. > -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Most People Still Use Dialup
I was finally able to download that 1 GB printer driver assortment, but only by wandering around trying different wifi spots. I knew that I could have downloaded just a 24 MB driver for my specific printer but that would have come at the cost of bringing that printer with me to a wifi spot so OS X would see that it was connected via USB. If OS X can choose my driver because it identifies itself, why can't I just tell OS X myself? Or Epson; Epson's driver download page specifically says to plug the printer in then let OS X take care of it. Some wifi spots have a lot of capacity but rate-limit individual clients. In the case of my dialup I would be able to download that 24 MB driver but there is some problem somewhere out on the Internet backbone. I don't really know but speculate that it has to do with the routers all being optimized to server Facebook to cable modem users. I used dialup from rural Maine from 2001 to 2003 and it worked just fine; it even worked OK to set up IP masquerading so my ex and I could share the dialup service. If I traceroute from here in Salmon Creek, Washington to my server at Hurricane Electric in Fremont, California it goes through dozens of routers, many of which are clearly in the same data center. That is, I'll go through ten or twenty routers at Level 3 in Seattle, then another ten or twenty in Fremont. When I start my day I "flush the tubes" with the following: $ sudo ping -c 100 -f apple.com $ sudo ping -c 100 -f berkeley.edu $ sudo ping -c 100 -f www.vatican.va By tracerouting before and after that flushing, I can see that my packets traverse far fewer routers. -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Goodbye and Thanks for All The Code
I wrote: > while the legal > rights of the mentally ill are well-established in legislation as well > as court precedent, those rights are not only not enforced, they are > largely unknown. One way I determine whether psychiatric hospital staff are aware of the rights on mental inpatients is by fighting tooth-and-nail when I am requested to wear a hospital gown. While I don't like them it's not that I won't wear them however my objective is to educate the hospital staff. In California specifically this is provided for under the Lanterman-Petris-Short Act. In the emergency room at Stanford Medical Center: "I have the right to wear my own clothes. I want my suit back." "Sir you are on an involuntary hold. If you don't calm down, we have the right to sedate you." "That's _completely_ cool but when you do I want to be wearing my damn suit." In reality my concern is not for myself but for those who are too far gone to even know that they have rights. I once had a close friend who was completely cool that a "toxic rain" was falling from the sky. She wore a rain hat indoors and would cover her head with a newspaper while outside. "Look up at the sky." Hesitantly, she does. "Do you see that it's blue? That there are no clouds? Do you feel the warm sun?" "Oh yes! It's very nice." But when she looks down, she experiences the continued chemical weapon attack. While some mental illnesses are chronic, I have the good fortune that my Bipolar-Type Schizoaffective Disorder - somewhat like being manic-depressive and schizophrenic at the same time - is episodic, in that the symptoms come and go. I used to worry quite a lot about my professional reputation but decided to go completely public with my illness as a result of the Heaven's Gate UFO Cult mass suicide in San Diego during the Spring of 1997. My reason was that I wanted to warn the public that reality is not as concrete as it may seem. I discuss this in "The Reality Construction Kit": http://www.warplife.com/mdc/books/schizoaffective-disorder/reality.html My interest in cult phenomena commenced during the rise of Communism in Cambodia in the early seventies when I read at first that Cambodian children were taught to report their parents to the authorities, shortly after which I learned that everyone in the entire country who wore eyeglasses disappeared virtually overnight. Computers are cool and all that, I really _do_ enjoy writing code but some things are really more important than how many mice one's app scores in a trade rag product review. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Mon, Jun 15, 2015 at 8:23 PM, Michael David Crawford wrote: > I've been out of work for most of the last five years. Many > well-meaning yet sadly misinformed people give me what doubtlessly > would be good advice for others, for example that I should go on > disability, get into subsidized housing or to stop linking my essays > about my mental illness from every page on my website, but those > well-meaning people do not understand my values. > > For reasons having largely to do with the way I was raised, it is far, > far more important to me to solve the problems of others than it is to > solve my own problems. > > I sent this just now to an administrator at the Northwestern School of > Law at Lewis and Clark College in Portland, Oregon. I have many > reasons to study law but primary among them are that while the legal > rights of the mentally ill are well-established in legislation as well > as court precedent, those rights are not only not enforced, they are > largely unknown. > > That led for example, to my being very nearly beaten to death by two > Oregon Health & Sciences University campus police officers. When I > regained consciousness three days later, while I could correctly > visualize the spelling of my name when I thought out it, I could not > spell it correctly when I tried to write it by hand with a pencil. > > I asked the American Civil Liberties Union to represent me in a Civil > Rights complaint against OHSU but recieved a form letter that pointed > out that they focus only on Constitutional concerns. That doesn't > make a whole lot of sense but that is what the ACLU actually said. > > To Wit: > > Ms. Sullivan, > > After a great deal of consideration, I have decided to change careers > from Software Engineering to Public Interest as well as Civil Rights > Law. > > However I'm not real sure how to get started. I am of very modest > means; were I to go back to Physics grad school, I know my way would > be paid by my
Most People Still Use Dialup
Where I live I can only get dialup; to download anything these days I have to go to a wifi spot. Just now I'm downloading the 1 GB Epson Printer Drivers from Apple's downloads page; despite being the only customer in the place, Firefox estimates the download will require 18 hours. I have a Facebook friend who lives in West Africa. He has decent connectivity but only from a cybercafe. He has no way to save his own documents because no one sells flash drives there. There are many places in the world where one can get online with a smartphone but again have no way to save any documents they download. When I was the Product Development Manager for Working Software I kept twelve people employed despite that I only had a 40 MB hard drive. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Goodbye and Thanks for All The Code
I've been out of work for most of the last five years. Many well-meaning yet sadly misinformed people give me what doubtlessly would be good advice for others, for example that I should go on disability, get into subsidized housing or to stop linking my essays about my mental illness from every page on my website, but those well-meaning people do not understand my values. For reasons having largely to do with the way I was raised, it is far, far more important to me to solve the problems of others than it is to solve my own problems. I sent this just now to an administrator at the Northwestern School of Law at Lewis and Clark College in Portland, Oregon. I have many reasons to study law but primary among them are that while the legal rights of the mentally ill are well-established in legislation as well as court precedent, those rights are not only not enforced, they are largely unknown. That led for example, to my being very nearly beaten to death by two Oregon Health & Sciences University campus police officers. When I regained consciousness three days later, while I could correctly visualize the spelling of my name when I thought out it, I could not spell it correctly when I tried to write it by hand with a pencil. I asked the American Civil Liberties Union to represent me in a Civil Rights complaint against OHSU but recieved a form letter that pointed out that they focus only on Constitutional concerns. That doesn't make a whole lot of sense but that is what the ACLU actually said. To Wit: Ms. Sullivan, After a great deal of consideration, I have decided to change careers from Software Engineering to Public Interest as well as Civil Rights Law. However I'm not real sure how to get started. I am of very modest means; were I to go back to Physics grad school, I know my way would be paid by my advisor's research grant. I don't have a clue how I can pay for law school but given my lifelong dedication towards the service of others I expect some way can be found to pay my expenses. I wish to request an appointment for an Informational Interview, either with yourself or some other Law School staff that you recommend. My schedule is wide open. My number is (503) 688-8345 or my email is mdcrawf...@gmail.com. Among the reasons I want to read the law that I was taught from a very early age that the reason America exists was so that we would not live in the kind of country that in my actual experience, America has become. A great-great (not sure how many greats) uncle of mine, Roger Sherman, signed the Declaration of Independence - on the back of the $2.00 bill Uncle Roger is fourth from the right of the five founding fathers standing before the signing table, the tall guy with the tall forehead. I'm also related to the two Union Army General-in-Chiefs during the American Civil War, George B. McClellan and William Tecumseh Sherman. As a physicist and a computer programmer I know many ways to employ technical measures to protect our privacy and our rights however my experiences with those who don't take interest in technology is that engineering falls far short of the mark. My mother for example knows to shred her paper documents but there's no way I could ever convince her to use The Onion Router to protect her privacy. (http://torproject.org/) Mom attended Lewis and Clark her first year in college but transferred to the U of Idaho after she met my father. I attended Solano Community College and UC Davis for just a few classes after passing the California High School Proficiency Examination. I majored in Astronomy at the California Institute of Technology, then transferred to UC Santa Cruz where I obtained my BA in 1993. I enrolled in graduate school with a focus on Elementary Particle Physics, but dropped out as I was not prepared financially. While I would love to go back into Physics I don't see it as solving the kinds of problems I see. My experience is that while I do not get the best grades I am very well-known for asking the most-insightful questions. There is absolutely no doubt in my mind that my difficulty finding work in my present profession is due to my being so notoriously outspoken; a while back I wrote an online book called "Solving the Software Problem: a Taxonomy of Error". While I wrote it pseudonymously as "Jonathan Swift", on my "Contact" page I wrote: = I suppose this is a good place to clue you all in to the fact that my real name is Michael David Crawford. I use Jonathan Swift as a pseudonym not because he wrote the well-known book Gulliver's Travels but because he wrote the more historically important pamphlet A Modest Proposal. A Modest Proposal suggested that the problem of Irish poverty could be solved by slaughtering Irish infants that their meat may be served on the dinner tables of wealthy Britons. For his contribution to the social discourse of the
Re: Language options: Objective-C, Swift, C or C++?
I strongly support program correctness but regard C++ is the best at facilitating that for me personally. However I'm not a language zealot, and it took me years to figure out how to get C++ right. Pick out a few apps completely at random in the app store. Sort the reviews by most-negative first. Last time I tried the vast majority complained of crashes, user interfaces that did not work or were sorely confusing or end-user data loss. I held back an old version of Skype for years despite that it commonly crashed because so many complained that the new versions were far worse. I fault Apple, given that it is Apple's written policy to reject crashy apps from the app store. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Sat, Jun 13, 2015 at 7:50 PM, Rick Mann wrote: > >> On Jun 13, 2015, at 19:06 , Carl Hoefs >> wrote: >> >> Thanks for the informative listing. So Swift offers refinements (not a >> paradigm shift like object orientation over functional), many of which could >> be added to ObjC, and many of which I wouldn’t want. I guess I was trying to >> find the main, overwhelming purpose driving the adoption of Swift. I think I >> was looking too high. > > Watch the talk on protocol-oriented programming > (https://developer.apple.com/videos/wwdc/2015/?id=408). > > And remember, you an do object-oriented programming in C. There's nothing > magical about a language that makes it OO or prevents OO. But the language > can certainly make it easier or harder to do. > > What I think Swift gives, more than any of the other options we have, is > program correctness. I've only scratched the surface with Swift, and there > are things about Obj-C I miss (well, one thing), but I'm quickly coming > 'round to the idea that Swift is better (than other languages). > > -- > Rick Mann > rm...@latencyzero.com > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Language options: Objective-C, Swift, C or C++?
Gary, Doubtlessly my availability for software development is not due to my preference for C++ nor ZooLib, but because I am so outspoken regarding ethics, as well as so explicitly public about my mental illness of Bipolar-Type Schizoaffective Disorder. Consider for example that I was expelled from Caltech because I slept on a couch in Ricketts House after Master of Student Housing Chris Brennan told me not too. (I used to live in the room right next to Jens.) It is commonly said that surviving such catastrophes as heart attacks, cancers or wars gives one quite a different outlook on life. After having been damn near beaten to death by three Caltech security guards, I classify such concerns as frameworks, programming languages and platforms in the same bin that I place discussions concerning the angel capacity of pinheads. What I regard as more important to us all is: Every Engineer's Solemn Duty http://www.warplife.com/ethics/duty.html Thanks for letting me clear all that up. Mike Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Sat, Jun 13, 2015 at 6:32 PM, Gary L. Wade wrote: >> On Jun 13, 2015, at 5:14 PM, Michael David Crawford >> wrote: >> >> To code for OS X or iOS in C++ I can use ZooLib which I prefer quite a >> lot to any other framework I've ever used. >> … >> Available for Software Development in the Portland, Oregon Metropolitan >> Area. > > And that's an example of how there's always consequences to our actions. > -- > Gary L. Wade (Sent from my iPad) > http://www.garywade.com/ ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Language options: Objective-C, Swift, C or C++?
I don't need either Swift nor Objective-C to code for OS X or iOS, I need them to code for Cocoa or Cocoa Touch. To code for OS X or iOS in C++ I can use ZooLib which I prefer quite a lot to any other framework I've ever used. Andy Green wrote in response to Apple's abandonment of Bedrock. If Andy finds the rug pulled out from under as when Apple cancelled 64-bit Carbon he just writes a new low-level shim. I don't know but expect ZooLib now talks directly to CoreGraphics, POSIX file I/O and so on. Ultimately the operating system is called by sending Mach messages to it. There's really nothing that Cocoa or Cocoa touch can do that ZooLib couldn't do better in ISO C++. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Sat, Jun 13, 2015 at 4:53 PM, Maxthon Chan wrote: > The language complexity issue of C++ is one of the main reason it put me off > so much. And there is someone out there who posted a method of creating an > iOS app with no Objective-C code at all but quite a lot of runtime abusing. > The same method can be used on C++ but that requires some understanding how > Objective-C code works under the hood. > >> On Jun 14, 2015, at 07:46, Graham Cox wrote: >> >> >>> On 13 Jun 2015, at 8:09 pm, Michael David Crawford >>> wrote: >>> >>> The problem I've got is that those who pay for iOS and OS X >>> development have it in their heads that one must know either >>> Objective-C or Swift. >> >> >> You do need one of those to code for Apple devices, even if all your own >> code is in C++, because that’s what the frameworks use, and all the >> published APIs are expressed in. It’s a bit like the old days when you’d >> code in C or C++ but all the published APIs were in Pascal - you had to have >> an understanding of Pascal to follow the documentation at the very least, >> and to work with OS-defined data structures. >> >> For me, coming from 12 years of C++ to Objective-C in the early 2000s was a >> huge boost in productivity. A much simpler language can actually boost >> output because you spend less time trying to understand all the “features” >> you never actually need or use. YMMV. >> >> —Graham >> >> >> >> ___ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info >> >> This email sent to m...@maxchan.info > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Language options: Objective-C, Swift, C or C++?
"It is expected of me to learn languages, find out what they’re good for, and apply the right tool to the right job." The software director at a highly successful, well-known company I once consulted for - that I would prefer not to name - emailed us all to say that the company would not use Objective-c because he regarded the syntax as ugly. In 1997, a coworker who was one of the very finest Mac programmers to have ever walked the Earth complained that "C++ has to many colon-colon operators". Despite that he wrote lots of good C++ for our company, but he hated every minute of it. Javascript is now widely regarded as the world's most-popular programming language. While I can see the point of Javascript, I personally would rather chew my own foot off than write any. I'm not completely clear as to why, but among the reasons I enjoy C, C++, Objective-C and Assembly Code is that I can do tweaky little optimizations like reordering data accesses so as to reduce cache misses. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Sat, Jun 13, 2015 at 12:18 PM, Uli Kusterer wrote: > On 12 Jun 2015, at 22:48, Jens Alfke wrote: >> Even the “if” statement is a method on class Boolean. Objective-C on the >> other hand is an awkward combination of Smalltalk objects on top of C. And >> the C crap really gets in the way. That’s where Swift really helps. > > Or to paraphrase the Brad Cox book title: ObjC is “an evolutionary approach” > to OO. C is at once ObjC’s greatest strength (nobody would have adopted it > otherwise, and selective optimization would have been harder) and its > greatest liability (because without it it could be as beautifully clean and > learnable as Smalltalk). > > Cheers, > -- Uli Kusterer > “The Witnesses of TeachText are everywhere...” > http://zathras.de > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Language options: Objective-C, Swift, C or C++?
While I think Swift is just dandy, and see it as a step in the right direction that Apple has chosen to Open Source it, I won't be learning it until it is an ISO standard. The reason is specifically because Apple created Objective-C 2.0 without consulting a standards body. Objective-C has many merits however I far prefer C++ and for many good reasons. Were I to state those reasons in this email no doubt a language war will result. The problem I've got is that those who pay for iOS and OS X development have it in their heads that one must know either Objective-C or Swift. That leads to my extensive C++ experience being of absolutely no use when I apply for such coding gigs - this despite that I've used C++ on the Mac since 1990, while working for Apple. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Sat, Jun 13, 2015 at 12:10 AM, Graham Cox wrote: > >> On 13 Jun 2015, at 11:46 am, Quincey Morris >> wrote: >> >> I also wonder if Swift is going to meet the Graham Cox test: “Will Graham >> use it?” I’m picking on Graham (without giving offense, I hope) because he’s >> a crusty (though lovable) retrovert who’s still doing manual memory >> management *just in case* ARC isn’t doing things right. > > > Ha ha! Thanks for the somewhat backhanded compliment. > > You might be surprised to find that I’ve been working with ARC lately, and > finding it does what it says on the tin. The only reason not to adopt it > without reservation at this point is not that it might not be doing things > right, it’s just that I have a huge codebase with MMM (and I’m leery of > changing things that work fine without some very good reason, so converting > it to ARC might do more harm than good, but that’s not a reflection on ARC, > but on my own “crusty” code). Where I did give up on ARC for a small project > a few months back, and went back to MMM was a feeling that it was getting > *something* wrong, in that I had a huge leak I couldn’t get a grip on, but > after converting laboriously back to MMM it was still there. Turned out that > was a framework leak/bug that AFACS is still unfixed from 10.10.1 Also, being > comfortable in MMM, ARC isn’t the breath of fresh air that it is to some - I > seem able to breathe underwater just fine ;-) > > Anyway, ARC isn’t an issue any longer, even for crusty retrovert me. > > Swift. Well, that’s still another matter. I will definitely learn Swift, > because as Roland says, that’s where the puck is going. Going, but not there > yet. I’m glad to hear that Swift has come on a lot since WWDC 2014, maybe by > WWDC 2016 it will be sufficiently settled. For me that’s still not really the > issue - the issue is the huge chunk of Obj-C code I have to maintain every > day. If I were to start a large new project I might use Swift even now, > especially after last week’s announcement of Swift 2.0, but I still get the > impression there is still some rough edges that cause frustration and > confusion. At the end of the day my goal is to write as much income-earning > code as I can, and as such I don’t have the luxury of learning a new language > that I can’t be productive in, however much I’d like to. So Swift adoption is > likely to be via a few small projects to dip my toe, and get comfortable, > before throwing something big at it. > > —Graham > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
[OT] correcting mistaken identity
Ladies and Germs, I configured my gmail to send the following autoresponse just now; I'm sending this to cocoa-dev in hopes that the word might get through to all the potential employers who stumbled across the wrong pages while considering my applications -- Dear Friend, Thank you for contacting me; I will reply to your inquiry as promptly as I can. Please permit me to avail myself of this opportunity to point out that I am a Physicist and a Software Engineer, and am very much alive. The tattoo artist also named Michael David Crawford who did time in Walla Walla commencing in 2005, died at the age of 35 in a shootout with the Lakewood, Washington police on December 9, 2012. Him: http://www.blscourierherald.com/news/202781071.html Me: http://www.warplife.com/mdc/ While I remain dismayed by this mistaken identity, given that I am a specialist in software reliability I know very well how my colleagues can screw up on the job. Thanks for letting me clear all that up, Michael David Crawford, Consulting Software Engineer Solving the Software Problem http://www.warplife.com/mdc/ mdcrawf...@gmail.com While every Deity hath the Insight to Foretell the Future, Even G-d Almighty Himself Possesseth Not the Power to Undo the Past. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Wanted: Elegant way to manage this task
Would it help to read some of the Internet RFCs? They deal with this kind of things in various ways. Not that they're concerned with Objective-C or Cocoa but the concepts might be useful. On 6/8/15, Graham Cox wrote: > I have the following task I need to implement. > > > 1. I have a queue of NSData objects, usually representing a continuous > stream, but delivered in variable-sized chunks. However some chunks could be > missing, but the queue represents the correct order of the stream that was > delivered, and the missing chunks can be flagged. > > 2. The data in the stream consists of packets of fixed length. I need to > extract the packets and pass them as complete single entities to another > object (a delegate) for further processing. All complete packets must be > extractable, and I’d like to do this on a secondary thread if possible. > > 3. Due to the possibility of missing data chunks, resynchronisation for each > new data may be required. I can detect when a data entry is contiguous with > the previous one, or when one or more chunks has been skipped. A packet may > be split across input data, or may be incomplete due to being split across > data where the second part was missing. > > 4. Packet detection is based on a signature byte at the start of each > packet, and the fixed length of the packet which is a few hundred bytes. If > five consecutive packets are detected having the same signature byte, the > packets are presumed to have been detected and can be extracted for > processing. > > The object that handles this should accept NSData chunks as input and queue > them, or if there is a missing chunk, a nil data object. The object’s > delegate should be passed the extracted packets one at a time in order as > they become available, again as NSData objects. No time synchronization > between the input and output is required. > > This sort of processing isn’t really my strong point, so while I can think > of various ways to solve it by brute force and ignorance, I would have > thought this is something that would be recognisable as a standard sort of > stream processing algorithm by those who’ve done it before. Even just an > outline or pointer to something like this would be a help. > > > —Graham > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
While there were numerous reasons for my protest resignation, the reason I walked out - no notice given - was that I was the only one in the company who was aware that there even was such a thing as a C++ Smart Pointer. I knew something was up when I was told to stop referring to the computer programmers as "the engineers". In Canada, it's a civil offense to call yourself an engineer unless you're the Canadian equivalent of an American Professional Engineer. At that company, "the engineers" was taken to mean the industrial control system engineers - those who worked with electrical and mechanical gadgets. All the software was written by "computer programmers" for no reason I can fathom. In mechanical drawing - more commonly known as "drafting" - there is always a very specific convention for documentation blocks in your drawing. There will be the company name, maybe a logo, the draftsman's name, revision numbers, a title, date and so on. I expect their comment fetish evolved from that. What horrified me was that they were completely unaware that their product was likely to drop a pickup truck on top of an assembly plant worker. While the overall architecture had all manner of fault-tolerance engineered in, that fault-tolerance depended on correct C++ code. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Tue, Jun 2, 2015 at 5:38 PM, Graham Cox wrote: > >> On 3 Jun 2015, at 10:19 am, Michael David Crawford >> wrote: >> >> If their coding conventions are >> the sort that are likely to lead to correct code > > > The reason for coding style guidelines is a) correctness b) maintainability. > If it's just a fetish that the chief developer has and he can't back it up > with reasoned argument then that's suspect. > > Having been handed several uncommented and undocumented messes and left to > sort it out a couple of times in my career I'm very sensitive to the needs of > developers coming to a codebase cold. I try to write code in such a way that > I imagine a developer who's never seen it before could get up to speed in a > relatively short time, even if 99% of the time that developer is me, several > years removed. There's nothing worse than wasting hours wondering "what the > hell was I thinking?" instead of just reading a comment that explains what I > was thinking. > > --Graham > > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
I once worked for a company that had quite meticulous style rules regarding comments. I was also required to use a specific text editor because someone had written scripts that either enabled or enforced the comment style rules. I resigned in protest because their actual source code is quite likely to get someone killed someday, quite likely a great many people. They do industrial control systems software. Consider that the Stuxnet and Flame worms attacked HMI/SCADA software. I do comment tricky stuff. While I don't write actual comments regarding input parameters or return results, I do assert them - "assert( ptr != NULL )". I regard assertions as documentation not just tests; if you intentionally change the input parameter space, then your assertions will fail. Given that you really did want to change the parameters, you'll be forced to update the assertions as well. That's better than trying to keep comments in sync as there is no really satisfying test for correct comments. I quite commonly ask potential employers whether they have any kind of coding conventions. Whether I pursue the job has a lot to do with what those conventions actually are. If they're picky about their comments I withdraw my application. If their coding conventions are the sort that are likely to lead to correct code then I pursue the job with enthusiasm. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Tue, Jun 2, 2015 at 5:08 PM, Graham Cox wrote: > >> On 3 Jun 2015, at 9:03 am, Michael David Crawford >> wrote: >> >> "That's because comments are rarely maintained in sync with the actual >> source code." >> > > > So part of the responsibility of coding well is to maintain comments, not to > remove them altogether. > > At a minimum, I comment what a method does, in broad terms, and what the > parameters are for, if they're not obvious. Also, any "tricks" should be > commented. Any code that only works because of some hidden factor that isn't > obvious should be commented. Any non-obvious algorithm should be commented, > and so on. Code that is "obvious" is generally not worth commenting - it only > adds clutter. The example you gave was "obvious" in my opinion, so there > wouldn't normally be a comment there, even if it was correct. > > All this is usually covered in the style guide for coding that your employer > probably has, if they do any sort of serious coding. If you work for > yourself, you should have one as well. > > I don't trust completely uncommented code. > > --Graham > > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
After I pointed out my diligent use of comments to Scott Lydiard, President of aerial photography firm Verde Technologies, he advised me not comment my code in any way. WUT? "That's because comments are rarely maintained in sync with the actual source code." For example: int offset( void ) { return 3; // return 4 } This isn't the same as the jerks who think you're stupid if you can't follow their logic. I regard it as my responsibility to make my source clear and easy to maintain, even without comments. However I am dead certain that it loses me work, when potential clients look over my source and don't find any comments in it. Mike Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Tue, Jun 2, 2015 at 2:22 PM, Kyle Sluder wrote: > On Tue, Jun 2, 2015, at 03:42 PM, Charles Srstka wrote: >> > On Jun 2, 2015, at 3:31 PM, Jens Alfke wrote: >> > >> > I agree, actually. But in Swift the concept of ivar no longer exists, so I >> > have to rely on color/style to distinguish properties from locals. >> >> My solution with Swift is to consistently use the "self." prefix when >> referencing properties. If Apple could include an optional compiler >> warning to enforce this like they do with Obj-C auto-synthesis, it'd be >> *great* (hint hint for any Apple engineers that happen to be reading >> this). > > If you think this would be a worthwhile change to Swift, please file a > Radar. > > --Kyle Sluder > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
Among the reasons I've always preferred Mac development is the common use of CamelCase. I have poor eyesight and commonly eye fatigue as well, that leads to it being difficult for me to distinguish underscores from hyphens: foo = unix_style; foo = unix-style; It is for that same reason that I adopted someone else's practice of putting spaces inside of parentheses: void foo( int x, char y ) I've done that for decades but I've never seen anyone else do it. On 6/1/15, Britt Durbrow wrote: > In no particular order: > >> On Jun 1, 2015, at 7:27 PM, Michael David Crawford >> wrote: >> >> I quite commonly fix bugs by refactoring all the lengthy routines into >> several shorter ones. >> > > > I have the same rule of thumb - if it's not obvious what's going on, I > should probably think about refactoring it into smaller chunks. > > -- > >> >> >> On Jun 1, 2015, at 6:09 PM, Graham Cox wrote: >> >> If you have a complex method whose function can't be determined at a >> glance (and that in itself could be a good argument for a refactoring) >> with multiple exit points rather than one clear exit point at the end, it >> can often be hard to follow the flow of control. > > Um... don't do that? :-) > > Yes, early returns & gotos are power tools that can be misused. YMMV, wear > proper personal protective equipment, void where prohibited and/or > uninitialized, not for sale to miners, etc... > > ...and no, I have no idea why people who dig ore out of the ground shouldn't > be allowed to buy it (I suppose that's what I get for asking a muppet for > legal advice, eh? :-) > > -- > > >> >> On Jun 1, 2015, at 4:39 PM, Quincey Morris >> wrote: >> >> On Jun 1, 2015, at 14:52 , Britt Durbrow >> wrote: >>> >>> I happen to like an extra semicolon after a closing brace when it's the >>> end of the logical block. It's just the way I like it to look (it feels >>> 'funny' to me to have a statement end without one); the compiler ignores >>> it. YMMV. >> >> The issue here is that you may find it comforting to see ';' at the "end" >> of a statement, but it skates right over the ambiguity of when a "{ ... }" >> construct is to be regard as a "logical block". The compiler does *not* >> ignore the ";" after "}". The following does *not* compile: >> >> if (...) {...}; else {...}; >> >> You can argue that the intermediate ';' not the end of a logical block, >> but if a "}" isn't the end of a logical block, you've just changed a >> stylistic rule into a syntax rule. >> > > The entire if statement is what I consider a logical block: the else {...} > does not, and indeed cannot, stand alone. > > if(someCondition) > { > [someObject doSomething]; > } > else > { > [someObject doSomeOtherThing]; > }; > > [anotherObject doesSomethingElseEntirely]; > > is the same to the compiler as: > > if(someCondition) > { > [someObject doSomething]; > } > else > { > [someObject doSomeOtherThing]; > } > > [anotherObject doesSomethingElseEntirely]; > > or even: > > someCondition?[someObject doSomething]:[someObject > doSomeOtherThing],[anotherObject doesSomethingElseEntirely]; > > although I will say that the readability on the third example does suffer > somewhat. :-) > > -- > >>> I don't use underscores to prefix ivars. I think it's ugly, and >>> unnecessary -- it doesn't help with namespacing (if a subclass and a >>> superclass both declare _someVariable with the underscore they will >>> collide just as badly as if they declare someVariable without one) >> >> The real reason for this convention is something else. In the bad old days >> (meaning, more or less, pre-Leopard), there were multiple conflicting >> conventions about using "_" for naming. Perhaps it was when the clang >> compiler was introduced, I can't remember exactly, but Apple decreed the >>
Re: Looking at self = [super init].
I quite commonly fix bugs by refactoring all the lengthy routines into several shorter ones. I'll do that especially when I can't determine the cause of a bug; instead I'll just look around for messy source then tidy it up. That has a way of making bugs go away. On 6/1/15, Charles Srstka wrote: > On Jun 1, 2015, at 6:39 PM, Quincey Morris > wrote: >> >> On Jun 1, 2015, at 15:14 , Charles Srstka > <mailto:cocoa...@charlessoft.com>> wrote: >>> >>> Which is not at all, actually: >> >> The answer is "not at all" only with the modern ABI. 32-bit Mac >> compilations will conflict. > > That's true. Also, code written for the Mac Plus using THINK C 3.0 will > conflict. However, compilation targets that people are actually still using > in 2015 will not conflict. > > Charles > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
Steve - are you saying that C++ destructors aren't called if you use a goto? It was my understanding that the destructor is called if you go out of scope for any reason, even if it's a goto. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Mon, Jun 1, 2015 at 4:39 PM, Quincey Morris wrote: > On Jun 1, 2015, at 14:52 , Britt Durbrow > wrote: >> >> I happen to like an extra semicolon after a closing brace when it's the end >> of the logical block. It's just the way I like it to look (it feels 'funny' >> to me to have a statement end without one); the compiler ignores it. YMMV. > > The issue here is that you may find it comforting to see ';' at the "end" of > a statement, but it skates right over the ambiguity of when a "{ ... }" > construct is to be regard as a "logical block". The compiler does *not* > ignore the ";" after "}". The following does *not* compile: > > if (...) {...}; else {...}; > > You can argue that the intermediate ';' not the end of a logical block, but > if a "}" isn't the end of a logical block, you've just changed a stylistic > rule into a syntax rule. > >> I don't use underscores to prefix ivars. I think it's ugly, and unnecessary >> -- it doesn't help with namespacing (if a subclass and a superclass both >> declare _someVariable with the underscore they will collide just as badly as >> if they declare someVariable without one) > > The real reason for this convention is something else. In the bad old days > (meaning, more or less, pre-Leopard), there were multiple conflicting > conventions about using "_" for naming. Perhaps it was when the clang > compiler was introduced, I can't remember exactly, but Apple decreed the > current convention, to work around the inherent unsafety of Obj-C namespacing: > > -- Private 3rd party instance variables *should* use the underscore. > > -- Private 3rd party methods *must not* use the underscore. > > It's not really a question of good or bad. It's more a question of what we > were required to do to avoid future Cocoa frameworks releases from > retroactively breaking our apps. > > On Jun 1, 2015, at 15:14 , Charles Srstka wrote: >> >> Which is not at all, actually: > > The answer is "not at all" only with the modern ABI. 32-bit Mac compilations > will conflict. > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
The paper entitled "Goto Considered Harmful" - by Dijkstra? - was criticizing spaghetti code. At the time, commonly used programming languages did not have control flow statements like "if/then/else", "do/while", "while" or "switch/case". Instead, other than fortran's "do/continue" you had to roll your own control flow; often it was done quite poorly. If you're experienced with coding as well as careful about it, there's no real good reason that one cannot use goto to create control flow that's not built-in to the language. Despite that it is commonly asserted that if you use goto, then you are clueless. That's just wrong. Assembly code doesn't really have control flow constructs. You make them out of gotos - condition or unconditional branches. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Mon, Jun 1, 2015 at 4:05 PM, pscott wrote: > On 6/1/2015 2:52 PM, Britt Durbrow wrote: >> >> I personally find early returns to be very useful, and also make use of >> forward-jumping goto statements sometimes (i.e, goto bail;). > > > FWIW, while I embrace both early returns and the goto statement where it > makes sense, for the case you make, I would use a break statement inside a > do block: > > #define end_do while (0) > > do { > if ( bailCondition ) break; > if ( someOtherBailCondition ) break; >... > } end_do; > > This creates another level of indentation, but structurally, that's the > point. > >> However, when working on somebody else's code (like, say, an open-source >> library); I'll adopt their coding style, even if some of the things they do >> make my eyes itch. ;-) > > > We are cut from the same cloth, there. > > Paul > > -- > Paul Scott > psc...@skycoast.us > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
I've always used "m" to prefix ivars: mSpeed, mDistance. I use "s" for statics and "k" for constants. I'd like to find a good convention for distinguishing properties but haven't really found one that is appealing to me. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Mon, Jun 1, 2015 at 3:14 PM, Charles Srstka wrote: > On Jun 1, 2015, at 4:52 PM, Britt Durbrow > wrote: >> >> I don't use underscores to prefix ivars. I think it's ugly, and unnecessary >> -- it doesn't help with namespacing (if a subclass and a superclass both >> declare _someVariable with the underscore they will collide just as badly as >> if they declare someVariable without one) > > Which is not at all, actually: > > #import > > @interface Foo : NSObject > > - (void)fooLogAnIvar; > > @end > > @interface Bar : Foo > > - (void)barLogAnIvar; > > @end > > int main(int argc, const char * argv[]) { > @autoreleasepool { > Bar *bar = [Bar new]; > > [bar fooLogAnIvar]; > [bar barLogAnIvar]; > } > return 0; > } > > @implementation Foo { > NSString *_anIvar; > } > > - (instancetype)init { > self = [super init]; > > if (self == nil) { > return nil; > } > > _anIvar = @"Foo"; > > return self; > } > > - (void)fooLogAnIvar { > NSLog(@"Foo: _anIvar is %@", _anIvar); > } > > @end > > @implementation Bar { > NSString *_anIvar; > } > > - (instancetype)init { > self = [super init]; > > if (self == nil) { > return nil; > } > > _anIvar = @"Bar"; > > return self; > } > > - (void)barLogAnIvar { > NSLog(@"Bar: _anIvar is %@", _anIvar); > } > > @end > > 2015-06-01 17:12:16.328 test[17203:2499855] Foo: _anIvar is Foo > 2015-06-01 17:12:16.329 test[17203:2499855] Bar: _anIvar is Bar > >> and ivars vs accessors are obvious by context: [self obviouslyAnAccessor] or >> self.obviouslyAnAccessor vs obviouslyAnIvar (or very rarely, >> someObject->obviouslyAnIvar). > > > Non-underscored ivars vs. local variables, however, are not obvious at all, > especially if the method is large. > > Charles > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
[OT] Computer Employer Index
I am building a list of links directly to the "Jobs" or "Careers" sections of computer employer websites. Not just for coding jobs but also hardware engineering, QA, project management, technical sales and the like. http://www.warplife.com/jobs/computer/ So far I've done this mostly in a very painfully manual way however I am developing some automated tools. There is no charge for a listing there, nor will there ever be. Please do not be dismayed if I do not yet list your company, just mail your homepage URL - offlist - to mdcrawf...@gmail.com I am not aiming to make money from this. I'm doing it as a public service to the community. The Santa Cruz County, California page explains why I started it way back in 1997; I little over a year ago I decided to work towards a global index. The best coverage so far is for Portland and Seattle. The San Luis Obispo page does not have many entries but because SLO doesn't have much tech that list can be considered reasonably complete. I also cover San Francisco, Boston, New York City, London and Berlin. There is also a remote work page. I have a great many links that I have not posted yet. I generally post a page for a new location once I have enough links that I can make a splash by announcing that specific page. You could help a lot of people out were you to pass the URL onto those who you genuinely feel would be interested in or would benefit from it. Yours, Mike Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: [PSA] OSStatus.com -- Error code lookup
May I Bear Your Firstborn? Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Sat, May 30, 2015 at 9:38 PM, Seth Willits wrote: > > I can't tell you how many times over the years I've been frustrated by having > to manually search multiple frameworks' header files to look up what the > symbol or description for an error code value was. (I know 'macerror' exists, > but I have never had any luck with it. I consider it useless.) > > I finally got fed up, wrote some code, and made a website. So, here's v1. > http://www.osstatus.com/ > > I hope someone besides me finds it useful. ;-) > > > -- > Seth Willits > > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Looking at self = [super init].
While in principle machine code implementations of subroutines can return from several different places, in practice they don't. Rather the compiler's code generator emits a branch instruction to the end of the subroutine, there there is an "epilog". There are many good reasons for returning from the middle in certain specific cases; what if the only epilog you need is an "rts"? Branching to the epilog could cause a cache miss. I expect the compiler developers know all about this but don't typically avail themselves of it because writing compilers is difficult. To be clear, the following source code: - (id) init { if ( self == [super init] ) return nil; // lots of code goes here return self; } ... is implemented as something like this, but in machine code: - (id) init { id result; if ( self == [super init] ){ result = nil; goto epilog; } // lots of code goes here result = self; epilog: return result; } Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Fri, May 29, 2015 at 6:25 PM, Graham Cox wrote: > >> On 30 May 2015, at 3:22 am, Alex Zavatone wrote: >> >> // We don't care if this gets long. > > > My take is that you're rewriting a well-recognised idiom to solve a > non-existent problem. > > The well-recognised idiom makes it easy to verify it's correct. Hiding a > different construct inside a macro obscures that, making it harder to verify > the code. It's not "wrong" exactly, just harder to see at a glance that it's > right. > > The non-existent problem you're trying to solve is that the gap between a > pair of braces could get large. So what? Early returns can be another source > of bugs, so structural purists would tell you that you shouldn't do that. > Sometimes I think it's justified, but not usually worthwhile. Another > religious issue is whether matching braces should line up or not. Personally > I prefer that they do, at the cost of an extra line. Because you aren't doing > that, your long distance between braces is bothering you, because you're > losing track of where it started (I assume that's why it's bothering you). If > you line up the braces that is much less of an issue. > > Source code is for humans, so it should be as readable as you can possibly > make it. Macros often hinder that. Unaligned braces hinder that. Multiple > statements per line hinder that. > > Factoring code helps, so I'd suggest that's the better way to solve this. > (and it's also beneficial when it comes to making sure that -initWithCoder: > and other initializers that don't correctly follow the designated initializer > rule can get access to your common initialization. While this is rarely a > problem, I did notice that the recent change to encourage the use of > -initWithCoder: for unpacking NSViews from a nib breaks this long-standing > rule and so a common init method that both can call is a simple workaround). > > --Graham > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Copy test docs to Simulator App's Documents folder?
I'm still trying to load the simulator with some sample files for my app's Documents folder. I'm able to put documents in the Documents folder for my app on my iPad. I can use the Devices window to copy my .xcappdata folder to my project heirarchy. I can select it to be added to my simulated app in the Edit Scheme / Options dialog. The .xcappdata folder does contain the desired documents but they don't show up in my app's UI. Is this a known bug in Xcode or the Simulator? There is some possibility it is a bug in my code. I'll look into that while I eagerly await your response. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Mon, Apr 20, 2015 at 8:45 PM, Michael Crawford wrote: > (David Brittain sent me his AppDataInfo.plist.) > > That gets me part of the way there but now I get the message > "Application Data package not copied to the Simulator" because it > doesn't have a data folder, along with the promise to copy it the > _next_ time it is run, however that doesn't happen. Google yields no > joy. > > Possibly the settings in my plist aren't consistent with the rest of > the project I will check that. > > Someone already filed a radar in which he request that we be able to > set up Application Data for the Simulator. > > -- > Michael David Crawford, Consulting Software Engineer > mdcrawf...@gmail.com > http://www.warplife.com/mdc/ > >Available for Software Development in the Portland, Oregon Metropolitan > Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Stupid Cocoa question. How can you tell if the object you are looking at is a property or an ivar?
If you have so many ivars, or so many properties that it's a lot of work to figure out which is which, quite likely you're doing something wrong. Now you're already refactoring your code, so you're doing something right there. It is quite common that well-done refactoring reduces the numbers of lines of code. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Wed, May 20, 2015 at 4:17 PM, Jens Alfke wrote: > >> On May 20, 2015, at 4:08 PM, Eric Wing wrote: >> >> You could use the Objective-C runtime to find out which things are >> properties. > > You could, but isn't it a lot easier to just look at the character before the > name and check whether it's a "."? > > --Jens > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Stupid Cocoa question. How can you tell if the object you are looking at is a property or an ivar?
You could comment off their declarations in your header files, then have a look at which uses of them in your sources result in fatal compiler errors. (Comment off just one at a time.) Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Wed, May 20, 2015 at 4:08 PM, Eric Wing wrote: >> Which are they, ivars or properties? >> >> I don't know. I can't tell. >> >> Is there any way to inspect an instance and tell if it is a property or an >> ivar if both the property and ivar have the same name? >> >> Fun times, fun times. >> > > You could use the Objective-C runtime to find out which things are properties. > Look for functions like: > objc_property_t * class_copyPropertyList ( Class cls, unsigned int *outCount > ); > > ivars that are not properties will not show up as properties, so you > can cross-reference these with a master list you keep. > > > -Eric > -- > Beginning iPhone Games Development > http://playcontrol.net/iphonegamebook/ > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Stupid Cocoa question. How can you tell if the object you are looking at is a property or an ivar?
there are good reasons to use properties that are backed by ivars, there are good reasons to use properties that aren't backed by anything, and there are good reasons to use ivars that are not properties. In my own code I started with nothing but ivars, but changed some of them to properties while neglecting to remove the original ivar. This leaves me somewhat in the same situation as you. As I refactor my own code I keep in mind each of the above three situations. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Wed, May 20, 2015 at 1:42 PM, Ken Thomases wrote: > Have to correct a typo: > > On May 20, 2015, at 3:22 PM, Ken Thomases wrote: > >> You are accessing a property if you use explicit message sending >> ([someObject someProperty] or [someObject setSomeProperty:someValue]) or if >> you use implicit message sending view dot syntax (someObject.someProperty). > > That should be "via" dot syntax, not "view". > > -Ken > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: How to draw a NSView on top of a WebView and don't get overriden trying
would it work render the web view in an offscreen buffer, then copy that onto an on-screen view of your own? At that point you could either have your child view, or simply draw into one big view. On 5/13/15, Juanjo Conti wrote: > I'm writing a screen saver, so using another window is not possible :( > > On Tue, May 12, 2015 at 6:00 PM, Mike Abdullah > wrote: > >> The failsafe way is to place a child window over the WebView. I'm not 100% >> sure but I think popovers work that way behind the scenes, so maybe one of >> them would be usable for this. >> >> > On 12 May 2015, at 22:44, Juanjo Conti wrote: >> > >> > I have a WebView and I want to show some messages over it. For this I'm >> > using a NSView. >> > >> > If I add it as a subView of WebView or if I add it as a subView of the >> > WebView's superView, it's shown for a while but if the WebView gets >> > scrolled or if I load sites gmail.com or twitter (without logging in), >> the >> > website hides my NSView. >> > >> > Is this a known problem? is there any solution? >> > >> > Thanks in advance, >> > -- >> > >> > Juanjo Conti http://goog_2023646312>@carouselapps.com >> > > >> > >> > Software Engineer - Carousel Apps <https://carouselapps.com> >> > >> > -- >> > Carousel Apps Limited, registered in England & Wales with registered >> number >> > 7689440 and registered office Unit 2 Artbrand Studios, 7 Leathermarket >> > Street, London SE1 3HN. Any communication sent by or on behalf of >> Carousel >> > App Ltd or any of its subsidiary, holding or affiliated companies or >> > entities (together "Watu") is confidential and may be privileged or >> > otherwise protected. If you receive it in error please inform us and >> > then >> > delete it from your system. You should not copy it or disclose its >> contents >> > to anyone. Messages sent to and from Watu may be monitored to ensure >> > compliance with our internal policies and to protect our business. >> > Emails >> > are not secure and cannot be guaranteed to be error free. Anyone who >> > communicates with us by email is taken to accept these risks. >> > ___ >> > >> > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> > >> > Please do not post admin requests or moderator comments to the list. >> > Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> > >> > Help/Unsubscribe/Update your Subscription: >> > >> https://lists.apple.com/mailman/options/cocoa-dev/mabdullah%40karelia.com >> > >> > This email sent to mabdul...@karelia.com >> >> > > > -- > > Juanjo Conti http://goog_2023646312>@carouselapps.com > > > > Software Engineer - Carousel Apps <https://carouselapps.com> > > -- > Carousel Apps Limited, registered in England & Wales with registered number > 7689440 and registered office Unit 2 Artbrand Studios, 7 Leathermarket > Street, London SE1 3HN. Any communication sent by or on behalf of Carousel > App Ltd or any of its subsidiary, holding or affiliated companies or > entities (together "Watu") is confidential and may be privileged or > otherwise protected. If you receive it in error please inform us and then > delete it from your system. You should not copy it or disclose its contents > to anyone. Messages sent to and from Watu may be monitored to ensure > compliance with our internal policies and to protect our business. Emails > are not secure and cannot be guaranteed to be error free. Anyone who > communicates with us by email is taken to accept these risks. > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: IB_DESIGNABLE - anyone got it to work?
I haven't tried it myself but this sounds like a bug in IB rather than in your own code. Perhaps you should take a stab at writing a minimal test case, then if that demonstrates that it really is a bug, file a radar. On 5/12/15, Roland King wrote: > >> On 12 May 2015, at 14:43, Graham Cox wrote: >> >> I'm exploring the use of the new IB_DESIGNABLE macro to preview a custom >> view live in IB. >> >> It keeps complaining that my view is taking too long to draw, over 200mS, >> which seems to be a limit built into IB. However, when I measure the time >> myself for drawing, it's nowhere near this long - 10mS max, typically 2mS. >> Because of this constant and apparently erroneous complaint, IB doesn't >> show my custom view. I've even tried to do some minimal drawing (just >> filling the dirty rect) for just the Interface Builder target, but I get >> the same problem, so it's pretty clear that the timeout is nothing to do >> with my drawing. >> >> At other times IB complains that the rendering agent "crashed", though >> it's actually an exception from the bowels of Core Graphics. My usual >> drawing code never triggers the same exception, only when it's drawn by >> the IB rendering agent. >> >> Has anyone been able to make this work? >> >> --Graham > > I have been able to make it work but it's not been a trouble-free > experience. There was at least one version of Xcode I couldn't make it work > at all. I've had other times that a quit/restart was needed to get it going. > > I suspect that this is not your problem but I will mention I have a bug > report out that the IB render code calls initWithFrame: which isn't required > in Swift and I hadn't in one case implemented it, so it just crashed, or > hung or both. You're most-likely in obj-c so that is unlikely to be your > issue. You could override it anyway just for good measure. > > The docs and the WWDC video say the custom control must be in a framework > but I believe that's not actually true, or no-longer true as of the released > Xcode 6? There was a note somewhere about this but I can't find it now and > neither can google. > > You can debug these IB designable things. I found that if I was able to get > the view to enable the Debug Selected Views menu item then it seemed IB was > mostly happy with the control. > > Not entirely helpful I know - I just bashed my head against the brick wall > for a while until it worked. > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Outlets are nil after awakeFromNib call
I don't know why they are nil, but in general it is quite helpful to use assertions anywhere you could have made a coding error. This is, rather than: void foo: (char*)buf { // buf points to a valid C string ... } use this: void foo: (char*)buf { assert( buf != NULL ); ... } On 5/10/15, Sasikumar JP wrote: > Hi, > >I am observing outlets are nil after the awakeFromNib call in my > viewcontroller which is created from the storyboard. > > As per the apple documentation, awakeFromNib will be called after > initialising all the objects and outlets for a view controller from nib. > > i hope awakeFromNib is valid for storyboard too. > >my application is crashing if i do any operation on the outlet var. I am > using Xcode 6.3 with Swift. > > > Regards > Sasikumar JP > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Drawing many thin vertical lines is very slow
My iOS app enables the user to toggle on and off a square grid. When the grid is enabled, a tap inside a cell toggles the color of the cell between black and blue. When the grid is disabled, one can use a pinch-zoom gesture to adjust the sizes of the cells. (I'm not so sure that's a sensible UI but that's not the problem I'm looking into just now.) If the pitch of the gride is fine, then there are many lines on the screen. If I autorotate, redrawing the vertical lines takes hundreds of times as long as redrawing the horizontal lines. That makes sense as one can draw a horizontal line by incrementing a pointer into the image buffer. To draw a vertical line one has to draw a pixel, then calculate the memory address of the next pixel vertically downwards. I wonder if there is a better way to do this? I'm using UIRectFill to draw 1.0 point thick rectangles. I thought of using CoreGraphics directly but Instruments tells me that all the time is spent way down in the innards of CG. Before I draw the grid, I erase the whole view to blue, then draw black rectangles for my cells. A small optimization is that if two or more cells are horizontal neighbors, I draw them in one UIRectFill operation. The vertical line drawing is so slow that it is disruptive to the user when autorotating - the whole UI freezes for as long as two seconds, looks distorted during that time then very quickly renders the desired appearance. One way would be to render a single vertical line into a tall, narrow offscreen image buffer then copy that buffer into multiple locations on the screen. Another way would be for me to render the entire view in an offscreen image buffer, which I expect I could do far more efficiently than by making many calls into UIRectFill or even CoreGraphics. I've done lots of direct memory pixel manipulations over the years, that wouldn't be a problem for me to implement but before I do, do you think it would be a good idea? -- Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Rotate a standard Cocoa control?
Thanks! Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Thu, May 7, 2015 at 4:24 PM, Graham Cox wrote: > >> On 8 May 2015, at 9:04 am, Michael David Crawford >> wrote: >> >> Then draw the indicator with an image from a PNG > > > I usually use PDF, because then you get scalable graphics without having to > worry about 2x, 3x screens and so on. Any slower performance is usually > unnoticeable for simple graphics. SVG should also work in theory but the > built-in support is limited (I don't think it's supported by NSImage, only > WebKit) and also somewhat incomplete. Stick with PDF, it's native. > > --Graham > > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Rotate a standard Cocoa control?
If you draw your own control, it might help you to get started to make a very rough drawing of the control, one with no moving parts but with the areas of the control clearly delineated so you know where to do your hit-testing. Then draw your indicator with a black circle or square. Then draw the indicator with an image from a PNG. At the very end have a designer do nice graphics. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Thu, May 7, 2015 at 3:55 PM, Graham Cox wrote: > >> On 8 May 2015, at 6:11 am, Jerry Krinock wrote: >> >> a mid 19th-century radio receiver > > Really Jerry? Radio receivers weren't a thing until the 1920s! > > >> Am I correct that the answer is "no"? Keep in mind that we're not just >> drawing here; this is a control; we need mouse clicks, etc. >> >> Indeed, I'm not much of a drawing and graphics guy. > > I suggest it's time to break out the subclass. I suspect it's not going to be > a hugely difficult task. One thing I've found is a good approach to custom > controls is to draw the graphical parts separately (in a drawing app) and > just use them as an included resource. That way you don't get bogged down in > low level drawing code, it's easy to modify or customise and you can > concentrate your coding effort on the functioning of the control rather than > its appearance. > > I wouldn't be surprised if there is a 3rd-party solution out there for this > already. > > --Graham > > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Rotate a standard Cocoa control?
You could do what Apple's UIKit engineers do: implement your own subclass of UIView, with your own drawing and hit testing. Then you could put your radio in a wooden cabinet, maybe model some of the warm distortion that vacuum tubes yield Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Thu, May 7, 2015 at 1:36 PM, David Rowland wrote: > In iOS I have used the "transform" property of UIView to rotate a slider. > > David > > >> On May 7, 2015, at 1:11 PM, Jerry Krinock wrote: >> >> I would like to subclass NSSlider to make it work like the "volume control" >> on a mid 19th-century radio receiver. That is, I want the minimum value to >> be at 7 o'clock, and the maximum value to be at 5 o'clock. There two issues >> in using the circular version of NSSlider for this: >> >> 1. There is no dead zone between the minimum and maximum settings. (What >> were they thinking?) >> 2. The min and max settings are at the top, 12 o'clock. >> >> I've solved the first issue by overriding -closestTickMarkValueToValue:. >> (Oh, I'm also using "detents", allowsTickMarkValuesOnly = YES). >> >> I think I could solve the second issue with more complicated code in >> -closestTickMarkValueToValue:, but I'd also need to remap the values somehow >> and this might be a mess. So I was wondering if instead there was an easy >> way to rotate the control on the screen by, say 165 degrees. >> >> Am I correct that the answer is "no"? Keep in mind that we're not just >> drawing here; this is a control; we need mouse clicks, etc. >> >> Indeed, I'm not much of a drawing and graphics guy. >> ___ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/rowlandd%40sbcglobal.net >> >> This email sent to rowla...@sbcglobal.net > > > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com > > This email sent to mdcrawf...@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: static analyzers says I'm leaking, I _think_ I'm not
I agree that it's inappropriate to expect that the analyzer will assume that the getters and setters work the way they conventionally do. One reason we have properties is so that, when required, they can do other things: - (void) setAdversary: (int)enemy { _enemy = enemy; [_enemy setUpTheBomb]; } Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Wed, May 6, 2015 at 2:54 PM, Ken Thomases wrote: > On May 6, 2015, at 4:40 PM, Aaron Montgomery wrote: > >> If the property is set to "retain", then the line >> >> self.cycler = [[[initWithGrid:self] autorelease] >> >> will cause the setter to retain the passed in object, so after this line, >> _cycler will have a (heuristic) retain count of 2 (an alloc and a retain). >> >> After this, when the autorelease pool is drained, reducing the (heuristic) >> retain count by 1: you've still got a hold of it in the property. >> >> Then in dealloc, you release the object in dealloc to reduce the (heuristic) >> retain count to 0. > > Or, in other words, sending an object -autorelease is just like sending it a > -release only the effect is delayed. > > A combined alloc/init/autorelease balances itself. A strong (or "retain") > property will be balanced if the setter is written properly (which a > synthesized setter will be) and you release in -dealloc. > >> To release the object, you can use >> >> [_cycler release]; >> >> or >> >> self.cycler = nil; > > Better to use the former in case the setter (in this class or a subclass) > does extra work that wouldn't be appropriate during deallocation. > >> or you may be able to not even bother if you won't create a cycle, I haven't >> done manual memory in a while, but I think retained properties are released >> at destruction automatically. > > No, in manual retain-release, nothing is released automatically. In > -dealloc, you have to explicitly release the objects you own. > > Regards, > Ken > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: static analyzers says I'm leaking, I _think_ I'm not
John McCall wrote: > You should probably make the property readonly and just directly assign to > the ivar in -init. That works. In this particular case, it might make more sense for my property to be just a regular ivar, without a getter and setter. That is, my grid object owns a cycler object, client code turns the cycler on and off, adjusts its speed and so on. My code might be easier to maintain if the grid exposed an interface to do all that. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Wed, May 6, 2015 at 2:21 PM, John McCall wrote: >> On May 6, 2015, at 1:57 PM, Michael David Crawford >> wrote: >> I've had problems in the past where I failed to understand the Cocoa >> ownership conventions, I'm willing to grant that could be the case. >> >> I know for sure that the analyzer enforces the naming conventions, >> that is, the exact same function names in C or C++ won't yield that >> same warnings as "alloc", "new" or "copy" would in Objective-C. >> >> I'm reluctant to use ARC because in my honest opinion, ARC will get >> the leaks and most out of the crashes out of skanky code. If you >> don't use ARC, you get them out by fixing the skank: >> >> "Dave, why do you add twelve extra bytes to all of Spellswell's >> allocations?" >> >> "That was so Spellswell would stop crashing." Facepalm. >> >> // LifeGrid.h >> @property (assign, nonatomic) GridCycler *cycler; >> >> // Lifegrid.m - init >> self.cycler = [[GridCycler alloc] initWithGrid: self]; // Potential >> leak of an object >> if ( nil == self.cycler ) goto cycler_failed; >> >> // dealloc >> [self.cycler release]; >> >> Expanding the "potential leak" message yields: >> >> 1. assuming 'self' is not nil >> >> 2. method returns Objective-C object with +1 retain count >> >> 3. Object leaked: allocated object is not references later in this >> execution path and has a retain count of +1. >> >> Isn't that what I want? I should be taking ownership of it with >> "alloc/initWithGrid". >> >> (initWithGrid doesn't do a cyclic retain.) > > "cycler" is really a strong property (because you release its value in > -dealloc), but you've declared it as assign, which means the synthesized > setter won't retain the new value or release the old value. One way of > looking at this is that the setter takes its argument at +1 and has a > precondition that the property is currently set to nil. Another way of > looking at it is that the setter is buggy. > > You should probably make the property readonly and just directly assign to > the ivar in -init. > > John. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: static analyzers says I'm leaking, I _think_ I'm not
This is 6.2. I speculated a different diagnostic was a bug; were it correct, I would have seen that same diagnostic on some other code. I'll file a radar with a minimal test case if you'd like me to. I'll download 6.3.1 right now. Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Wed, May 6, 2015 at 2:12 PM, Greg Parker wrote: > >> On May 6, 2015, at 1:57 PM, Michael David Crawford >> wrote: >> >> // LifeGrid.h >> @property (assign, nonatomic) GridCycler *cycler; >> >> // Lifegrid.m - init >> self.cycler = [[GridCycler alloc] initWithGrid: self]; // Potential >> leak of an object >> if ( nil == self.cycler ) goto cycler_failed; >> >> // dealloc >> [self.cycler release]; >> >> Expanding the "potential leak" message yields: >> >> 1. assuming 'self' is not nil >> >> 2. method returns Objective-C object with +1 retain count >> >> 3. Object leaked: allocated object is not references later in this >> execution path and has a retain count of +1. >> >> Isn't that what I want? I should be taking ownership of it with >> "alloc/initWithGrid". >> >> (initWithGrid doesn't do a cyclic retain.) > > Which version of Xcode are you using? The static analyzer in Xcode 6.3 has > several bugs in retain count analysis and not all of them are fixed in Xcode > 6.3.1. > > > -- > Greg Parker gpar...@apple.com Runtime Wrangler > > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
static analyzers says I'm leaking, I _think_ I'm not
I've had problems in the past where I failed to understand the Cocoa ownership conventions, I'm willing to grant that could be the case. I know for sure that the analyzer enforces the naming conventions, that is, the exact same function names in C or C++ won't yield that same warnings as "alloc", "new" or "copy" would in Objective-C. I'm reluctant to use ARC because in my honest opinion, ARC will get the leaks and most out of the crashes out of skanky code. If you don't use ARC, you get them out by fixing the skank: "Dave, why do you add twelve extra bytes to all of Spellswell's allocations?" "That was so Spellswell would stop crashing." Facepalm. // LifeGrid.h @property (assign, nonatomic) GridCycler *cycler; // Lifegrid.m - init self.cycler = [[GridCycler alloc] initWithGrid: self]; // Potential leak of an object if ( nil == self.cycler ) goto cycler_failed; // dealloc [self.cycler release]; Expanding the "potential leak" message yields: 1. assuming 'self' is not nil 2. method returns Objective-C object with +1 retain count 3. Object leaked: allocated object is not references later in this execution path and has a retain count of +1. Isn't that what I want? I should be taking ownership of it with "alloc/initWithGrid". (initWithGrid doesn't do a cyclic retain.) Thanks, Mike Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
malloc(0) returns a pointer, not NULL
This came as news to me. The C spec says this is implementation-definited; malloc(0 may return either NULL or it may return a pointer that can subsequently be passed to free(). In the case of the bug I'm looking at just now, it's an error in my code, so I now have: assert( 0 != bytes ); ptr = malloc( bytes ); Just thought you'd like to know, Mike Michael David Crawford, Consulting Software Engineer mdcrawf...@gmail.com http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com