February 2009

A job I would not mind

February 16, 2009 by Gabriel Monge-Franco   Comments (1)

, , ,

I wouldn't mind driving an urban bus.  I'm pretty sure there are plenty of perks that come with the fantastic factory pay.  There is the power, for instance, that comes with driving the biggest vehicle in town.  There is also networking with people of all kinds, from the street rat weirdo, to the hardworking adult, to the young hung over college student who is writing a paper about this year’s Beer Festival.  There is also the added benefit of being out all day, growing muscles in places which I had no idea could grow.  Yet, the most thrilling benefit of them all is the character building that comes with those remarkable life experiences that only a bus driver could say he has lived them all.

Driving a bus would make me grow.  It would make me grow full of power with the dominion over the road.  Imagine for one second handling the wheel of this enormous device, one so large that it could fit fifty people aboard and still manage to travel faster than the posted speed limits.  Imagine what it would be like to see from above all the angry warriors of the road, so pitiful in their meaningless race for an extra second of time.  Meanwhile, this gigantic machine moves through the streets breaking the sidewalks with its fringe armor, jumping through potholes like a true rollercoaster, and even running through red lights while the miserable cars below can do nothing but watch with apathy.  Or is it respect?  Maybe the blue, black, shiny red and silver bugs that drive below look up to the bus like a mighty being, or a king of the road.  Maybe they stay out of its way because the stories they hear of cars and bikes being wrecked by a bus, while the bus suffers merely a scratch, give them  warm, fuzzy feeling of comfort and relief when they manage to stay out of the way of a ten-ton bullet.

Driving a bus would enhance my social skills.  The dreaded low-ridership routes are apparently designed to force excitement, and even a smile, when greeting new riders.  That's because with only a few passengers a day, all of whom choose to seat on the opposite end of the bus, that one moment for greetings becomes the only moment for socializing -- that is, of course, other than the random spurts of well-earned violent language in the presence of stupid drivers on the road.  After perfecting my greeting skills and road etiquette, I could move on to the extreme opposite in a route that cuts through all levels of this city's segregated society, thus providing limitless opportunities for uncensored chatter.  The ride through downtown and the inner city would prove extremely beneficial, as the constant yelling and turmoil of high school students and the agony of stopping at every bus stop, topped by the constant pressure of being on time, would certainly lift my spirit in a cloud of character-building anxiety (or smug, can't really tell).  The ubiquitous pot heads and hung over students that roam the city would certainly engage in inspirational conversations throughout the bus ride, covering such important topics as the Beer Festival's “Most beers in one hour” contest, last night's strip poker tournament, the collage inspired by hallucinogens and my favorite of all: skipping class for one of two reasons, to recover much needed sleep, or to make out and then recover much needed sleep.  The hard working people inside of the city limits could share their horror stories of foreclosure, gangster fights, political chatter at Starbucks, a lifeless life in the city's cocoon, or just general bus near-missing adventures.  In contrast, the few people from the suburbs riding the bus would mostly keep to themselves, thus preaching the value of silence at the end of an unharmonious ride.

Driving a bus would alter my ego.  The amount of muscles that a shocking seat can build is amazing, especially in the lower back area.  That is not to say that all muscles would grow in proportion, so an achy side effect could take precedence, one that ergonomics can only dream to eliminate.  The stress caused by these ever-breaking muscles would have an unexpected benefit, though: they would cause so much stress that neck muscles would tighten, solidify like pure quartz stone, and even notch up a little in a fashionable way.  What a side benefit!  Buttocks would build up so quickly that the cushion on the driver's seat would contour around them permanently.  The best part of all though would be the huge gain in belly mass due to the exposure to seat radiation and an increased consumption of cooked-in-a-minute, eaten-in-ten-seconds food and snacks.  There is nothing like belly muscle to mood-alter a person's ego.

Adding all the drama and associated benefits, the factory pay for a bus driver is an amazing deal.  Not only are there perks such as new spending habits and medical bills, but also to top it off, a driver's salary would be more than enough for a comfortable carton house near central station.  Oh, right there, that is another great benefit: a short commute.  It really would not matter anyway considering the longest commute would seem trivial when compared to an eleven-hour shift in a monstrous bus.  So, the pay is great, the benefits are countless, and the opportunities for growth and character building are astonishing.  I guess I really wouldn't mind driving a bus one bit.

A kiss in the mist

February 15, 2009 by Gabriel Monge-Franco   Comments (1)

, , , , , , , , , , , , , ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on August 24, 2008]

 

A Kiss in the Mist by Gabriel Monge-FrancoFor the first time, I opened up to her. We talked for hours and hours over dinner. She shared all her hidden feelings about situations seemingly so normal, but that in her mind unveiled a world wide war. I told her everything: why I might move to Canada, how I worry for the safety of my sister, that new job I really want to get, my dreams, my plans, everything. We both sat there for hours, sharing pieces to the puzzles that are our minds. It felt so good.

After dinner, we set out to find a quiet place to talk in the midnight mist. We arrived at a playground, which although wet, was quiet enough to hear the crickets, dark enough to see the stars and surrounded by such heavy fog that we were locked in our own little world. We played in the slides, in the monkey bars and in everything else. As we played, laughed, and talked, I began to wonder whether there was something more to this night than I had planned for. While standing atop a slide, we got so close that it became a bit uncomfortable. But at that same moment, as she rubbed her body against mine to get in the slide, I suddenly realized what I had not seen before. The last few times we hung out together, she was unusually happy to see me, even thrilled. Considering that when I told her my feelings for her she did not reciprocate, that unusual attitude should have raised some flags. It should have alerted me that perhaps I had another chance. However, having already shut down my feelings for her, I chose to ignore all the signs. Yet here I was, with her on a slide in the middle of the night, wondering once again what it would have been like to be more than just friends.

After I helped her get off the monkey bars, I somehow, quite involuntarily, reached for her hands. She smiled and I smiled. After a few seconds, when it was evident what I was doing, I let go in the most awkward moment. I tried to simply ignore what had happened and was quick to suggest climbing the spider. I got up in a single jump and then helped her up. It was wet, slippery and as big and yellow as it was, the spider had but a tiny flat surface on its center on which to stand. So all of the sudden, we were close, very close.

I grabbed her hands. I held them while looking into her eyes, as our bodies touched and our feet were unable to move without slipping off the spider. At that moment, I thought to myself, this cannot be! I cannot do this to myself again! I cannot try again and be rejected. So I said, "Hmmm... this is a bad idea." Then, I let go and started turning away, if more mentally than physically. But as soon as I let go of her hands, she reached for mine and said, "Yes, a very bad idea." At that moment, I knew she realized where this was going. I thought, "If I don't try now, if I don't tell her how I feel, I may never get another chance like this one again." And I probably would never have. Once we walked away, we would be back on friend territory. And once we crossed from almost-there back into friend territory, there would be no going back. So I took a chance.

We stood on top of the slippery yellow spider for a moment, holding hands and looking down. Then, I slowly and gently hugged her waist as she touched her forehead against mine. I felt her nose next to mine, and her rapid breath and agitated pulse on my face. "Well, this is different," she said. In its most simple meaning, "different" was just that -- not like any situation we had encountered before. But in my mind, "different" took on a more complex meaning. What did she mean by different? Did she mean awkward? Was she so uncomfortable about getting into this situation that she did not know how to get out of it? Did she want to get out of this and pretend nothing happened? I did not know. I did not know what to think, what to say or what to do.

"So... now what?" I asked. "I don't know," she replied with great anxiety. "You don't know?" I said, "I don't know either. I guess we're just ignorant." At least she cracked a smile. Then I apologized saying, "I'm sorry, I make stupid jokes whenever I'm in difficult situations, or I'm nervous." "I know," she said. "I know you very well, and they're not stupid." With that little bit of confidence, I rubbed my nose against hers and asked again, "so now what?"

 

"I don't know," she said. "Do we stay friends?" I silently yelled in my head, "No!" As I saw us crossing into friend territory, I decided it was time to know once and for all where we stood: were we friends, or something more? With my left hand, I cleared the hair off her face. Then very slowly, my nose moved down her nose and my lips got closer and closer to hers. We closed our eyes and then barely touched half of our lips. I opened my eyes, and she had started to open her mouth very slowly, getting ready for a kiss. I closed my eyes again and in a moment of mindlessness, we kissed. We kissed very softly while standing in the middle of a war zone, a war of friendship against relationships. As I kissed her cotton candy lips for the first time, it seemed like nothing else mattered anymore. The whole world was just her and me, on that yellow spider, kissing in the fog.

 

Creating hyperlinks to open specific forms in CA's Unicenter ServiceDesk

February 15, 2009 by Gabriel Monge-Franco   Comments (1)

, , , , , , ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on August 19, 2008]

 

While creating some custom reports for Unicenter ServiceDesk in JasperServer, I thought it would be very cool to have links going directly to ServiceDesk. So I started reading online documentation and forums, just to find, to no surprise, not enough documentation. That is when I decided to take matters into my own hands, and begun looking at the HTML and JavaScript code in change order forms. Eventually, I came up with the basic parameters needed to create hyperlinks linking directly to specific forms in ServiceDesk, using only URL parameters.

The URL for a hyperlink should start with a base address in the form:
https://<server address>/CAisdsec/pdmweb2.exe?

Every parameter after that must be separated by plus (+) signs. The following is a list of the parameters I found and their values.

Parameter: OP
Description: The operation to perform
Values: SEARCH, ???
Value Descriptions:
SEARCH: search for something in the database

Parameter: SKIPLIST
Description: Skips the search results list
Values: 0, 1
Value Descriptions:
0: Show the results grid (like Google)
1: Skip the results grid and jump directly to the most likely result

Parameter: FACTORY
Description: The form/table to open (change order, request, etc.)
Values: chg, cr, ???
Value Descriptions:
chg: Change order
cr: Change request

Parameter: QBE.<operator>.<[joint table or group]>.<field name>
Description: Query builder indicating from left to right: the comparison operator to use, the joint table or group (if any), and the field name
Values: Any value as appropriate
Value Descriptions:
Any value as appropriate
First Sub-parameter:
.EQ: Equal to
.GT: Greater than
.GE: Greater than or equal to
.LT: Less than
.LE: Less than or equal to
.IN: Contained in
Second Sub-parameter (optional):
.<[table name]>: The table name if looking outside of the main table (e.g., customers table)
Third Sub-parameter:
.<field name>: The field to use in the filter (WHERE clause)

And here are a few examples:

Example 1: Show a list of change orders assigned to the "INFO SEC" queue:
https://servicedesk.mongefranco.com/CAisdsec/pdmweb2.exe?OP=SEARCH+SKIPLIST=0+FACTORY=chg+QBE.EQ.group.last_name=INFO%20SEC

Example 2: Open a specific change order, #1234:
https://servicedesk.mongefranco.com/CAisdsec/pdmweb2.exe?OP=SEARCH+SKIPLIST=1+FACTORY=chg+QBE.EQ.chg_ref_num=1234

The QBE parameter can repeated multiple times to create an AND filter. OR filters can be created with the help of IN operators and a little bit of creativity. Having figured out AND and OR, one can create any other Boolean operators.

This documentation is by no means official. It is only my personal findings after experimenting for less than an hour. If you have a link to the complete, official documentation, please feel free to comment on this blog and leave the URL. Have fun, and happy hacking!

Creating a dashboard in SharePoint using JasperServer reports

February 15, 2009 by Gabriel Monge-Franco   Comments (1)

, , , , , , , , , , , , , ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on August 10, 2008]

 

If you are using JasperServer community edition, you are probably wondering how to run reports from within other applications.  More specifically, you may be wondering how to create dashboards.  JasperServer offers two ways to do this: web services and HTTP requests.  Web services, for the most part, require programming and compiling for a specific platform.  That may not be an option for business users.  With just a few changes on the server, business users can easily integrate reports into their own applications -- Excel, SharePoint, web pages, etc. -- without any programming.

Although this example uses SharePoint, the HTTP method is be the same for creating dashboards in web pages or custom applications.  For a dashboard, the easiest way to get started is to create a report with nothing but a graph using iReport.  The graph pulls data from a given data srouce.  Here, it pulls change order information from CA's Unicenter ServiceDesk.  Then in SharePoint, a web capture web part opens the report inside of a frame.  The web part looks like this:

The first step is to create a report.  This can be done in iReport.  The trick to avoid scrollbars is to set the height and width of the report's page just 4 pixels bigger than the image.  That would allow 2 pixels of empty space around the image.

 

 

Next, I save the report to JasperServer under a directory called "Widgets."  Create a new account to be used for anonymous access, and grant it read-only access to the Widgets directory.

In SharePoint, add a web capture web part.  The URL would look like this:
http://:/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=&j_username=&j_password=&decorate=no&output=html<&parameter1=value1&parameter2=value2...>

The "decorate=no" option removes the page header, and "output=html" generates an HTML report.  If you would like, you could also use pdf, swf, xls or csv as the output.  The paramaters are input controls, if any.  The only problem with this is that JasperServer will show a table with report options (back, export to PDF, export to XLS, etc.).  This would be undesirable for a report.  The only way to change this behaviour is to either use web services, or tweak DefaultJasperViewer.jsp.  Since it would be so much easier to stick to the HTTP (URL) method, it is better to change that file as follows:

Near the top of the file, look for this line:

<%=request.getParameter("ParentFolderUri")%>

Go above that line, and copy & paste the following:

<%-- BEGIN Gabriel's dashboard modifications --%>

<%if ("true".equals(request.getParameter("enableDashboardView"))) {%>

<%
  exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
  exporter.exportReport();
%>

<%} else {%>
<%-- END Gabriel's dashboard modifications --%>

Now go to the end of the file, look for this line and delete it:

Then go to the very end of the file and copy & paste the following code:
<%-- BEGIN Gabriel's dashboard modifications --%>
<% } %>
<%-- END Gabriel's modifications --%>

 This will enable a new parameter in the URL: enableDashboardView.  When set to true, it will suppress the report options toolbar.  So the URL will now look like this:

http://:/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=&j_username=&j_password=&decorate=no&output=html&enableDashboardView=true<&parameter1=value1&parameter2=value2...>

 Enter this URL, complete with your report name (/reports/Widgets/ServiceDesk_WorkOrders in this example), into the web capture:

 
Save the web capture web part, refresh the page, and enjoy the coolest, real-time dashboard ever!
 

The Rapid to roll out real-time transit tools

February 11, 2009 by Gabriel Monge-Franco   Comments (1)

, , , , ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on July 29, 2008]

 

Who knew I would ever have the scoop on something! But haha, I do! As it turns out, The Rapid is getting ready to roll out some very cool real-time transit tools this fall. As if it was not enough to be one of the highest quality public transit systems in the nation, now The Rapid is about to become on of the most technologically advanced too.

Just imagine what this will do for its riders. Not only will they be able to plan trips online, but quite possibly even find out if their bus is late! Along with the tools in development, real-time data will also be integrated with Google Transit. This will allow customers to visit the popular Google Maps site, enter a start and end address, and have Google plan out their entire bus route! Not only that -- but through Google Transit Mobile, they can plan routes using their cell phones too.

Together with this fall's frequency improvements and new bus routes, these transit tools show The Rapid's commitment to its riders.

Riding The Rapid

February 11, 2009 by Gabriel Monge-Franco   Comments (0)

, , , , ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on July 26, 2008]

 

Yesterday, I took the bus to work. When I lived in downtown, I used the bus more often. I always had some issues with it -- namely some routes not running after 5:45pm, or having to wait 45 minutes for the next bus. But overall, it worked out fine -- especially for a college student with no car. :)

I stopped riding the bus some time ago when I got a job outside of the city. A few months back, The Rapid put a bus stop near work so I had the change to start using public transportation again. Yet I didn't, because it would take me too long to get back from work in the bus. Yesterday, I took the bus just to help a co-worker figure out how to ride it. It took me 25 minutes to get to work -- just five more than driving through traffic. Yet it took me almost an hour to get back. Not only that, but I got to work five minutes late, and had to leave 20 minutes early. If I didn't catch the 4:15pm bus, I would have to wait for the next one two hours later!!!

My co-worker was very excited about the idea of saving money by riding the bus. But after he tried it yesterday, he was not as thrilled any more. His trip took an hour and a half -- including 25 minutes of waiting time. Now correct me if I'm wrong, but doesn't that mean the buses suck? Big time.

The problem is that their ridership is not very high. Without more riders, they just can't afford to put up more routes, increase their buses frequency, or open sub-stations. So do people not ride the bus? Well, in my opinion, it's a combination of multiple, powerful factors:

  • There is a cultural barrier that people cannot easily get over. In this city's eyes, only hobbos, students and weird people ride the bus. Being a Michigan city, conquered by Detroit's car manufacturers and their push towards highways and personal cars, this view is not easy to change. Yet, environmental concerns and high gas prices are pushing more and more people into taking the bus. This unfortunately is a slow process, and it will not be successful until The Rapid can people from all socioeconomic levels to ride the bus.
  • The Rapid does not have a good enough service. It has an excellent service for limited parts of the city, but overall, the service is poor. There are not enough routes, a high enough frequency, or early/late service. Unfortunately, unless ridership increases, service cannot improve. But if service does not improve, ridership will only increase slowly.
  • The city is not people-friendly. By that I mean that everything is car-centric. For example, 28th street, which is a major commerce hub, lacks sidewalks for cars and bikes. Most buildings along 28th are distant from one another, which means that even if sidewalks were available, people would have to walk long distances just to get from one business to the next. The few places that are easily accessible by foot are mostly in dangerous neighborhoods, or in Downtown. This brings me to my next example: Downtown Grand Rapids, unlike in other cities, has no value for people. There are only a few restaurants, a couple of very expensive hotels, and tons of bars. Unless you go there at night to drink, or have an office job during the day, there is not a whole lot to do. Other centres such as Eastown, Plainfield, Cascade and Wyoming have much more to offer than Downtown Grand Rapids.
  • There are no express services or sub-stations. Besides college express routes, there are no buses that will take you from one side of the city to the opposite side in a matter of minutes. There is no subway either. There is talk now of streetcars in Downtown, but with nothing to see there, I don't see what's the point. It just sounds like a very big waste of money -- money that could be better spent on express routes along East Belt Line, US-131, 28th St, 44th St, and a few sub stations. Did I mention that to go anywhere in the city, you almost always have to head towards Central Station in downtown first? Just imagine a 45-minute ride to Central Station plus another 45-minute ride to your final destination, plus waiting time. Does that sound like a good service? Absolutely not.
  • The service is still too expensive. At $1.30 for an adult ticket, with transfers limited to a different route within 2 hours, the service is too expensive. Monthly passes are now $35, which make a bit more sense. However, since there is limited service on weekends, one must still spend extra money on gas which makes the $35 a commodity.

I am a great defender and proponent of public transportation. I want to give my city access to a good public transportation service. However, I just don't know how to make the service better in Grand Rapids. I'm not sure how to change the public transportation culture either. I'm not sure how to make the bus work for my co-worker who has an hour and half ride ahead of him. Or my friends who can't take the bus to work because it doesn't run early enough. Or my friends who can't ride the bus to school at night because they'll have no way to get back home after class. I understand that public transportation is vital for the progress of the city. So the question is, how do we improve The Rapid and make people want to ride it?

QHOTD #1: Quickly annoy someone using JavaScript

February 11, 2009 by Gabriel Monge-Franco   Comments (0)

, ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on July 26, 2008]

 

Quick Hack of the Day Series

Welcome to the Quick Hack of the Day series, a collection of quick & dirty hacks meant for innocent pranks, authorized security testing, and other less benevolent but legal purposes. These hacks are not limited to computer hacking -- they also include chemistry, astronomy, physics, robotics, electronics, music, sociology and anything else that comes to mind.

Quick Hack of the Day #1: Quickly annoy someone using JavaScript

This quick hack simply displays a message on the screen upon login. It applies to Windows 9x/XP and if modified correctly, Linux running KDE. This hack will cause the following window to come up and keep coming up no matter how times the user tries to close it:

Steps:

  1. Open Notepad
  2. Type the following code:
    while (1) {
    alert("Y0u've b33n pr@nk3d!");
    }
  3. Save the file as C:\quick1.js
  4. Drag & Drop the file to Start Menu -> All Programs -> Startup
  5. Reboot the PC

 

[Watch Video]

The Knols Are Coming!

February 11, 2009 by Gabriel Monge-Franco   Comments (1)

[Transferred from http://blog-gabriel.mongefranco.com; originally published on July 25, 2008]

 

Watch out! The knols are coming!

As soon as Google made its new knol feature available, I started migrating my article-like blogs to it. So in the future, if you are looking for hacking articles, The Voice of the Maya series, or general technology articles, you might find them on my new knol in addition to my blog.

 

All new and explosively entertaining: Gabriel's Video Channel

February 11, 2009 by Gabriel Monge-Franco   Comments (0)

, , , , , , ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on July 20, 2008]

 

If you are tired of staring at that computer monitor, you have three options:

  • Turn it off and get a life. Lame!
  • Turn it off and go watch TV. Lamer!
  • Convert it into the ultimate entertainment center with Gabriel's Video Channel. Awesome!

So how does it work? Well, it's quite simply really. You just go to YouTube and check out what's playing on my channel. Watch trips around the world, meet interesting new people, learn how to hack into a computer network or build a little robot.... Anything that can be video-recorded, will probably be video-recorded. Check it out here:

http://video-gabriel.mongefranco.com

Touring Canadian Universities

February 11, 2009 by Gabriel Monge-Franco   Comments (1)

, , , , , , ,

[Transferred from http://blog-gabriel.mongefranco.com; originally published on July 20, 2008]

 

Just a couple of weeks ago, I had the opportunity to visit two very prestigious, world-renown Canadian universities. First, I visited Queen's University in Kingston, Ontario. The trip from Michigan was very long -- about 9 hours!!! But in the end, it was worth it!

[Watch Video]

Queen's University has a beautiful campus near downtown Kingston and next to Lake Ontario. Several buildings still have an old Scottish castle look, which is not surprising considering that Queen's is the oldest degree-granting institution in Canada. Queen's also ranks in the top 50 universities worldwide by different reviewers, up there with places like Harvard and Cambridge.

I am mostly interested in their software engineering master's program, where I could do research in application security, pattern recognition or reverse engineering. Their master's in robotics and systems control also caught my attention, where I could research space robotics, remote robotic control or even robot communication links.

Kingston is a breath-taking little city. Although it's not very big, it has lots to offer: arts, museums, historic sites, lake Ontario and a vivid downtown. The people are extremely friendly. During my short two-day stay, I felt more warmly welcome there than in my own city! The amount if diversity and intercultural acceptance amazed me. Having lived in two countries where discrimination is a fact of daily life (Guatemala and the U.S.), Canada's many cultures felt very refreshing.

Next, I went to Toronto, Ontario to visit the University of Toronto. The Saint George campus is huge and has my castle-looking buildings, and even a Harry Potter-ish dining room. There is also a chapel that features stained glass windows "taken" (which as I pointed out to my tour guide, it translates to stolen) by Canadian soldiers from torn-down churches in Europe during World War I or II. The university has around 70,000 students and has produced many great scholars, including Nobel Price winners. Although U of T's engineering research is pretty good, I did not like what their computer engineering program had to offer. I did not like the fact that it's too big either. I think I prefer smaller universities where I would have the chance to get to know my professors and work more closely with them.

I toured Toronto just for a little while before coming back home. Downtown is quite amazing. I think the part I liked the most was riding the subway.

You can watch my complete tour on YouTube here: http://www.youtube.com/gabrielinux -- just look for the "My first trip to Canada" playlist.

-

Spotlight

Welcome to OakPages.com!

OakPages is a community for friends and family. Sign up FREE today to grow your own branch on our oak family tree.

¡Bienvenidos a OakPages.com!

OakPages es una comunidad para familia y amigos. Regístrate hoy GRATIS para crecer tu propia rama en nuestro árbol de familia de roble.

What can I do with an oak page?

¿Qué puedo hacer con una página de roble?

Join - Regístrate