Continuing the mulle-objc release with mulle-aba
The mulle-objc runtime has long been completed, the compiler seems stable. I could put it all up on GitHub make an announcement and call it a day, but I thin...
The mulle-objc runtime has long been completed, the compiler seems stable. I could put it all up on GitHub make an announcement and call it a day, but I thin...
mulle-bootstrap 2.0 has just been released and it contains a lot of new functionality, simplifications and other improvements. It now runs on Linux, FreeBSD,...
Short version Pidgeys are plentiful and the transformation cost is low. The average EP yield of a pidgey is 281. How to mess it up If you follow my twi...
Here is the runtime: struct _objc_class; struct _objc_object { struct _objc_class *isa; }; typedef struct _objc_object *id; typedef struct _objc_cla...
Continued from mulle_bootstrap: Understanding mulle-bootstrap mulle-bootstrap is able to resolve nested dependencies. Here is an example, that shows how. ...
Explains the workings for the most simplistic scenario: build a single dependency in Release configuration using cmake. (This text describes the workings of...
The class library of mulle-objc is the MulleFoundation. For compatibility its name is shortened in #import statements to just "Foundation". e.g. #i...
The basis of everything is the mulle-objc-runtime. The runtime is written in C and actually doesn't need the mulle-clang compiler. Required Toolset m...
The mulle-clang compiler is a variant of the clang compiler. The clang compiler has built-in support for a variety of Objective-C runtimes, such as MacOSX ...
The mulle_objc Foundation was able to compile it's first "Hello World!" program. A milestone :) It is is actually more involved than it might s...
Continued from mulle-objc: the trouble with @property As explained in the previous entry: to support @property I made the decision that every property o...
Continued from mulle_objc: present and absent language features. @property in MulleObjC The mulle-objc-runtime is what the compiler considers a "f...
There is a new version (0.14) of #mulle_bootstrap out. Nothing new, just better working and better looking.
this review contains only spoilers Map in the village Initial fanfare and scroller: Yay, it's Star Wars! Reading the scroller: Leia won, but she'...
I have written a little python program, to export some of my tweets to this blog. Basically anything with the line ~blog~ will be exported to the weblog from...
Created a shell script that writes the current #Xcode version into all my projects.
mulle-xcode-upgrade-fix
#ssh-agent not remembering the passphrase ? Make sure that you have the public key in a .pub file next to your id. Obscure but true.
Es ist die #Dropbox #Apokalypse! :) And I have less than 2% usage.
#encfs 2048 block size, random bytes header: 0
none: 1s blowfish 128: 4.3s 256: 4.6s aes 128: 3.6s 256: 3.7s#encfs aes 256, random bytes header: 0
4096 block size: 3.7s 256 block size: 4.0sAll these measurements were done with no filename encryption, taring 7000 files which were 100 MB together. All other settings default.
Occasionally I get a phone call from my father. Usually it's about some computer problem I need to fix. He is running a Windows 10 Desktop and a Windows...
Pushed out 0.12 of #mulle_bootstrap. mullebootstrapworkinprogr
According to grammar you can't have negative numbers in CSS ?
num[0-9]+|[0-9]*"."[0-9]+
Ideally you should be visiting this page, and only you, the Mulle kybernetiK servers and all routers inbetween should know about this. This is not true. Pi...
The "Hacker News" button claims to be hosted on Heroku. But instead calls home to Appspot.
Appspot is Google...
Do shariff buttons avoid tracking ?
Shariff uses FontAwesome hosted on BootstrapCDN owned by MarkMonitor.
You decide.
Continued from mulle_objc: inheriting methods from protocols of the mulle_objc series. Updated: 19. Juli 2016 Objective-C is now a hybrid of many la...
When you use
-[NSNib instantiateWithOwner:topLevelObjects:]
the order of the topLevel objects is random.
This is not completely straightforward, or in other words it didn't ran with the default Xcode setting straight out of the box. So I set up a test app, ...
Tried ARC on MulleIB with the best of intentions, but 32 bit incompatibilties are a deal breaker.
I have over 200 Nib Files of which most of them have EOInterface objects in them. The problem is, that they don't open in the newer Interface Builders. ...
Ported cityhash to C (cityhash). The test didn't show any errors.
Pushed out 0.11 of #mulle_bootstrap.
The culprit seems to be a file called \"dgph\",
read_nocancel(0xE, "DGPH1.04\vSep 22 2015\b11:40:11\005\0", 0x1000)
#clang lies, by not defining
__STDC_NO_THREADS__in #c11 nor providing <threads.h>. thread. (Why threads, not stdthreads ?)
Updated mulle-xcode-settings to 1.0.3. mulle-xcode-settings so it works with multi-values and compiles with #Xcode 7. (#xcodebuild)
Added mulle-genstrings to homebrew-software. Version 18.48.3 can translate strings on the fly. #osxdev
So I basically wrote my own
mod_pbxprojin ObjC using a lot of old code frommulle_xcode_utility. about
And as I am on a roll, -Wl,--trace doesn't work with #clang (Xcode 6.4). Life could be easier, but rarely is. (linker-option-to-list-libraries-used)
Is it just me, or does
WARNING_LDFLAGS=in #Xcode do absolutely nothing ? e.g.WARNING_LDFLAGS="Hey i am broken"builds nicely...
I used to have /Library/Developer/BuildArea as my OBJROOT. But not so anymore. To make really sure that it's not used anymore, I did a chmod 000 on it. ...
#opensnoop -A adds '\' '0' at the end of each line for, as far as I can tell, no real good reason. Inconvenient.
For me CocoaPods is too platform specific and I never really warmed to git submodules. git submodules are kind of a weird hack with surprising semantics (to ...
Pushed a pre-release of #MulleScion v1853 to .
Better coding with pipe precedence. :)
Updated mulle-agvtool (Read hairypatchmulle_agvtool) to learn what this is about. #mulle-#agvtool
Continued from Inheritance in C would need a simple compiler hack. It has been updated Member functions in C, could look like this: struct x { char *...
Lets say I have a method that needs to emit a localized string: - (NSString *) errorMessage { return( NSLocalizedString( @"system failure", @&q...
Whoever is responsible for the Windows 10 update tools, needs to get a different job. The whole experience is like updating Linux in the early nineties. It&...
My #MacDown fork, that I use for editing #jekyll posts on #MacOSX. It's just a hack and it's called MulleJekyllDown MulleJekyllDown
Continued from mulle-aba: How it works, part 2 lock-free data structure "world" Remember that the CAS instruction and the various atomic increm...
Committed v1852 of #MulleScion to MulleScion
Fixes examples & dox and has a pleasant API change (see: 1J6OlWe)
Continued from mulle-aba: How it works, part 1 Please read up on atomic operations, if you are unfamiliar with them. Basic principles of retain counting ...
mulle-aba is my solution to the ABA problem, released as an alpha version. mulle-aba works when all threads accessing the shared resource cooperate. For ...
In this little series of #stuffnooneneeds, I added the FlatFileAdaptor from Apple. FlatFileAdaptor
And did #eoreporter too (). Since you need MulleEOF for this and you don't have it, it's again: #stuffnooneneeds
Made a quick untested port of #eogenerator to #mulleeof and put it up on . #stuffnooneneeds
How I usually do it I used to and often still do inheritance like schemes in C like this #define X_BASE \ char *name struct x { X_BASE; }; // y...
mulle-aba "release" Tomorrow I am off for a vacation, but I wanted to get this out before. Here is the git repository mulle-aba. If it doesn'...
Corefiles in OS X with bash need both launchctl and ulimit
launchctl limit core unlimited unlimited
ulimit -c unlimited
crash
ls /cores
The recent "lull" in this blog, is due to my attempts at solving the ABA problem in a useful manner for the mulle_objc runtime. The ABA problem in...
Continued from mulle-objc: object layout, retain counting, finalize A protocol in mulle-objc "lives" only in the compiler. Whereas in the lega...
Continued from mulle-objc: hashes for classes, selectors and protocols mulle_objc uses a uniform memory layout for all instances. The isa pointer is no...
Continued from mulle-objc: some research about selectors One of the main problems for a runtime is to get all selectors and classes uniqued across all the...
Continued from mulle-objc: inlined messaging This is a bit of research I've done concerning selectors and their use in Objective-C. Selector usage s...
Continued from mulle-objc: removing superflous ifs Last time I showed how superflous code could be removed from the method calling code due to inlining. ...
Continued from mulle-objc: a meta calling convention Now that the three parameter message sending function has been introduced, lets try to milk some ben...
Continued from mulle-objc: a new Objective-C So the mulle-objc runtime is written in pure C. How is that supposed to work ? Currently a method is just ...
mulle_objc is an Objective-C compiler based on clang, a runtime supporting that compiler and a Foundation. It quite different to what is out there already. ...
Another one of these not-so-precious WTF moments... I am probably just too late to catch up, but pointer values in archives are not possible anymore. And the...
This is somewhat mysterious bug I ran into. I call it a bug, though what it does is possibly sensible. Anyway, just from looking at it you will never figure ...
Whenever I thought, I knew everything about C, something new comes along:
x = ({ if( a > 2) a = 4; a; });
Ref:Underhanded C-Contest. #c
The strange case of the doubly #imported file: CompileC /Volumes/Source/srcC/hdt_release/Daemons/build/Intermediates/ArchiveIntermediates/Daemons/Intermediat...
A convenient shell script to massage the output of cmake -G "Sublime Text 2 - Unix Makefiles" so that make runs with the -j <n> option. Where...
Parallelize make builds of #SublimeText Projects created by cmake:
sed "/\"cmd\":/s/make\"\, /make\", \"-j\", \"
nproc\", /"
It's about time to test the waters, and see if I can ween myself off the Mac and OS X. It's been a good ride, but I don't like the direction that...
I manually extracted a selection of the build settings dependencies from XcodeBuildSettingRef into a Graphviz dot file. And here is the resulting image.
I naively thought, that when I compile to a 10.6 target, features that are new starting from 10.7 would not appear ? Wrong. $ cat foo.m #import <Foundatio...
Made netsurf-libcss a bit easier to build with cmake: netsurf-libcss
#osxdev #libcss
I made a small test Xcode workspace that shows how to create an Umbrella framework that can be used as an embedded framework in an App or as a shared framewo...
I happily reorganized some Frameworks, trusting that git add --all would pick up the changes. It did for the most of the files. But I edited some files to fi...
What the C Standard defines Here's some quotes from the C standard (WG14/N1256 Committee Draft — September 7, 2007 ISO/IEC 9899:TC3) An object declared ...
-Wno-#pragma-messages turns off counting those pragmas as warnings. Unfortunately it also turns off the output. @@...
Ye olde XOR swap trick
j ^= i ^= j ^= i;now yields a warning @@....-Wno-unsequenced
UTF-8 codes
Ä 0xc3 0x84 ä 0xc3 0xa4
Ü 0xc3 0x9c ü 0xc3 0xbc
Ö 0xc3 0x96 ö 0xc3 0xb6
ß 0xc3 0x9f€ 0xe2 0x82 0xac
Replace german strings in Xcode with NSLocalizedString. regexp: (@"[^"\][öäüÖÄ€Üß][^"\]") replace: NSLocalizedString( $1, $1). 80%...
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) will compile this #include <stdlib.h> typedef enum { MulleKVCValueForKeyIndex ...
So I made a Twitter account for myself. Now on my weblog I can display some small messages and links, when I don't have the energy to write whole blog me...
My father has a Lenovo desktop, so I had to check, if he had one of those fake Superfish certificates. He thankfully had not. But that got me to thinking abo...
cmake: it sounds like a good idea to me. I write a CMakeLists.txt file, which contains a list of my source files and I specify the target type. Then cmake cr...
There is a new development version up on the Mulle Repository. If you are using MulleScion I would encourage you to try it out, and tell me if the changes ar...
One of these WTF moments. The directory slicer.py resides in is a (smbfs, nodev, nosuid) share mounted via Apple VPN. $ [ ! -x ./slicer.py ] && echo "not e...
I just read the last post from dadhacker, where he's teaching his son emacs. Which, rarely as I do it, got me to thinking... vi, the enemy I fraternitiz...
Linux does it right, as all the packages you install with apt-get are logged in /var/log/apt/history.log. If you want to know what you installed over time th...
Standardizing NSURLs is useful, so that they can be compared with -isEqual:. A URL shouldn't be different, if the resource exists or not. But this is not the...
The new Firefox on my freshly installed laptop only establishes connections with the v1.5 sync server, but my various other Firefoxes (most of them up to dat...
IMO syntax coloring is the way it is, because semantic coloring used to be too complicated. Xcode can now do some semantic aware coloring, but I find it stil...