piątek, listopada 17, 2006

Wieczor 17 11 2006

Ciekawe linki 17.11.06

Wieczór :
Jserv - znanego twórcy JSP - http://www.magiccookie.com/computers/apache-jserv/ lub JRun
zamów konferencję podpis + warsztay z MS
LeftHand

MVC>=PEM

Przygotowując się do warsztatów z MS VFP 9.0 ( ostatniego produktu RAD firmy Microsoft wspierającego aplikacje dla środowiska Win32 API) doszedłem do wniosku, że cała wrzawa wokół wzorca MVC jest przereklamowana - VFP od wersji 3.0 ma taki model wbudowany, nazywa się PEM (Properies Events Methods) i był (niestety) wspierany przez inne aplikacje COM+ (MS Access, VB). Oczywiście ten model nadal istnieje na platformie .NET.
Nic nie stoi na przeszkodzie aby z niego korzystać, choć modne trendy mówią o konieczności korzystania z innych wzorców np. ze wspomnianego MVC.
Nawiasem mówiąc w VFP też można te inne wzorce implementować, ale robi się to sztucznie (wymaga wielu zabiegów), najbardziej naturalnym jest dla VFP stary ale skuteczny model PEM.
I tu się przejawia znana zasada dualizmu: aby dojrzeć sedno jakieś rzeczy należy na nią spojrzeć z innej perspektywy, a wtedy dojrzy się wiele ciekawych i nowych elementów.

czwartek, listopada 16, 2006

Nowe linki z JAVA

Ciekawe linki 17.11.06
http://www.zamzar.com/ - przekształcanie formatów plików działające on-line
http://www.alistapart.com/articles/supereasyblendys - Alist apart
http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/ - O formularzach, CSS i generatorach HTML
http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/
http://www.acsu.buffalo.edu/~djtaylor/genius.htm - jak zostać geniuszem
http://pixer.us/ - edycja zdjęć on-line
http://www.pdfpad.com/sudoku/ - wydrukuj sobie za darmo np. sudoku, papier kratkowany, papier nutowy itd.
http://english.aljazeera.net/News - no comments
http://www.codeproject.com/jscript/javatojs.asp - Java to JS communication
http://www.codeproject.com/java/remoteshell.asp - Executing on Remote
http://www.codeproject.com/java/javacom.asp - wstaw IE do programu w Javie
http://open.itworld.com/5040/nlsnunixchecksum061116/page_1.html - porównanie plików w Unix przy pmocy MD5
http://www.codeproject.com/dotnet/NET_WS_with_AXIS.asp - Consuming .NET WS with Apache AXIS
http://www.codeproject.com/csharp/porting_java_public_key.asp - Porting Java Public Key Hash to C# .NET
http://www.codeproject.com/jscript/JscriptRSA.asp - Encryption - RSA implemented through Java Script to Encryt/Decrypt data
http://www.codeproject.com/java/jnibasics1.asp - naprawdę podstawy, JNI Basics

Wszyscy to wiedzą ale nikt o tym nie mówi

  1. Firma TrendMicro - udostępnia również jak i inne firmy skanner online. Jego instalacja odbywa się poprzez technologię ActiveX (zresztą tak działają wszystkie przeglądarkowe skanery) i jakoś to działa. Dziwne, że nikt nie zrobił skanera dla Mozilli. Może jeszcze za mały rynek dla tych rozwiązań.
  2. Użyteczne programy: ba.exe - bios agent do poznania wszystkich wersi BIOS (ważne gdy chcemy go zaktualizować), PC-Clean do czyszczenie systemu, PC Wizard + CPU Z.
  3. Siatki do wyświetlania danych - danych w większości przypadków jest dużo, nie mieszczą się na ekranie (formularzu, stronie webowej). Zachodzi potrzeba ich porcjowania. Problemów jest wiele: porcjowanie ma być elastyczne (podawać można jako parametr liczbę wierszy do jednorazowego wyświetlenia), wydajne (nie pobieramy od razu wszystkich danych do pamięci operacyjne lecz jedynie tzw. porcje), efektywne (zwalniamy pulę połączeń z bazą). Aby porcjowanie miało sens musi mieć wsparcie w motorze bazy danych, np. instrukcja SQL SELECT musi wspierać możliwość ograniczenia pobrania danych (FIRST 10, LIMIT 10). Musi być także jakiś mechanizm zaznaczania aktualnej pozycji w tabeli (MS nazywa to bookmark). Do problemu wykorzystania mechanizmów motora bazy można podejść dwojako Należy przeszukać możliwości w zakresie zaznaczania porcji danych w mechanizmach metod dostępu poprzez ODBC (sprawdzone - te mechnizmy działają, patrz przykład w tabelce poniżej)/ JDBC (lub ich odpowiedniki w innych językach np. ADODB w PHP) lub też podejść na niski poziom i wykorzystać specyfikę polecenia SQL SELECT dla danej bazy (korzystać z ROWID, FIRST, procedur wbudowanych) oraz specyfiki aplikacji (specjalne wykorzystanie kluczy głównych). Tak czy inaczej jest to trudny problem dla developera i raczej lepiej zdać się na jakieś gotowe narzędzia, za które czasami trzeba trochę zapłacić. A warto, gdyż możemy od razu skupić się na merytoryce zagadnienia szczególnie gdy klient chce od siatki sortowania, przesuwania (w lewo/prawo) i sortowania kolumn. Czasami mamy szczęście i w danym języku czy środowisku programowania mamy wbudowane takie narzędzia (.NET ma DataGrid, PHP ma tzw. pager'a - notabene kiepsko u niego z wydajnością, JDeveloper/Netbeans oferuje siatki danych całkiem dobrej jakości).
  4. Alternatywne podejścia: Inna sprawa to filozoficzna, czy możemy użytkownikowi ukryć dane przez pokazanie mu tylko ich części. Czasami nieświadomy użytkownik szuka jakiś danych na ekranie i stweirdza, że ich tam nie ma (a tym czasem są one na następnych stronach). Przy takim potraktowniu problemu można zrobić tak: użytkownik niech sam określi zapytanie i wybierze jakie dane chce oglądać (nalezy mu udostępnić filtr selekcji bazujący na jego wiedzy o tym co chce zobaczyć + Limit ilości wybranych wierszy w zapytaniu). Nie czarujmy się zbyt dużo danych i tak nie przeanalizuje.
    Dane mają być porcjowane nie na serwerze ale u klienta. W tym przypadku klient pobiera dane z serwera i wkłada do pojemnika lokalnego zwalniając zasoby połączeniowe z bazą (oddając do puli połączenie). Dzięki temu wszystkie operacja odbywają się lokalnie (na sprzęcie skądinąd coraz bardziej wyrafinowanym). Tak myśli MS - tzw. offline dataset. Nawiasem mówiąc VFP w wersji miał pojęcie tzw. offline table. Dane są przetwarzane lokalnie. Najważniejsze jest to co będzie potem - synchronizacja z danymi na serwerze. Wybrano metodę optymistyczna tj. wolno wszystko edytować i zmieniać a dane są zapisywane do bazy centralnej zakładając, że nie ma konfliktów. Ważną sprawą jest wybór pojemnika klient, może to być nawet przeglądarka internetowa lub coś bardziej skomplikowanego.
  5. Zasoby serwerowe:
    http://www.codeproject.com/useritems/DBGrid.asp - DataGrid for JSP
    http://jakarta.apache.org/taglibs/sandbox/doc/datagrid-doc/index.html#dataGrid - Jakarta: Data Grid tag library
    http://www.nitobi.com/products/grid/demos/ - Nitobi Grid
    http://www.scripts.com/java-scripts/database-tools/ - Lista projektów, zazwyczaj są one płatne
    http://forum.java.sun.com/thread.jspa?threadID=781290&messageID=4443858 - Forum na temt stronicowania
    http://www.netbeans.org/products/visualweb/ - Visual Web w NetBeans (pakiet NetBeans Visual Web Pack) wymaga samego NetBeans'a
    http://www.dotnetindex.com/articles/18_Paging_Records_in_JSP.asp - Stronicowanie ale dla MySQL
    http://www.aspgrid.com/ - naprawde dobra chociaz wykonana w technologii ASP. (jest jeszcze dbgrid)
  6. eb grid - enterprise business application - kontrola ebgrid

wtorek, listopada 14, 2006

Nowosci dnia

  • Powstaje nowy standard sieci wireless 802.11 i nazywa się pre-N (IEEE 802.11n working group (task group N)), połączenie tych nowych sieci tzw. pre-N Networks (stosuje ona of multiple-input, multiple-output (MIMO) charakteryzuje się dużą przepustowością oraz, co może być niebezpieczne - dużym zasięgiem) ze starymi może stanowić zagrożenie dla bezpieczństwa oraz może powodować zakłócenia pracy starych sieic. Opisuje to artykuł - "Security issues with pre-802.11n wireless gear" w ComputerWorld.
  • Google podobnie jak to wcześniej zrobiła konkurencja, wprowadził do swoich blogów i dokumentów współdzielonych online tzw. tagi to jest znaczniki (markery) ułatwiające przeszukiwanie dużych ilości informacji zgromadzonych w blogach. Takie słowa kluczowe nie tylko ułatwiają wyszukiwanie wybiórcze (nie wg. formy ale intencji/zawartości merytorycznej), ale również pozwalają firmie wybrać odpowiednio skierowaną reklamę (pod kątem treści i zainteresowań odbiorcy). Nowością wprowadzoną wczoraj w czasie przerwy konserwacyjnej w seriwsie Google jest automatyczne zapamiętywanie treści wprowadzonych informacji.
  • Wszytkie liczące się firmy Internetowe jak Amazon, Yahoo (YGIU), Google (google API) i MS (Atlas) dostarczają narzędzia dla deweloperów chcąc poprzez to przywiązać ich do swoich serwisów i usług.
  • Sun udostępni swój kod Java na zasadzie licencji GPL wersja 2 (obecnie prowadzone są prace nad licencją w wersji 3) - http://news.com.com/2100-7344_3-6134584.html - wersja Mobile i Standard będą dostępne na stronie Java.net (tj. Java Platform Micro Edition (Java ME) dla komórke i Java Platform Standard Edition (Java SE) dla aplikacji desktopowych). Wcześniej Sun udostępnił na zasadzie CDDL - wersję J2EES (projekt GlassFish ). trategia Sun jest odpowiedzią na konkurencyjne projekty w obrębie APACHE (projekt Harmony który wystartował w maju 2005).

SAMBA - sikoreczka

Czego boi się SAMBA - ruch Novella w kierunku MS stanowi zagrożenie dla twórców rozwiązań open-source gdyż Novell wyłamuje się z szyku wspierajacego ten ruch (oraz copyright jako formę ochrony praw autorskich) i staje po stronie zwolenników patentów. Novell może się spotkać z nieprzyjemnościami w społeczeństwie open-source w którym do tej pory działał aktywnie. SAMBA boi się konsekwencji wykorzystanie w swoim produkcie opatentowanych przez MS formatów. Produkty SAMBA firmowane przez Novell są w świetle porozumienia z MS wolne od tego zagrożenia.Cóż przyszła kryska na matyska.

Zabójca Flasha

Niebawem MS udostępni w ramach programu Community Technology nowy produkt Preview of WPF/E (bazuje na Windows Presentation Framework - jednego z trzech filarów .NET 3.0) o możliwościach zbliżonych do Flasha (wzmianka o nim była na PDC 2006 i MIX'06). Pozwala na programowanie w JavaScript oraz XAML, do tego wymaga minimalnego wsparcia między platformowego run-time CLR oraz .NET z C# lub VB. Ma być dostępny również w telefonach komórkowych i aplikacjach desktop (wogóle wszędzie gdzie MS oferuje swoje produkty). Nie jest to naśladowanie Flasha. Dostepność - niebawem.

niedziela, listopada 12, 2006

Ken o historii VFP

Enduring adventures to Antarctica and Microsoft
I was inspired to blog this entry based on a comment posted by Danny Thorpe on my recent blog post I made about Shackleton's adventure story in Antarctica, where he commented:
If you have a yen for travel, it's possible to retrace Shackleton's steps yourself. Lindblad Expeditions runs an extended photography tour about once a year (see: http://tinyurl.com/9xadr) on the polar explorer ship "Endeavor" that usually includes stops at South Georgia Island and at Point Wild on Elephant Island. In the few days at sea without landings, the Lindblad staff dig into the Shackleton story in amazing detail. There's nothing quite like actually being there. http://tinyurl.com/loggf.I've heard about this photography adventure trip to Antarctica. In fact, Susan Graham who I use to work with here at Microsoft (who worked at Fox Software and then Microsoft retired in the late 90s) actually went on that same trip to Antarctica in January 2004. She is a close friend to this day, and after her trip to Antarctica she showed me some photos when she returned. The photos were pretty amazing and she said the trip was far more spectacular than she had anticipated. She went on the trip with a friend, and the boat had about 200 people on board. The story goes that she was on deck during the boat ride out of Argentina heading for Antarctica when she heard a voice say "Susan, is that you?". The person who recognized her was actually the former president of the company she use to work for years ago at Fox Software, Dr. Dave Fulton, who went on to become the head of database strategy at Microsoft in the early 90s after Microsoft bought Fox Software. What are the odds of meeting someone you know on a boat to Antarctica?? I guess we could say: Big continent, small world. Just before that trip, Susan had finished a project as executive producer of a documentary called 200 Cadillacs which details the generosity of Elvis Presley, including details of how he cars as gifts to people. I guess word got around on the boat about this documentary and they ended up playing the Elvis documentary one night for the travelers and crew on the boat. When we launched Visual FoxPro (VFP) version 9.0 at DevCon in late 2004, in the keynote session I showed a photo of Susan and Dr. Dave from that trip as well as a recent video interview Susan did with Dr. Dave talking about the past and present FoxPro days.For a good quick summary of Dr. Dave Fulton's role in the evolution of desktop databases on PCs, below is an abstract from a session given by Jeb Long at a Visual FoxPro conference in 2004:
dBASE and FoxPro from Jeb Long perspectiveWhere did VFP (Visual FoxPro) come from? Well, in this session, you will learn. It all began in 1973 at the Jet Propulsion Laboratory in Pasadena, California, USA, when a database management system was born called JPLDIS. In 1979, Wayne Ratliff working as a contractor at JPL, wrote a program to help him with football pools, called Vulcan. Vulcan was based on JPLDIS. Vulcan ran on an 8-bit 8080 microcomputer running under CP/M. George Tate started Ashton-Tate to market Vulcan (renamed dBASE II) for Wayne. Then Jeb Long (who created JPLDIS) converted dBASE II to run on the IBM PC under MSDOS and dBASE II became famous. Jeb and Wayne left JPL to join Ashton-Tate and developed dBASE III. Meanwhile Dr. David Fulton and some of his computer science students thought dBASE III was a terrific program so they cloned it resulting in FoxBase+. Ashton-Tate developed dBASE IV and sued Fox Software. Fox cloned dBASE IV and produced FoxPro 2.5. Ashton-Tate was bought by Borland. Borland dropped the lawsuit. Fox Software merged with Microsoft and the rest is history.
In the early 90s, I had successfully used FoxPro 2.0 DOS version as a touch screen front end in a public safety dispatch product used by various agencies including the California Highway Patrol communications center. It was rare to use FoxPro in a mission critical real-time application rather than a traditional accounting or inventory application back then. I had shown the FoxPro based application to Hal Pawluk who at the time was a key marketing guy at Fox Software. After FoxPro was bought by Microsoft in '92, word got around to a few people the details of the way I was using FoxPro in a mission-critical product. In 1992, one of the FoxPro product managers was Tod Neilsen, who invited me to a database summit meeting at Microsoft along with about 50 well known FoxPro industry experts and influencers. We got to meet the newly merged FoxPro team, Bill Gates, Steve Ballmer, Mike Maples, Dr. Dave Fulton, and others. At an evening dinner at Bill Gates' old house, I happen to get in line for dessert just before Bill did and I ended up talking to him about the FoxPro application that I wrote for use by public safety dispatch systems. He was curious about it and asked to see a demo. The following month I ended up meeting Bill again and I spent about 15 minutes showing him a demo of demo of the FoxPro based application I had designed and developed. Dr. Dave Fulton was one of the people in the hotel suite for that meeting.At the dinner at Bill's house, I sat at the table with about 5 other people including Adam Green and Tom Rettig. It was the first time I had met Adam Green, who was then probably the most well known industry guru in the dBase community. Tom became a close friend of mine soon after that event, and I use to hang out at his place in Marina Del Rey fairly often and I would go to his various annual parties. Sometime in 1995, I was over at Tom's apartment one evening. He and I had just come back from dinner at Benihana's down the street, walking distance from his place. When suddenly there was a knock at his door, it was his next door neighbor who had locked himself out of his own place and needed to hop over to his balcony to get in. His next door neighbor was Roger Clinton, former president Bill Clinton's half brother. Roger was a fun guy who was a musician, he would come to Tom's parties, and you wouldn't have guessed that his brother had just become president. I recall being the first geek on the block to have a handheld laser pointer, and when I let Roger try it out he ended up spending more time with it than I did shining it on boats going in and out of the harbor at night.In 1993 I went to work as a contractor at JPL working on FoxPro based add-on productivity tools and OOP related efforts for teams developing various MIS solutions, While there I got to meet Jeb Long. In some ways, Jeb was the original developer who's program lead to the first database applications on the personal computer. That year I wrote a utility called GenScrnX that extended the FoxPro 2.x GenScrn program. The first person I showed GenScrnX to was Y. Alan Griver (yag), then co-founder of Flash Creative Management. I joined Flash in 1993 after JPL reporting directly to yag working on add-ons that shipped in the box of Visual FoxPro 3.0 like the Class Browser. Eric Rudder was the group program manager and architect for VFP 3.0. Many of the great OO and data-centric features added to VFP 3.0 have continued to evolve in VFP as well as into Visual Studio as well as the VB and C# .NET programming languages. When the VFP 3.0 Xbase projects ended when VFP 3.0 was released, I left Flash and became a full-time contractor at Microsoft working on the VFP team. Flash ended up being bought by GoAmerica where yag became CIO, then yag joined Microsoft in early 2002 and soon after was the of the VS Data and VFP teams, and I reported to him directly (again). I also worked with lead program manager Randy Brown and lead developer Calvin Hsia working on VFP past the release of version VFP 9.0.I was inspired to write my GenScrnX utility for FoxPro 2.x after I had seen a demo of an early preview of Borland's dBase for Windows shown at a user group by then Xbase industry expert Adam Green. The next time I was to meet up with Adam Green was just a few weeks ago at the Mashup Camp event in Mountain View, Calif. I chatted with Adam at the Mashup Camp event for about 30 minutes. He showed me on his notebook computer that he still uses Visual FoxPro today to build his own desktop database applications - there were Fox icons all over his Windows desktop. Some of our chat included the past and other parts included why we were at the event - to learn more and discuss mashups and possible tangible outcomes of what is being called the Web 2.0. These days, Adam Green spends most of his independent business efforts in the Web 2.0 area, just as I do in my new role in the Windows Live Platform team. I discovered that Adam now has a great blog http://darwinianweb.com/. He also has an archived blog at http://adamgreen.org/ where he has some great MP3 podcast shows. For historical references on the topic of Xbase history, a great podcast Adam created is Software Stories #6 about the rise and fall of Ashton-Tate and the details of how the company was bought by Borland. This particular podcast is a interview is with Ron Dennis, Russell Freeland, Rick Chapman, and Hal Pawluk. Lots more Ashton-Tate history details on Wikipedia.After Borland bought Ashton-Tate, Borland had some very well known developer tools industry experts including Anders Hejlsberg who created Turbo Pascal and started Delphi. Anders is now at Microsoft and is the lead architect of C#. Some additional irony here is that I recently spent nearly 5 years as the product manager for Visual FoxPro, the same job Tod Neilsen had over 12 years ago. Tod recently became the CEO of Borland. If I talked to Tod today, I would thank him for inviting me to the database summit at Microsoft in 1992. For some interesting history about Delphi, Danny Thorpe wrote an article on Borland's web site Why the name "Delphi?". In a quick photo image search on "Danny Thorpe" using live.com, I found a photo of Danny Thorpe in Antarctica taken in November 2003. This means Danny was probably on the boat trip to Antarctica just before the one that Susan Graham and Dr. Dave Fulton were on in January 2004.In late February 2006, I moved from the developer division here at Microsoft and joined the Windows Live Platform team as a product planner on Scott Swanson's team. Scott is a group product planner for Windows Live Platform and has a strong developer background. He was on the VB and VSCore team's here at Microsoft and worked recently worked on the Messenger Activity SDK. Defining the 'platform' in the Windows Live Platform team, the platform is about working on unified API roadmap across all Windows Live services, to release great new content online such as SDKs and sample code, as well as new developer community activities. Some Now back to how this all relates to Danny's comment submitted on my post Endurance and leadership of Sir Ernest Shackleton... Like some memorable movies endings like in the Sixth Sense and the original Twilight Zone TV show, this post as a bit a twist at the end.Danny Thorpe, former Chief Scientist at Borland, left Borland 4 months ago and joined Google. This week (on April 10, 2006) Danny Thorpe joined Microsoft to work on the recently formed Windows Live Platform team. Danny is joining George Moore's team, a rapidly growing team working on new developer focused projects for Windows Live services and APIs. Nearly all of my responsibilities as a product planner on the Windows Live Platform team involves working with George's new team. Danny Thorpe's created a new blog today at http://blogs.msdn.com/dthorpe/. While there might not be much going on in Antarctica, there is rolling thunder activity going on here at Microsoft in the Windows Live division.