Интересни проекти

9 отговора 540 прегледа
#1

Интересни проекти

Наскоро прочетох поредното есе на Пол Граам - Great Hackers. В него се засягат доста теми, много от които противоречиви, но особено ми харесаха разсъжденията за това кой проект е интересен. Идеята е, че това всъщност зависи от дефиницията на проблема и избрания подход. Напоследък се занимавам с проекти, които изглеждат скука, но всъщност работата по тях може да стане абсолютен фън . Вие имате ли такива примери, че да разкажа и аз моите

Впрочем, интересно е да се сравни виждането на Граам за това какво мотивира истинските хакери и дискусията в темата на devnull.

Вникмание - Пол Граам има сериозен anti-Microsoft bias и това личи навсякъде, но това всъщност няма особено отношение към темите за които пише, като изключим че някои хора се дразнят .

Отговор
в отговор на Nero #2

В събота вечер се мотая с такъв проект

Май-много се дразня (май е време да гледам по-философвски на такива работи) когато вече внедрен проект трябва "малко" да се преработи за друг клиент. И най-лошото е, когато "малкото" започва от протокола за връзка с апаратните средства, минава през структурата на обектите, базата данни и свършва с журналите, справките и чартовете. А ако и срокът е за вчера - надявам се, става ясно за всички :)

Отговор
в отговор на Nero #3

Лично мнение

Всеки проект за 2000 euro на месец е интересен.
Ако вземаш жълти стотинки и по цял ден правиш
развой на "Памела Андерсън"(или нещо от този сорт...) ...ама
и тя ти гледа джоба .... Интересно е ДА!
Ама какво от това? .-))

Отговор
в отговор на Syks #4

Re: Лично мнение

Предполагам че работиш някъде и получаваш заплата - добра или лоша, за момента си на нея. Има разлика дали умираш от скука за да си я заработиш, или пък се развиваш професионално решавайки интересни проблеми - не е ли така?

2000 евро на месец няма кой да ти даде...

Отговор
в отговор на NikB #5

Re: В събота вечер се мотая с такъв проект

Май малко съм се поотдалечил от типичните "бизнес приложения"... иначе промени има, софтуера трябва да може да се адаптира сравнително безболезнено, и сроковете които ти дават трябва да са разумни. Ако живеем в идеален свят.

Наскоро правихме порт на игри за мобилни телефони от Java (MIDP) към BREW платформа - C++. Java -> C++ порт е неблагодарна работа, а нещата се усложняват още защото BREW няма нишки, и всеки event трябва да върне управлението почти веднага. Логиката на игрите пък беше с една нишка която цикли и показва кадър по кадър, като в началото на цикъла се взима статус за event-ите които са се случили.

Решението мина през framework който реализира:
1. Java string в C++
2. Smart pointer който работи като autoptr в STL - за автоматично управление на паметта. Всички обекти декларирани в Java като локални променливи ги оставяме да се алокират на стека, или в smart pointer който е на стека. Стекът в BREW е ограничен на няколкостотин байта при най-лошите модели, така че smart pointera позволява да слагаме големи обекти и да избягваме излишно копиране.
3. Част от MIDP APIs, така че BREW съвсем заприличва на Java
4. Най-интересното - реализация на coroutines на C. Coroutines са специални процедурни обекти в някои диалекти на Lisp, които позволяват да се прекрати изпълнението в даден момент и управлението да се върне на извикващия... и следващия път да се продължи оттам докъдето сме стигнали. Ако имаш тредове, това може да се емулира с пускане на няколко треда и умното им блокиране и превключване. Ние като нямаме си го правим на C с един голям switch във всеки метод който ще е coroutine, маскиран с макроси.... тук има описание на тази техника...

Резултата е че кода от Java вътре в методите се транслира на C почти 1:1, като на някои места се пишат макроси или се правят някои унифицирани конверсии.

Отговор
в отговор на Nero #6

Re: Интересни проекти

Последното нещо което писах беше физика за билярд.... това си е готина задачка, а колегите пък измислиха един интересен тест за това дали collision response-а е верен...

Симулирахме нещо като [url=[линк]]Newton's cradle[/url] - например две топки допрени една до друга се движат с еднаква скорост и удрят серия от няколко други топки, наредени плътно по линията на удара... очакваният резултат е две топки от другия край на линията да тръгнат, всички останали да спрат - има го показано на линка...

Оказа се, че топките се държат както си трябва

Отговор
в отговор на Nero #7

Re:

И ти ли работиш в Blue Edge?

От къде всъщност идва името на фирмата?

Отговор
в отговор на Nero #8

Re: Лично мнение

Що да няма? Повечето позиции за ПМ са такива, вървят около 4 хилки. Аз лично съм виждал как с ПМ-ство, писане на мейли и други такива али-бали падат 4к..

Отговор
в отговор на xм #9

Re: Лично мнение

Да, ама ПМ може да стане всеки селянин. А от всеки селянин не става програмист.

Отговор
в отговор на TБ #10

Re:

Абе човек, това са теми отпреди 2-3 години! Като ти се пише, пусни нова тема, не се излагай.

Отговор