Нещо не съм в настроение, но все пак мога да ти дам няколко примера.
Имаме един софтуер за мобилни телефони, който беше споменат от BBC с линк към нас. Технологията не е наша, само реализацията за мобилни телефони.
Софтуер за откриване на сегменти сходен код в проект на Java. Когато го правехме нямаше други такива, после се нароиха. За съжаление трябваше да прекратим работата по него по финансови съображения, и не можахме да го настроим както трябва за масовия пазар - открива твърде много код който не искаш да се вижда като повтарящ се, и работи малко бавно. Начина на работа, грубо казано, е да се сравняват хеш стойности, изчислени върху възли от syntax tree-то, като се гледат съществените части от дървото (не имена на променливи например) до някаква дълбочина от възела.
Фреймуърк за портване на код от Java за телефони към BREW (С/C++ платформата която върви с 3G чиповете на Qualcomm). Конвертирания код е изоморфен с Java-та - т.е. структурата му след порта остава същата. Ако някой е запознат с особеностите на BREW, знае какво означава това - има изисквания кода да е структуриран в events и винаги да връща управлението като обработва eventa "кратко" време - иначе ОСа решава че прилоижението е забило и го терминира. Затова използвахме реализация на coroutines в С++ с макроси. Който не знае какво са coroutines, може да погледне в Лисп. Всички други BREW проекти, които знам са много назад - дори ги е страх да ползват С++ и пишат на С, защото интерфейса на платформата е такъв.
В момента довършваме приложение което ще работи в high load high availability cluster, и също е доста интересено технически - повечето заявки се обслужват без достъп до база данни или до диска, направо от паметта. Те са напълно fault tolerant. Базата данни обслужва вторични функции и машината с нея не е fault tolerant, системата може да си работи и без база. Общо взето, другите начини за постигане на еквивалентна функционалност умножават цената поне по 2.
Завършваме първият 3D билярд за мобилни телефони в Japan. Не знам дали за смартфоните има вече. Правенето на физичен модел, ИИ, или пък движението на камерата например е наистина готино, и има доста неща които се налага да се измислят, предвид ограничените ресурси. 3D енджина е външен.
Това са част от техническите неща, които рядко можеш да видиш в IT фирма която се занимава outsourcing и типичната работа е maintainance на зле написани огромни стари приложения. За разлика от това, повечето ни проекти започват от нула или от прототип / proof of concept, правят се от един-двама души за няколко месеца, и са абсолютна новост за пазара на който излизат.
|