Archive for the ‘Uncategorized’ Category

Either OS X for Windows or Visual Studio supporting Obj-c, Cocoa and other Apple’s frameworks.

I want to hear…”Hello, again from general Windows H/W.”

Don’t want slimmer notebooks, non customizable H/W. non-retina MBP and polycarbonate MB had easiest upgradability of RAM and storage devices.

They got rid of those options from MBs and even from Mac minis. Instead of making adding or replacing internal storage in Mac mini, they removed memory slots, and kept it difficult to upgrade.

Look at HP’s Mac mini-like mini PC!

Due to the cylindrical Mac Pro, extension card manufacturers need to design additionally for Mac Pro and hire device driver engineers. It reduced chance for video card companies to prepare one designed for general Windows PC for Mac with a driver for Mac.

It also raised costs

Seriously, other than S/W developers who know the benefit of Cocoa, who will choose Mac over Windows when they have the same Photoshop, Adobe Premiere etc?

I like Apples aesthetic side of MacBook Pros, but do Dell’s XPS notebook look bad? No!

There can be less expensive but good looking computers with good qualities! Why do ๐ŸŽ’s product decision makers overlook that fact?

It will be better if there is OS X for Windows box. (Anyway there is no difference in their H/W arch.)L

Or if Visual c++ also supports Obj-C, Cocoa and Av foundation etc!

freshmeat ( now freecode ) and… then and now…

In early 1990’s, project hosting or listing started to boom.
Since then, I’ve visited freshmet and very frequently.ย ย ย  They were sleek and listed and hosted lots of good open source project respectively.

However, as I mentioned in one of my post a while ago, iPhone actually killed lots of energy in open source field.
People could make money by making apps for iPhones while working a side. Open source could be good strategy for maintaining your skill and appeal what you can do. However, before iPhone, except for several famous big projects, it was a kind of waste for many people.

When distributed source code management became more popular than centralized one, github, bitbucket and others pulled more people than fresshmeat and Since then, those two sites, i.e. freshmeat and, looked to become ghost towns. They lost their sleekness somehow.
Although I couldn’t concentrate on open source stuff after I migrated to the US, I was involved in many open source projects and spent lots of time in them.

Well.. I feel sad to see how things change… GitHub and BitBucket are quite nice.. there is nothing wrong about them.. but….

Bad convention of Microsoft

Currently I’m refreshing my knowledge on C#/.NET
When MS introduced .NET, I picked it up and studied it. One thing I found was that they changed very basic syntax or keywords whenever they introduced new version. For example, the character for pointer type was changed. It looked to me that they didn’t decide or finalized their design with languages/frameworks but made it public without caring confusion it would introduce.

After a while Bill Gates announced that their.NET failed and gave it up. I believed it. So, I stopped studying it. However, it was not true and they have introduced so far. Still MFC is quite alive although programmers working in business logic/financial industry would not agree.

Recently they announced that HTML/JavaScript will be the next generation of dev. environment. Well, it’s not bad. However, it sounded like that they are going to give up C/C++, C#, .NET/MFC/Win32 environment.
Probably people learned lesson from MS history. I read a few articles saying that MS was not going to abandon their existing languages/frameworks.

OK. It’s good, and they should.

However, still I see fundamental problem of Microsoft.
Instead of using well established terminology in this industry, they creates their own terminology. If their new terminology is easier to understand, there is nothing wrong. However, theirs is not clear and thus doesn’t convey what it means.

About 1 year ago, I had a chance to read WPF document, because I thought I would implement codes with .NET/WPF. I found out that they still used their own terminology there. Code-behind and what else?
In this industry there are well known words for those : Model-View-Controller or MVC pattern.
I had to read their whole document to figure out what they intended to mean.

Today, I ran into the same problem. GAC and Strongly Named Assembly.
OK. GAC (Global Assembly Cache ) is what I could guess, but I think calling it “blah-blah cache” is odd, very odd. It’s not actually cache. It is persistent there in Windows directory. It is not to be stored there for the time being for faster access to them. It is rather central repository of shared libraries.
In the case of GAC, it is OK, because at least I could guess it.
However, what about “strongly named”?
What do they mean by saying “strongly named” assembly? Is the assembly, or library ( assembly is also a new term they invented ), with its name engraved deep? What is a strong name?
It turned out that it was a digitally signed assembly.

Well, I didn’t follow the C#/C++ .NET development for a while, because I had to work on C/C++ MFC projects and Objective-C/Cocoa projects. ( It made me very busy because I had to work on many projects at the same time. I was responsible for up-to 4 Windows projects and 5~6 Mac projects. I had to give up some ideas on iPhone programs called “Video Journalist” or “Street Journalist”, and “Social Parking” program. I have heard that CNN and others introduced very similar program for iPhone/Android phones, and some Indian people in Boston or New York started a company with the “Social Parking” program. )
So, it can be my fault. However, MS should make their terminology easy to understand either by :

  • Use well adopted terminology in this industry
  • or invent their own which is easier to understand like Apple does with Cocoa


People who work on Windows platform only don’t seem to realize this kind of problem. However, I have worked on Unix ( SunOS and thus Solaris, HPUX, SGI Irix and also Linux ), Mac OS X, Windows. Virtue of that is I could compare differences how different group of people approach similar problems. It is also possible to see shortcoming of specific approach. It gives me a chance to think differently when I need to solve problems. Because I need to understand all of them, my understanding starts with their philosophy. Without understanding the philosophy, it is practically impossible to understand the difference, styles, architectures pushed by each of them. Once the philosophy is understood, it is not really necessary to memorize all the small details. ( This is where I got misunderstood when I had been interviewed by people who knew only one platform, one language. If I didn’t answer to their questions with the term they wanted, they seemed to think of me as “Oh, this guy didn’t know about this.” )

MS would have been successful by making their languages/frameworks hard to understand when they ruled the earth. Actually I understood their pushing .NET either as a mean to sabotage Java or steal time for programmers’ studying and writing Linux application programs.
It worked great for MS. However, right now although their market share is still amazing, it doesn’t seem to work anymore. People spend their time in developing iOS or Android apps.
About 10 years ago, it was not like this. Many programmers would not know or see the strong technology side of new cool non-MS tech or even though they saw it, they tended to say “Well, it is good, but it’s not from MS. It would not be successful.” I would like to give a credit to Steve Jobs. He successfully introduced iPhone SDK by introducing HTML/JavaScript dev plan first, saying “There is no iPhone SDK. You can just use your knowledge of web development”, and after it drew enough attention from dev. community, they announced native SDK for iPhone. And after that, the MS’s hegemony seemed to be ended.

So, please, MS. Make your words easier to understand. It doesn’t help you guys anymore.
If you want developers to jump on your platform easily, please do so.

Machine translation between Korean & English for Apple dev. documents

This is not ordinary post for this blog. It will not have any codes, or technological insight. However, this is about computer science. So, instead of posting it to my HotPotato blog, I decided to post here.

From my Twitter :

Apple provides Japanese pages for their dev web site and references there. I have heard that some people at Samsung Elec. and Apple Korea were surprised by my “free” translated Apple refs., a while ago. I don’t have time to rewrite Apple’s doc for Koreans and not motivated any more. Wouldn’t it be better if Apple provides Google’s translation for their references? (for locally saved docs an for the ones accessible with web browsers.) Because machine translation doesn’t make sense at all, it can be great if people can contribute each line of translations as Google translation does nowadays. Also if those are used for improving machine translation, it can be even better. BTW, companies like Samsung & LG should fund researchers also.

I think machine translation in Korea was dead long time ago. Are there any people over there who still research on that topic?

How about MSDN?
Well, for MSDN, even their English page is not good.
They need to enhance their “search” first. It can’t be called “semantic search” at all. If I provides some keywords or phrases, it gives a long list which are not relevant usually.

ADDED : Actually I asked this a few years ago, but didn’t hear anything. sigh…

About NeXT nomenclature

Well… I don’t remember how to refer NeXT related terminologies properly. So, I looked up Wikipedia and found this.

The name was officially capitalized in many different ways, initially NextStep, then NeXTstep, and also NeXTSTEP. It became NEXTSTEP (all capitals) only at the end of its life. The capitalization most commonly used by “insiders” is NeXTSTEP. The confusion continued after the release of the OpenStep standard, when NeXT released what was effectively an OpenStep-compliant version of Nextstep with the name OPENSTEP.

NeXT์— ๊ด€๋ จ๋œ ๊ธฐ์ˆ ์„ ์–ธ๊ธ‰ํ•  ๋•Œ, ์–ด๋ ค์›€์ด ์žˆ๋‹ค. ๋ฐ”๋กœ ๊ทธ ์ด๋ฆ„๋•Œ๋ฌธ์ธ๋ฐ, ๊ทธ๋ž˜์„œ ์œ„ํ‚คํ”ผ๋””์•„๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋ณด์•˜๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ ์œ„์™€ ๊ฐ™์ด ๋‚˜์™”๋‹ค.
์ •๋ฆฌํ•ด ๋ณด์ž๋ฉด ์ด๋ ‡๋‹ค. ์›๋ž˜๋Š” NextStep์ด์—ˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์ด NeXTstep์œผ๋กœ ๋ณ€ํ–ˆ๋‹ค๊ฐ€ NeXTSTEP์ด ๋˜์—ˆ๊ณ , ๋‚˜์ค‘์— NEXTSTEP์ด ๋˜์—ˆ๋‹ค ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๋ถ€์ ์œผ๋ก  NeXTSTEP์ด๋ž€ ๊ฒƒ์ด ์ฃผ๋กœ ์“ฐ์˜€๋‹ค๊ณ  ํ•œ๋‹ค. ์˜คํ”ˆ ์Šคํ…์ด ๋‚˜์™”์„๋•Œ, OpenStep์œผ๋กœ ๋‚˜์™”๋‹ค๊ฐ€ OPENSTEP์ด ๋˜์—ˆ๋˜ ๊ฒƒ์„ ๊ธฐ์–ตํ•œ๋‹ค. ์•„๋งˆ NEXTSTEP์ด๋ผ๊ณ  ํ–ˆ๋˜ ๊ฒƒ๋„ ๊ทธ์™€ ๊ฐ™์€ ๋งฅ๋ฝ์ด ์•„๋‹๊นŒ ํ•œ๋‹ค.

์•„๋ฌดํŠผ, ์œ„ํ‚คํ”ผ๋””์•„์— ๋‚˜์˜จ๊ฒŒ ๋‹ค ๋งž๋‹ค๊ณค ํ•  ์ˆ˜์—†์ง€๋งŒ, ์ €๋ ‡๋‹จ๋‹ค..

The power of dedicated swap partition!

I have partitioned my HDD at least into 2 partitions. One is for general purpose and the other is for swap partition. My desktop computer is still a 17″ PowerPC 1Ghz iMac with 512MB of main RAM.

Although many people complaint slow performance of Mac compared to Windows machine a few years ago, I didn’t have any performance problem same to what they have suffered. Actually I have more performance issues with my Windows machines whose HDDs were also partitioned to have dedicated VM space.

However, recently I noticed that my iMac slowed down a lot. I thought it was due to bulkier Safari, Firefox, and video files which demand high data bandwidth. So, I got to use my MacBook more often. Launching Xcode was pain. So, my iMac became a file server nowadays.

But I noticed that there is no activity on my Mac’s dedicated swap partition, and investigated what happened. Strangely swap files were created on its main partition not its swap partition. So, I checked its /etc/rc file and found out that all the custom settings to use a dedicated swap partition was gone. So, I looked upย Move swap to another partition, revisited again

After setting a dedicated swap partition again, it felt like that I got a new computer! Everything is snappy!
It is clear that a dedicated swap partition on a dedicated HDD can give much better performance.
But just dedicated swap partition is fast enough for end-users!

Stabs is deprecated

According to Lap Cat Software Blog, the Stabs is deprecated.

So, it is time to move on to the DWARF or DWARF with dSYM.

%d bloggers like this: