thegoodfellas/blogset-br huggingface dataset:
RAIMUNDO CARNEIRO REALIZOU NESTA MANHA DE DOMINGO CARREATA COM TODOS OS MEMBROS DO GRUPO PENSANDO NO FUTURO, CERCA DE 35 CARROS PARTICIPARAM DO EVENTO. CAMINHADA DA PAZ REALIZADA NOS BAIRROS COM RAIMUNDO CARNEIRO E O GRUPO PTN RAIMUNDO CARNEIRO E O GRUPO PENSANDO NO FUTURO REUNIRAM-SE NESTA NOITE DE QUINTA-FEIRA PARA EXPOR TODOS OS SEUS PROJETOS PARA SALVADOR.MARCARAM PRESENCA 143 PESSOAS, ENTRE ELAS 25 LIDERES DE BAIRRO. RAIMUNDO CARNEIRO REALIZOU NESTA NOITE DE QUINTA-FEIRA A ULTIMA REUNIAO COM O GRUPO PENSANDO NO FUTURO, QUASE 110 PESSOAS LOTARAM O ESPACO. QUE DEUS ABENCOE ESTE GRUPO SUPER FORTALECIDO E VAMOS A LUTA.RAIMUNDO CARNEIRO 19789 Nx Zero toca pesado na abertura do Palco Mundo. Os meninos do NX chegaram a Cidade do Rock para consolidar a identidade rockeira da banda. Se ha seis anos atras eles eram uma referencia na cena underground do hardcore paulistano, onde ficaram conhecidos por shows bombados em casas como o Hangar 110, agora eles fizeram jus as origens. Eles mandaram um som energetico no Rock in Rio, arrancando aplausos de muito marmanjo que so chegou a Cidade do Rock para ver o Red Hot Chilli Peppers.A apresentacao do grupo comecou com a participacao especial do rapper Emicida na faixa 'So Rezo 0.2', que integra o disco 'Projeto Paralelo'. Sua presenca ajudou a despertar a curiosidade do publico e soou como estrategia contra qualquer tipo de reacao negativa do publico que chama o Nx Zero de emo. O show se seguiu com 'Alem de Mim' e prosseguiu com o revesamento entre musicas antigas e mais recentes.Com muita energia, os musicos viram uma arena lotada, com muitas maos levantadas seguindo os repetidos e ja conhecidos convites do vocalista Di Ferrero: "Levanta a mao e grita!". Seguindo para o final do show, a banda abaixou o ritmo e fechou com 'Cedo ou Tarde', 'Daqui pra Frente' e 'Razoes e Emocoes'. Em seu Twitter, o guitarrista Gee Rocha postou: "Obrigado geral! Ate parece que foi ontem que gravamos o disco Dialogo! e agora tocar no Rock in Rio! serio? lokura!". Apos o Nx, quem sobiu ao palco Mundo foi o Stone Sour. Diego Ferrero inaugura na quarta-feira (30) um bar no Rio de Janeiro e se prepara para se mudar para a capital fluminense, informou o jornal "O Dia", publicado nesta terca-feira (29).O vocalista da banda NX Zero virou socio de Tulio Dek, Caca Bueno e Bruno de Luca. O Rio e a nossa menina dos olhos. Criamos um conceito bem legal e tentamos ao maximo colocar nossa cara nesse bar, disse o musico.Para a inauguracao, Tiago Abravanel cantara os sucessos de Tim Maia, do musical "Vale Tudo". E um lugar ecletico, que ficara aberto praticamente dia e noite. La voce pode almocar, ir a praia e depois voltar para curtir uma roda da samba. Tambem tem o lounge com DJ e musica ambiente. E, se preferir, pode aproveitar a noite na laje".Di Ferrero tambem se mudara para o Rio de Janeiro para ficar mais perto da namorada, Mariana Rios. Em recente entrevista para a QUEM, a atriz falou que o casal pretende morar
junto. "Ainda nao moramos juntos, mas estamos com planos de fazer essa mudanca no ano que vem. Provavelmente sera no Rio de Janeiro, pois a agenda do Di nao e fixa em Sao Paulo e eu preciso estar do lado do Projac. Tenho vontade de casar, mas somos muito novos ainda. Nos conversamos sobre isso, e nao deve levar muito tempo, mas agora nao".
Mesmo antes de tocarem a primeira nota, ja dava para perder o folego com os meninos do NX Zero, que estavam lindos demais na noite deste sabado (29/10). Di, que estava vestido uma camiseta cinza e um colete preto, chegou correndo no palco e ja gritando para animar a galera que esperou o dia todo para ve-los.O show comecou com o som de Nao e Normal. No fim da musica, Gee e Di giraram muito no palco e fizeram todo mundo gritar. So foi em Essa eu Fiz para Esquecer que Di nao parou de correr pra la e pra ca. Que folego, ne? Quando chegou a vez de Alem de Mim, o NoCapricho nao parou de gritar. O jogo de luzes fazia parecer que o palco era um coracao que batia no ritmo da musica. As proximos hits do show foram Inimigo Invisivel, Pela Ultima Vez e Confidencial.Agora era hora de diminuir o ritmo e criar um clima de romance no ar. Na hora de cantar Espero a Minha vez, todo mundo levantou o celular, o que deixou o publico cheio de pequenos pontos de luz. Muito lindo! Depois de Cartas para Voce e Bem ou Mal, o NX fez um cover da musica Californication, do Red Hot Chili Pappers. E claro que todo mundo adorou a surpresa, ne?Di resolveu descer no palco e ficar cara a cara com a galera na hora de Razoes e Emocoes. Todo mundo ficou balancando as maos de um lado para o outro. Foi lindo de ver! Em Cedo ou Tarde o publico cantou sozinho em homenagem a alguem especial que ja se foi. Confira algumas imagens da banda durante sua apresentacao no ROCK IN RIO. @rockinrio : NX Zero amadurece e se impoe na abertura do segundo dia.- Nx Zero toca pesado na abertura do Palco Mundo. Os meninos do NX chegaram a Cidade do Rock para consolidar a identidade rockeira da banda. Se ha seis anos atras eles eram uma referencia na cena underground do hardcore paulistano, onde ficaram conhecidos por shows bombados em casas como o Hangar 110, agora eles fizeram jus as origens. Eles mandaram um som energetico no Rock in Rio, arrancando aplausos de muito marmanjo que so chegou a Cidade do Rock para ver o Red Hot Chilli Peppers. -Ao contrario do que muitos imaginavam, a banda nao foi hostilizada pelos presentes na Cidade do Rock. Na verdade, era dificil encontrar alguem que nao estivesse cantando uma das musicas da banda. "A ultima coisa que a gente esperava ver aqui era o NxZero. Mas eles tocaram muito bem. Valeu a pena" - elogiou o estudante Mateus Alessio, de 19 anos. Quem ja aguardava ansioso pela principal atracao da noite, o Red Hot Chili Peppers, recebeu os brasileiros com xingamentos. Di Ferrero e cia resolveram pregar o "paz e amor " que o rock tambem embala e, desencorajando o coro, convidaram a galera a pular com banda. Deu certo. Eles conseguiram, depois, arrancar aplausos do publico.Um exemplo e um grupo de amigos de Caxias do Sul, no Rio Grande do
Sul. Eles vieram para ver o Red Hot Chili Peppers e o Stone Sour mas aprovaram a performance dos brasileiros. @RockinRio: depois de vaias, aplausos para a banda NX Zero.@RockinRio: NX Zero e xingado por fas do Red Hot, mas respondem com muito rock'n'roll Minutos antes de o NX Zero subir ao palco, abrindo o segundo dia de shows no Palco Mundo, os fas do Red Hot Chili Peppers ja se aglomeravam em frente ao palco. Em coro, eles ensaiaram varios xingamentos para os brasileiros, mas quando Di Ferrero e cia. surgiram, com o maior rock'n'roll que esta edicao do Rock in Rio ouviu ate agora, todos desistiram de sacanear e pularam junto com a banda.
Depois de lancar o primeiro DVD ao vivo para comemorar os 10 anos de banda, o NX Zero celebrou a boa fase ao enfrentar o grande publico do segundo dia do Rock in Rio 4, neste sabado (24). A banda liderada pelo vocalista Di Ferrero subiu ao palco Mundo por volta das 19h e abriu seu show com So Rezo, assim como tem sido na atual turne. O quinteto paulistano ainda recebeu a presenca do rapper Emicida, que fez alguns improvisos na cancao de abertura.Com alguns sucessos radiofonicos na bagagem, o NX Zero segurou as pontas na abertura do palco Mundo ao tocar Alem de Mim, Inimigo Invisivel, Pela Ultima Vez, Cedo ou Tarde e a nova Nao e Normal.Embora o som tenha sido ligeiramente prejudicado, o quinteto mostrou boa relacao com o publico. Para finalizar, a cancao que os lancou para midia, Razoes e Emocoes."Queria agradecer a todo mundo que torceu para o NX estar aqui hoje. Estamos no melhor pais do mundo, no melhor festival de rock 'n' roll do mundo", afirmou o vocalista, cuja banda toca antes de Stone Sour, Capital Inicial, Snow Patrol e Red Hot Chili Peppers.O cantor ainda comemorou a chance de poder se apresentar no Rock in Rio, depois de dez anos da ultima edicao. "Gracas a Deus o Rock in Rio voltou para o Rio, ne?", questionou durante a apresentacao. Continue lendo: + Depois da chuva que caiu sobre a Cidade do Rock, o NX Zero abriu o segundo dia de Rock in Rio neste sabado (24), em Jacarepagua. A banda, liderada por Di Ferrero, entrou no palco ao som do hit "So Rezo", que contou com a participacao do rapper Emicida nos vocais. "E uma noite abencoada, curtam ao maximo", recomendou Emicida antes de deixar o palco. "Vamos esquecer de tudo hoje, levanta ai, Rock in Rio!", bradou Di Ferreiro, logo depois do final da primeira musica, levantando a plateia do Palco Mundo, enquanto a banda comecava os primeiros acordes de "Alem de Mim". Di interagiu com o publico durante a maior parte do show, sempre pedindo palmas para que todos cantassem as musicas junto com a banda. Ele tambem agradeceu, emocionado, a presenca de todos no festival. "Muito obrigado. Estamos no melhor festival de rock do mundo com as melhores pessoas do mundo. Somos um so, vamos voar". A banda apresentou um novo single, chamado "Nao E Normal", mas a maior empolgacao da plateio veio nos maiores hits da banda, representados por "Pela Ultima Vez" e "Espero a Minha Vez" No 2o dia do festival, banda sobe ao palco e agita multidao de fas. A introducao de "So Rezo", as 19h10, dava inicio a serie de shows que aconteceriam do palco Mundo, no segundo dia de Rock in Rio, neste sabado, dia 24 de setembro. "O NX ta na area", gritou Di Ferrero ao pisar no palco. Dava para perceber o quanto os meninos do Nx estavam emocionados de tocar no festival, um dos seus maiores sonhos. Nem os gritos ensaiados de reprovacao dos haters de Nx desanimaram a banda. Pelo contrario:
eles sorriram durante todo o show e Di sempre agradecia baixinho olhando para o ceu.E foi assim, de repente, que o vocalista chamou Emicida ao palco para cantar seus versos em "So Rezo 2.0", do album Projeto Paralelo. "E realmente uma noite abencoada", disse o rapper. Depois, a banda apresentou "Alem de Mim" e "Inimigo Invisivel". Nesse momento, Di disse, superemocionado: "Estamos no melhor lugar do mundo, no melhor festival de rock do mundo, com as melhores pessoas do mundo, entao vamos fazer de conta que somos um so. Vamos pular todos juntos".Mas os momentos mais empolgantes do show foram quando a banda tocou os sucessos mais antigos. Em "Pela Ultima Vez", por exemplo, dava para ouvir todo mundo cantando junto. Sorrindo, Di falou: "Essa e a melhor festa de dez anos de carreira que a gente poderia ter", se referindo ao aniversario de banda que rolou neste ano. Ja "Espero a Minha Vez" foi emocionante. Di pediu para todo mundo levantar alguma luz para o ceu e disse para ninguem desistir de seus sonhos. "Vamos iluminar nossos caminhos. Paz e amor no coracao sempre", disse.Em Bem ou Mal, Di colocou o casaco do Brasil e agradeceu muito a presenca de todo mundo. Por fim, "Razoes e Emocoes" foi cantada em coro pela multidao. Enquanto o telao mostrava fotos da carreira do NX, Di se despediu do publico muuuito emocionado. "A gente nunca imaginou que poderia tocar no mesmo dia que uma das bandas que mais influenciou o NX", disse, se referindo ao Red Hot Chilli Peppers, que encerra a segunda noite de Rock in Rio.
w) / 2); TextRect(Rect, Rect.Left + w,Rect.Top + 1, CellText); end; taRightJustify : begin txtAdj:=SetTextAlign(Handle, ta_Top or ta_Right); TextRect(Rect, Rect.Right - 3,Rect.Top + 1, CellText); SetTextAlign(Handle, txtAdj); end; else // taLeftJustify TextRect(Rect, Rect.Left+2,Rect.Top+1, CellText); end; end;end;In the inner draw routine we first figure out if we are drawing the title row or a data row. If it is a data row, we call the TGridViewColumn.FormattedText method.function TGridViewTextColumn.FormattedText(aRow: Integer): String;begin Result := GetTextMethod(aRow);end;Does GetTextMethod look familiar? It is the procedure variable which holds the method we implement in our descendant viewcontroller class and pass on when we set up the column. That is the method which actually retrieve the data from the underlying data structure as described in part 2 (GetNumber, GetNumberSquared). The rest of DrawCellInner measures the retrieved text and ensure it is adjusted as desired and rendered within the cell region. Magic ColorsBack to ForeColor and BackColor in the outer draw. This is the closest we come to bells and whistles. To make the grid look more sophisticated, I added support for overriding the colors as well as a very simple default rowshading algorithm. procedure TGridViewColumn.ForeColor(aRow: Integer; var Color: TColor);begin if Assigned(FGetForeColorMethod) then GetForeColorMethod(aRow, Color) else if DefaultForeColor <> clNone then Color := DefaultForeColor;end;procedure TGridViewColumn.BackColor(aRow: Integer; var Color: TColor);begin if Assigned(FGetBackColorMethod) then GetBackColorMethod(aRow, Color) else if DefaultBackColor <> clNone then Color := DefaultBackColor; if Assigned(FGetShadeColorMethod) then GetShadeColorMethod(aRow, Color);end;Both these methods start in the same way. The default color have been retrieved from the grid itself in the outer draw. First we check if a color method have been plugged in, if not - we check if a column color override has been set.For the background color routine, there is another feature - a pluggable shading method. The default row shader looks like this...procedure TGridViewController.DefaultRowShader(const aRow:Integer; var Color:TColor);begin if ShadeRows and (not Odd(aRow)) then begin Color := Graphics.ColorToRGB(Color); // Translate theme/system colors to RGB if ((Color and $FFFFFF) > $888888) // Lazy man's luminosity adjustment then Color := Color - $080808 else Color := Color + $080808; end;end;Too much flexibility? Well, maybe I broke the KISS rule, but no rule without exceptions :) Now I can have static or procedural color adjustments per row as well as per column.Next: Reusable Grid goes code complete and come with examples.Stay tuned. Veja artigo completo aqui Parceiros: |BlogTips| Musas| Hacker| News| EnglishTips| TipsDelphi| FutOnline|
body {margin:0; padding:0; background:#fff; color:#000}td,body,.form {font-family:Tahoma; letter-spacing:1.1lm;font-size: 9pt}A {color:#336699; text-decoration: none;}There are a few practices that will help you write solid, maintainable, reusable code. A lot of software practitioners of greater fame than mine have written about these before, but it doesn't hurt to repeat good advice.Note that I in no way claim this to be the one and only true way to software development nirvana, but just some practices that work for me. Your own opinions and experiences on the topic will be greatly appreciated, so feel free to comment.Keep It Simple, Stupid Reusable code should be kept low-feature. It can be a challenge to avoid feature creep and dependency bloat, so make an effort to follow the KISS rule. The more sophisticated stuff you add, the more you will need to "fix" and not to forget: Test! - when inheriting from the class. Design for extendabilityWhen you design a reusable class, you really have to define the scope of what you want to achieve. Decide on the basic feature set, then evaluate the possible offspring to this class and conceivable additional features, but to adhere to the KISS rule - you should not add the features until you need them. Instead, spend a little time on evaluating the impact of the features and put in any necessary hooks and leave enough comments to allow you to rediscover why you put them in in the first place. Later, if you absolutely have to add a feature and cannot add it in an inherited class - make sure you don't break existing behavior in class instancing. A common mistake is to change a default property value in the base class constructor, which some derived class assumed had a specific state or value. ...and on the point of assumptions...Never Assume, Always AssertI bet you never heard that one before! :) Use Asserts to check your assumptions. It will save you from a number of embarrassing moments of broken code. The purists probably want this done in unit testing, but it can help add clarity to your code if it is done in the actual library code. Think of it as design by contract.procedure TSimpleClass.ActOn(aParameter:TSomeClass; aValue:Integer);begin // Ensure aParameter is assigned and of correct type Assert(Assigned(aParameter) and (aParameter is TSomeClass)); // and that aValue is in legal range Assert(aValue >= 0); ...Using asserts like these will help you catch runtime problems faster. They also will remind you of what conditioning you need to do before you call the method, and what assumptions you can make within the routine itself.Avoid DependenciesWhen you start pulling in code from other libraries or classes, you should consider the level of dependency that you introduce. A simple extra nice-to-have attribute may come with a payload of extra code that hardly ever will be called. If possible, put the extra attribute in a separate descendant class in a separate unit. The less code you have to compile in, the better.Embrace PolymorphismWhen you create classes that are intended as foundation for descendant classes, you should consider how to best support polymorphic
in more content in yet-to-be defined formats where appropriate. Isolate Data from the GUIThe less your GUI know about your data, the better. Vise versa, the less your data knows about the GUI, the better. Use a mediating class that does the job of knowing both and how to tie them together. This will ease the job of making the data structures as well as the GUI reusable.It can be particularly useful to tie your business logic to your data and avoid implementing biz.logic in the GUI presentation. Your data will be easier to move to a different presentation form when the rules are not hard-coded in some draw routine. You don't want to have duplication of biz.logic code between the display routines, the report routines, the export routines, etc.-Thats it for now. More on the topic of Layers and GUI abstraction to follow. Also, part 3 of the reusable grid. Veja artigo completo aqui Parceiros: |BlogTips| Musas| Hacker| News| EnglishTips| TipsDelphi| FutOnline|
3.0 regarding sessions is the new log level support. This is probably the most often requested session related feature that we incorporated into the new version. Log level support for sessions means that you are now able to configure log levels on a per-session basis. This allows you, for example, to only log errors and warnings in your application, except for your database module where you want SmartInspect to generate a very detailed log (e.g., for debugging or auditing purposes).Another improvement in SmartInspect 3.0 is the new ability to configure sessions via SmartInspect configuration files. This allows you to enable, disable or configure specific sessions without recompiling your application. This can come in very handy if you have to dynamically enable or disable logging for certain application modules on production systems or at customer sites.The last new session enhancement is the support for so-called session defaults. Session defaults let you specify default values for session attributes like the Active status or the background color of log entries in the Console. This is very useful in situations where you are working with many sessions and need a way to change the base settings of all instances.We will introduce other new features and improvements of SmartInspect 3.0 in the next few days here on our blog.Keyword Delphi Veja artigo completo aqui Parceiros: |BlogTips| Musas| Hacker| News| EnglishTips| TipsDelphi| FutOnline|
HeaderLen); fbNewMessage := Header.MsgLen <= fiPrenosLen; if fbNewMessage then begin // we have enough data for the entire message MsgLen := Header.MsgLen - HeaderLen; Move((pBuffer+HeaderLen)^, Msg^, MsgLen); CRC16 := CRC16Calculator.HashValue(Msg^); // Calculate the crc code fCRCFailed := CRC16 <> Header.CRC16; // and check if it was correct end; end; end; finally Locker.Leave; end;end;Now, where is that flameproof tin foil dress...Next: I'll be rambling a little more on effective comments, naming and structure.Edit - added after Paul's Snippet Rewritten: Delphifreak likes to exit early. He also likes to initialize up top, and I totally agree - that is a good practice. Exit works well in this example where all the conditions are dependant on the previous one. IMO, things get a lot more hairy if there are multiple conditions with alternatives (if/then/else if). For this example, Exits are not bad.procedure TReceiver.SetData(const Value: string);var CRC16: Word;begin fbNewMessage := False; TypeDetected := False; Locker.Enter; try fsData := Value; fiMsgLen := Length(fsData); if fiMsgLen = 0 then Exit; // Data found, Check for Type Move(fsData[1], (pBuffer + fiPrenosLen)^, fiMsgLen); fiPrenosLen := fiPrenosLen + fiMsgLen; TypeDetected := (fiPrenosLen >= HeaderLen); if not TypeDetected then Exit; // We have a type, check header for content Move(pBuffer^, Header, HeaderLen); fbNewMessage := Header.MsgLen <= fiPrenosLen; if not fbNewMessage then Exit; // we have enough data for the entire message MsgLen := Header.MsgLen - HeaderLen; Move((pBuffer+HeaderLen)^, Msg^, MsgLen); CRC16 := CRC16Calculator.HashValue(Msg^); // Calculate the crc code fCRCFailed := CRC16 <> Header.CRC16; // and check if it was correct finally Locker.Leave; end;end; Veja artigo completo aqui Parceiros: |BlogTips| Musas| Hacker| News| EnglishTips| TipsDelphi| FutOnline|
SafeGetNodeValue(Geo, 'AdminArea1'), //country SafeGetNodeValue(Geo, 'AdminArea4'), //county SafeGetSubNodeValue(Geo, 'LatLng', 'Lat'), //Latitude SafeGetSubNodeValue(Geo, 'LatLng', 'Lng') //Longitude )); Geo:=Geo.NextSibling; //get the next GeoAddress end; finally XML.Free; //free the XML document end; finally DOM.Free; //free the dom DOC.Free; //free the xml parser end;end;{ TReturnedAddy }//create the object and initialize the dataconstructor TReturnedAddy.Create(aAddress, aCity, aState, aPostalCode, aCountry, aCounty, aLat, aLong: string);beginAddress:=aAddress;City:=aCity;State:=aState;PostalCode:=aPostalCode;Country:=aCountry;County:=aCounty;Lat:=aLat;Long:=aLong;end;{ TReturnedAddyList }//easy way to get access to the accumulated returned addressesfunction TReturnedAddyList.getAddy(index: integer): TReturnedAddy;beginresult:=TReturnedAddy(Items[index]);end;end. Veja artigo completo aqui Parceiros: |BlogTips| Musas| Hacker| News| EnglishTips| TipsDelphi| FutOnline|