Saturday, December 4, 2010

Parallel programming


  1. I've been struggling with Pthreads, OpenMP and OpenMPI for the last couple of days. I like them all, the easiest being OpenMP, I parallelized a pi number generating program with only one line of additional code, I had some issues at first, must admit but after grasping a couple of concepts I'm on my way to implement almost every program I write from now on with the parallel approach so they run more efficiently.

  2. Bash shell scripting is a very neat tool. I've learned some concepts but I'm still a newbie in this regard, I hope to change that before coming back to school next year.

  3. I'm very fond of the Slitaz linux distribution, I've learned so much of linux thanks to it, namely the shell scripting mentioned above. I've also compiled several things and configured many things I hadn't before.

  4. I imagined that setting up a Beowful cluster would be easier, well it might be if I had the appropriate hardware (not a virtualized one).

  5. Oracle has its own linux, based on Redhat! It's free and looks just like centos, they claim it's bullet proof secure, I'll give it a try.



These days I'm just hanging around, no rushes , no preoccupations, I just care for my own leisure.

Words of the day:
Ansicht -> view
Abfrage -> interrogation, request, QUERY.

Tuesday, November 30, 2010

Lying


  1. It's such a tough endeavor to lie in the presence of others, I just couldn't. The teacher asked me at the HCI class whether I had given a presentation or not (he's so careless and doesn't maintain a record), I hate so much to give presentations about what the teacher is supposed to teach us, that I'd gladly would have said: "of course, don't you remember?, I talked about such and such..", but I knew that many of my classmates would rat on me right away and mmm, I said the truth, or else I would have stood in a very bad position. In this regard common knowledge is such a bad thing, no wonder why powerful people in the past (well they still do in some places) banned books, newspapers, etc. If you can keep people ignorant of important issues you can freely lie like hell, and profit out of other's ignorance. ....gosh I just hate the HCI class... and rats.

  2. I'm implementing a simple project using Java RMI, it's such a great thing that you can serialize and transmit complete objects through the network.

  3. Postgresql isn't that tough, I installed it with no issues and tested the JDBC successfully. I've heard it's much better than mysql, time will tell.

  4. ClearOS looks way better than Zentyal (formerly eBox), I'll give it a try when I have some spare time.



Words of the day:
Einschränkung -> restriction, limitation.
Auffrischen -> to refresh, to recreate.

Friday, November 26, 2010

Openmp


  1. We discussed the implications involved in trying to parallelize a program in order to make it execute faster, making use of the capabilities of the current hardware architectures. The two available options are employing a multiprocessor system and scaling it up 'till it reaches its limit or building a cluster which has not attached limits. According to the design of the system, it will indeed increase its performance relatively and proportionally to the amount of processors or it will be stuck or even deteriorate. The latter because of the overhead required to communicate and coordinate shared resources between all those processors. We had a glimpse of the openmp implementation of parallelism for c/c++ and even fortran, it isn't as complex as I thought would be. The lousy network failed once again and we couldn't see how to run our parallel programs within the cluster that Beto set up.

  2. CORBA. Such a complex business it is, no wonder why so few people are capable of implementing it, even the king of compiling everything successfully in the first try (the teacher Alvarado obviously), experienced an awful lot of trouble, may the lord protect us from CORBA. But in theory it's such a nice concept, there's got to be some other alternatives more practical to implement.

  3. Kerberos expo addendum. Well, I finished my kerberos presentation today successfully and I think I delivered a very good impression from it.

  4. Can't get to work my old binary divisor with the restriction of using just bit and bit_vector types, I'm getting some timing issues, and I'm loosing precision in my results. Variable types are not that great, they have some delay too, I almost forget we're dealing with wires and transistors.

  5. The last job interview was as fake as Calderon saying we're winning in the war against drugs, it was just a setup, a formalism to make look everything in the light of equality but I realized the one who won is Octavio, who formerly was in the java lab, it seems that people who have worked in the university before get a free ticket for new positions when the time is right, the time was right for him and we all the others lost.

Thursday, November 25, 2010

Justicia S.A.


  1. More on amateur theater: Justicia S.A. in a nutshell was about the very common dilemma on whether do what our conscience tells us or what this world requires us to do regardless of any ethics or moral whatsoever in order to "prosper". Those who adopt the former are called weak and fall in disgrace the argument says, and those who stump on other's rights, lie and betray are "real men", "brave", "prosperous". I let on this tragic fact long time ago and it makes me so sad... it's just how life is: the stronger feed on the weaker, but I say: fuck that, I don't mind to be called weak, my life has a meaning when I act according to principles of love and justice, no one can take that away from me, it will lead me to a sooner death I ponder, and to a lower quality of life, but this world is coming to an end soon anyway , so I just don't care.

  2. Kerberos dialogue presentation. Things weren't the way I would have liked them to be, but I deem a good deal of success in our presentation. Now I have a working implementation of the kerberos protocol using the apache server so I can provide secured access to web based systems.

  3. I just found out that I missed an exam and no one told me anything, I've been cutting the HCI class frequently these days as I've been quite busy in the networking lab, I disregarded the class as being of some usefulness to me anyway. After all, it's silly to think that others think about you once in a while, among so many people why should they care at all.

  4. Teacher Alvarado is such a clever shark, he tricked me into revealing that I had no clue on how the microinstructions get their job accomplished in the ARC, the devil is in the details, uh.



Words of the day:
Hinweise -> Information (curious how I just figured it out)
Zeichen -> character, symbol.

Sunday, November 21, 2010

Disappointment


  1. I wanted it so bad, and didn't work out. Some other guy I don't know got the job, I think it was arrogant for me to think that there's no one better than me, overconfidence is a bitch. It brought me down for a while but hell, life goes on and it's a good opportunity for me to wake the heck up. I've heard they use to choose people very badly and there have been several complains.

  2. I put together the java idioms we learned, I mean the classpath, path, .java, .class and all that stuff to get immerse into the ant tool to make executable files the way you make them with the cmake tool. It uses a really weird xml file for it to build things up, it makes it look hard, but it's time for me to be independent from IDE's that make all the work for you.

  3. I think there's no better way to know people than working with them in a project. I'd rather not know them that much, I like them better that way.

  4. Building the linux kernel from scratch is serious stuff. Beto walked us trough the whole process, being honest he bored the crap out of me, I thought it would be more interesting. One thing's for sure, the cross compiler thing is a bliss and sweet concept. Some other concept that attracted me was the use of a versioning tool such as mercurial, svn, and others.

  5. I gave up trying to repair the compaq laptop, what a lousy job did those engineers making up that design where the cpu burns down the gpu.

  6. Zentyal turned out to have some flaws, but who doesn't. The proxy overwrites the firewall rules, it's not clear how to restore the original rules without messing up the proxy too.

  7. Amateur theater is very interesting too, they're playing lately several functions at the university.

  8. I signed up for two conferences this week: data mining and the go game and if I hear from others I'll sign up too, anything to clear out the mind.



I feel like joining the dark side once and for all, life is so tough playing fair and being decent.

Words of the day:
melden -> to notify, to report.
Anmelden -> to register, to sign up.
Betrachter -> observer, beholder, viewer.

Wednesday, November 17, 2010

Job Interview


  1. I hate being a "show up", but while in interviews which other way do you have for your potential employer to consider you seriously? and oh how much I loath that heavily used term :"selling yourself", gggrrr that's despicable in my way of perceiving things, I struggle everyday because I just wanna be who I am, with all my virtues and defects( which I procure to overcome little by little) , being authentic is my motto but today I was interviewed among other 10 people to get a professor assistant job, I know some of them and are capable and skilled people. I wonder under what criteria will they grade us and ultimately choose one of us. For all I know I was as modest as I can be, although they have all the information there is about me, in the end facts speak for themselves -> hopefully.

  2. x11vnc can be a very handy tool for educational purposes, I know similar utilities for windows but the remote desktop in unix based systems is just elegant and of course free.

  3. Toolchains are a chain (duh!) of software systems that interact as in a pipeline to produce yet another particular system, the output from the former becomes the input to the latter.

  4. There's a tool to make a distributed compilation called distcc, which breaks up code and compiles each piece independently in several computers (as far as I understood). Beto said he would make a couple of presentations for us to grasp its use.

  5. There's a weird disease called Bells palsy which paralyzes half your face but goes away on its own. Sadly one of my friends is under the strain of it, but he's strong and I'm sure that he can cope.

  6. We reviewed some concepts relating paths and classpaths in java, idioms regarding executable files, applets as a way of delivering some processing functions within the browser and signing them as a way of securing them. Other topics were two and three tier systems and its uses, they involve differentiating data, business logic and interfaces. We were told, the first rule of the programming club is DO NOT USE IDE's LIKE VISUAL STUDIO, the second rule is DO NOT USE IDE's LIKE VISUAL STUDIO well you get the idea, the issue is that its difficult to separate the business logic from the code if you are into coding such logic behind a button and the like. A better approach is to wrap the business logic within a dll or shared object library and invocate its methods through the interface components.



Words of the day:
Abbild -> image (as in iso image)
abonnieren -> to subscribe

Tuesday, November 16, 2010

Sharing Knowledge


  1. I've written so much about this topic, but everyday I confirm how rewarding is sharing knowledge. Today I was stuck with the configuration of my http proxy in zentyal and suddenly Mariana approached me asking: "hey Rene, is your DHCP server running? 'cause I can't get mine to work. Take a look at your dashboard"- and was like: my what? So I reached for my dashboard and my DHCP server was effectively running, but my http proxy was stopped! So I restarted it and had my http proxy running in no time. Sadly I couldn't be of more help to Mariana as I was concerned with leaving so I could attend the HCI class which overlaps with the Networks Lab, but she managed by herself to get it working later. So if I wasn't open to helping my classmates when I have the possibility they wouldn't enrich me with their doubts.

  2. The HCI class was... well I better reserve to myself the right to comment. Nah it wasn't that bad, but I was a bit tired.



I'm still tired, so this is it for today.

Monday, November 15, 2010

Omar Edgardo Sanchez Noya, rest in peace, 2nd part.


  1. It turns out that I knew him, recognized is face right away, a big picture of him was posted outside the library. It was a long time ago, but I used to eat in the cafeteria, and in order to skip the long queue I'd trick anybody into believing some excuse for me skipping the queue such as being in a hurry or something like that. That's how I met Omar, he was a short person, slim and had a characteristic hairstyle: a really messy one. He let me skip the queue several times, he used to carry two bags, one for his books and one for his clothes as he used to do physical training. I don't remember what we talked about while waiting our turn, but he was a nice guy. I remember inviting him his meal in exchange for helping me save at least an hour in the queue. He was a loner too as far as I'm concerned, he had friends but most of the time I saw him alone. Many people congregated today including myself outside the library to show our condolences to his family. I don't know why am I so sad, I barely knew him, I think the sole thought of my own inevitable death is what really brings me down. I wish I wasn't this sentimental, it's very burdensome.

  2. Super-scalar architectures are those that implement two or more execution units. The key for this technique is that some instruction require more processing than others so, the microprocessor may implement a mechanism for characterizing an instruction or group of instructions, and reorder them in a way that most of the parallel execution units are busy most of the time. This kind of architecture is said to apply dynamic reallocation, when the compiler does this reallocation we're talking about static reallocation. Some post optimization enhancements can reallocate data-independent instructions in the gaps required to synchronize dependent instructions.

  3. Hierarchical representations of data can be very effective retrieving data but the main shortcoming lays in the fact that relations many-to-many are hard to handle, this is when relational relations come into play. I remember Miguel saying something about OLAP, but I didn't quite get it.

  4. The FAT file system is implemented in devices such as flash memories due to its simplicity, everything is stored in a big table and write/read accesses are minimized even if data gets highly fragmented...mmm that's a bit contradictory isn't it?

  5. The Achilles heel of unix systems is that they can't cope very well when resources are very scarce, we were told, but I don't buy that either, I need to see it with my own eyes, I can tell about my linux desktop distribution but it should be a very different picture when regarding servers.

  6. We revisited java interfaces, talked about RMI, and how it's implemented. I really like the teacher Nava giving us programming lessons, he declares himself as not being software-savvy (his passion is hardware) but If you ask me, he is better than most of the teachers that give us programming classes.

  7. Data-warehouses are a very neat concept, I wonder how are they implemented. This is the kind of stuff that attracts my attention the most, as Oscar Herrera says...torture the data 'till it speaks.

Saturday, November 13, 2010

His name was Omar Edgardo Sanchez Noya


  1. A terrible news shocked me today, one of our fellow students was murdered last Wednesday outside the Azcapotzalco subway station. I didn't get to know him but it shocked me 'cause thats the subway station I get out from to get to school everyday, the event took place about the 19:00 hrs, it was dark already. He was a swimmer and was studying industrial engineering, what a waste, just the right kind of stuff that depresses me the most. That's the second time I hear from a deceased student in the university, I knew the first one and he was a pretty upbeat, funny and social person, his name was Valerio. he wasn't murdered, he died out of a stupid mistake. They can't feel a thing anymore, they can't dream anymore, so much potential that is no more..., we're so damn lucky to be alive when so many people die everyday in this godless world, and what is worse , evil doers get away with it unpunished.

Thursday, November 11, 2010

Friendship


  1. I think friendship is a relative thing, one day you can consider someone your friend and the next day who knows. I was hoping some "friends" could help me out with something very simple that I couldn't do myself due to lack of time, they didn't and I had an opportunity to get back at them (indirectly which is more sweet). It felt right at first, you get a sense of justice but later on I was ashamed and felt empty. What a complex thing is friendship, no wonder why I spend most of my days by myself, but in this life you can't get too far just on your own, can you? Well many transcendental figures were loners too, but I'm just tired of being alone...gosh.

  2. Zentyal is a great piece of software, if you want to setup a gateway, firewall, proxy and many other network services, is a straightforward tool to use.

  3. Another thing about friendship: when you have to choose to help your peers or follow the rules of your job which by definition are against helping your peers, what ought we to do? Joel made that choice today and chose to follow the rules, that of course made him hated among the majority of the class, but who cares?, I should have done just the same, friendship and business don't fit together in most cases, do they?. I hate seeing my old ideals falling apart.

  4. Another thing that is falling apart is our programming club, they got scared the last meeting and most of them didn't show up today, another thing I hate is apathy and conformism.


Well, what a lousy day.


Words of the day:
Angaben -> Data (what a handy word).


Pending topics: DNS revisited.// More on pipeline and hazards in pipeline.

Tuesday, November 9, 2010

Programming Club


  1. My dear friends Ernesto and Paco have created a "Programming club" or "Programming workshop" for all us fans of algorithms and cryptic code. Today was the first meeting of many more I hope. I made my first program using bitwise operations extensively, well it wasn't that tough, I stumbled upon several "Presentation error" instances at the acm website, but overcame them at last. Paco taught me this awesome function: freopen(), it's use to redirect the standard output to a file, so everything that is spited by our program goes directly to a file and then we can debug those presentation error message and leave them behind.

  2. Netcat is a very handy tool. We tricked the IRC server into believing that we were someone else and established a chat session with stolen credentials. I bet there are safer implementations of the protocol, wireshark sniffed the whole unencrypted protocol giving us access even usernames and passwords.

  3. The HCI class was suspended due to a congress.

  4. I'm getting acquainted with the Bluetooth stack and the J2ME technology, but they're so many concepts, and I'm so keen on getting into bed.



Words of the day:
Neuigkeiten->tidings, news, as in new features (thunderbird option)
Verschieben -> to relocate // to suspend. In application menus is bound to mean something like: to move.

Monday, November 8, 2010

Pipeline revisited


  1. We talked a big deal about our old friend the Pipeline. And we discovered something fairly counterintuitive, with the Pipelining technique we increase the cycles per instruction... how's that? well, in inserting new registers and specialized units within the process makes synchronization and communication a bit more complicated introducing some overhead with every level of complexity of pipelining. Ha ha, but what's the catch? Very simple indeed, instructions overlap all the way through the pipeline, so this extra overhead is compensated with the fact that the overall set of instructions used in our program finish more quickly, than if we weren't using pipeline.

  2. The last class before today (I didn't feel like blogging), we, I mean, I learned , because it was a concept that our dear teacher taught them in the modern operating systems class, the concept of sub-dividing the cache memory in two sections, one for data exclusively and one for instructions. This is due to the fact that when an area of the cache is written it's marked as dirty (cute), and that indicates the processor that he must rewrite the corresponding data back to main memory so it's updated, this is true for data but instructions will never be overwritten inside the cache so it makes no sense to mark instructions as dirty. Setting things this way allow for simultaneous writing and reading, using two kinds of i/o ports to the memory.

  3. Today the teacher was jocking around with my dear Rose with the following analogy (she was the only girl in the class today): Imagine you've got to carry 300 glass coke boxes up to a 3rd floor with a little help of your friends, in this case the whole class. So what's the smartest approach?, to let each friend to carry as much of that boxes alone up to the 3rd floor?, that's dumb...anyway Rose couldn't handle more than 3 bottles at a time, how many trips would she make. Laugh out loud the whole class. We men the stronger gender would finish sooner, quite sooner that she I we would watch her together do her trips, while making jokes at her. So it turns out that the best approach is naturally to simulate our precious pipeline, setting ourselves in a queue handling the boxes from one hand to the other, it was kind of obvious but it was a funny analogy. Of course being Rose inside the queue she would move slower compared to us, so she would introduce the so talked extra overhead. Two solutions :kissing the little princess good bye, or just wait it up so the others can rest in the idle time, of course machines don't need rest, so sorry cutie, you've got to go.

  4. In AIO we explore the reach of XML and its shortcomings, our friend Jaime gave a presentation but it could have been better, but he isn't the one to blame. It turns out that WEKA can manage to make Object Oriented Databases, with Relational DB and XML. The shortcomings of XML are that it doesn't have the kind of foundations that Relational DB has, and there's no hope of XML data queries being at least as fast as those made with Relational DB. The same goes for Object Oriented DB, you can forget about complex queries. The foundations of XML --> trees.

  5. In the SD class, we revisited RPC's and rpcgen. We re-analyzed the inner workings of the protocol, the code itself and its idioms, ain't that complicated at a first sight but it has so much more options that those discussed in the class.

  6. Ohh and I learned how to memorize several unrelated items by making up a story. I managed to learn 20 items in order in about 10 minutes, I know yet kind of slow but practice makes master.

  7. Despite my fasting habits, the awful truth is that I'm no loosing weight so need more drastic measures, I'm gonna work my ass off all day by doing exercise like if there's no tomorrow.

  8. I wish I could be someday as excellent, professional, smart and kind as the architect Francisco Mendez is, we met today and gives me a great deal of hope to be acquainted with people like him.



Words of the day:
Klang -> sound
Protokoll -> event log
Zuletzt -> ~~ recently ( I guess)

Thursday, November 4, 2010

IRC server


  1. Today we learned how to set up a simple Internet Relay Chat (IRC) server using the package ircd-hybrid. The configuration wasn't trivial, there're so many parameters and security issues involved. The topic regarding this kind of services is precisely - security - and we'll investigate how easy is to sniff into the exchanged packets and read every message.

  2. In the HCI class we're still discussing how to design good user interfaces applying the minimal effort rule. ( It comes to my mind a joke that the teacher once said: "remember guys: the minimal effort rule, ain't the same as the maximum laziness rule =-D", that made my day). We spoke about ergonomics, the invention of the mouse, the convenience of a mousepad, the translation of the physical desktop to a virtual desktop, reducing anxiety in the use of technology through clever interfaces.

  3. I realized something regarding leadership: when you care about other's success and appropriate that success as yours too, if you instruct them or suggest them to do something they actually do it. I don't know if you can see this as altruism and then manipulation, or manipulation from the beginning. In my case , I regard helping and guiding others as a means to grow myself, and as long as they grow, we grow together as long as cooperation goes both ways.

  4. It feels so right when people trust you. It makes me want to be trustworthy just for the sake of that feeling.



Words of the day:
überwachung -> surveillance
fläche -> face, surface, area

Wednesday, November 3, 2010

Awareness of Death


  1. Today we didn't have classes, there was a huge gas leak near the zone where the school is located and activities were suspended. When I arrived I found out through the news that everything was fixed already, nonetheless school authorities decided to keep it closed. What a shame, I really like school and hate when this kind of stuff happens. I wonder why if they already knew that the leak was fixed denied us the entrance. Anyway, the good part was that it reminded us that we could die at any moment and we should feel lucky about being alive, I'm sure I am.

  2. As a byproduct of my application for teacher assistant, I had to go through some research about the cases when you don't want to implement the Object Oriented approach to programming, one example is game development, in such performance critical systems the extra overhead that comes with higher level programming counts and c style programming is preferred, systems programming (kernel, drivers) is another instance when you can live without OOP completely.

  3. Our mind works basically with images so in order to remember things more efficiently is a good thing to think in terms of images. Got to learn 20 unrelated words in order, in reversed order and at random within 5 minutes using this idea, the shortcoming is that it only works with objects need to learn the trick to make it work with abstract concepts.

  4. Friendship is such a wonderful thing, it feels so right to be considered a friend.



I exercised the whole afternoon, and I'm so tired...

Word of the day:
to convey ->to serve as a medium of transmission, to transport. i.e. wires convey electricity (memory hint: convoy)

Sunday, October 31, 2010

Logic Screening Test


  1. Overconfidence undermines me, I thought the Procter and Gamble test would be fairly easy, the matter of fact is that it wasn't, I reckon I had at least half of the 15 questions presented but I'm not sure about the rest. Gosh , luck for the next time pal. Tough they were interesting puzzles, I'll spend time once in a while to become more proficient at them.

  2. I can survive without eating for several days, but my stomach seems to resent that lack of food producing so much acid, got to find a way to reduce that acid production. The issue is that acid plays an important role in keeping infections at bay, so maybe I must eat something that stays in my stomach for a long time before being digested or protects my stomach interior walls.I'm doing this out of discipline, nothing else is involved.

  3. Got my micro-processor to produce less heat by disabling the compiz window decorator in ubuntu. At last I can set the cpu governor to on-demand and get more cpu cycles to make things more efficient in my system.

  4. The Bluetooth technology makes an economic use of power by putting on standby the connections that are not being actively used. When a bluetooth enabled device seeks communication with a neighbor it does so by sending a train of packets and an association can take up to 10 seconds - that's an eternity -. A connection established this way is called a Piconet and the device that seeks the communication in the first place takes the role of the master. This master can have an active communication with up to 7 slaves at the same time. Nevertheless slave devices that are put in stand by mode can make up to 255 which are controlled by a single master. A node can be part of more than one piconet and can serve as a bridge between the two piconets in order for the master to communicated with the other piconet. The bluetooth protocol header is more simple that the one used for wifi, the important thing is that it holds an identifier for the device sending the packet. Authentication of devices is left to the programmer.

  5. Propaganda ain't such a bad term, it's basically the diffusion of an idea which is deemed to be true. Eduard Bernays is on the way to become my hero for discerning all this stuff. I wish I had such amazing insights.



Words of the day:
triffling -> not worth considering
contrive -> make or work out a plan for; device
Rückgängig -> to undo, to cancel

Saturday, October 30, 2010

Kerberos Dialogue


  1. I found a splendid dialogue "theater style" to explain how the Kerberos authentication protocol works, it was written in the 80's but the foundations haven't changed that much. I'm doing some translation work along with the google translation service and the open office syntactic and grammar tools, I pretend to give a presentation at school based in this script, it will be different but If my classmates get to understand the intricacies of the protocol it will be mission accomplished.

  2. Physical exercise combined with healthy food helps you keep a sharp mind.

  3. You can create a virtual network out of blue-tooth devices.

  4. The Procter and gamble reasoning screening test looks easier than I thought, I'll do it tomorrow.

  5. Heartless is a decent horror flick.

  6. Multidimensional databases help you keep track of the history of the database changes so you can examine trends and apply data-mining more effectively.




Word of the day: zurücksetzen -> restart

Thursday, October 28, 2010

On helping others


  1. I though that helping others would help me increase my self esteem and it worked. But I can't help but feeling guilty, if I always try to help someone at the slightest sign of trouble, aren't I taking something from them? I mean, if I let them alone, maybe they'll come up with a solution themselves and they'll grow and won't need me at all , I think that's a greater sign of love, but the price is too great to pay : loneliness, isolation. Maybe there's a point in between, just need to find it. How do parents raise children?, mine just let grow alone like a plant, and I think I'm not that spoiled...mmm not quite, I'm so confused and tired.

Wednesday, October 27, 2010

Classifier Systems


  1. We're having a first approach to data mining, I deem it a very interesting area . I thought databases weren't my thing at all, but I'm starting to regain some of the enthusiasm I lost along the way. Classifier systems with help of some really neat artificial intelligence tricks can identify among a huge collection of data, subsets that share common characteristics in such a way that we can draw a vast variety of conclusions and take the respective decisions if they're in order.

  2. We had a review of the Huffman compression algorithm. Marco showed us his advances regarding his implementation of the algorithm within the FPGA, it seems that the biggest challenge was to fit the required tree needed to do the codification inside the tiny FPGA memory module. He's dedicated about a year on his project and he's about to present it at a congress.



It was a slow day, nevertheless I'm feeling tired, something's wrong with me.

Tuesday, October 26, 2010

DNS server


  1. It wasn't that trivial configuring a DNS server, we used bind9 and gave our virtual machines one name within our own domain. The fine part is assigning each host it's respective name inside the domain's database.

  2. We discussed in HCI topics related with culture, internationalization and even ecology, damn it's not enough being functional, if your application requires high amounts of power isn't worth a thing.

  3. Mounting shared folders inside a linux guest machine within virtualbox just requires adding a line to /etc/fstab, in my case xilinx /home/jocker/shared vboxfs rw, uid=500, gid=500 0 0

  4. CentOs seems to be more stable than Fedora, nevertheless uses a lot more resources.



Gosh, I'm so tired.

Monday, October 25, 2010

Coprocessors


  1. Today we were introduced to the concept of co-processor. They come in two flavors: strongly coupled and not coupled, being the former the one that implements a subset of the Instruction Set Architecture and cooperates with the main processor to alleviate loads. The later refers to those that implement their own set of instruction and fulfill an specific purpose, the most common example being graphic cards.

  2. RPC. Another more advanced way of communication between clients and servers, the socket part is hidden from the user. There is an utility in linux called "rpcgen" that takes an interface file and creates the server and client proxies and more files needed to establish the communication. It's better to use structs to pass several parameters to a remote procedure.  It works with C, I wonder how are they implemented in java.

  3. LTSP is a technology that enables you to create an application server and several thin clients with constrained hardware that act as terminals and are served applications hosted in the named server, and yeah , the most beautiful things in life come free.

  4. Procrastination is one of the most regretful things, from now on I will do the stuff I need/want to do --today! - The position for teacher assistant is already occupied.

  5. There's something called Red-Hat-Cluster-Stack, I'll try it later on my attempts to create a mini-cluster.

  6. The Java technology for making mobile - hand held device application is called Java ME (from micro edition) and sounds very good and I'm no longer stuck with the symbian o.s.

Saturday, October 23, 2010

My first encounter with real life applied combinatorics


  1. When I went through my Discrete Mathematics course I didn't realize how important were the topics discussed, now in trying to implement my PT, I regret not to have put more attention, I'm not at a total loss, I know the concepts, just need a refresh. C(52,5) is a hellishly big number, Cactus Kev has done a really good job in analyzing the intricacies of ranking all those combinations, it turns out that many of them are repeated, nevertheless it doesn't make it that easier.

  2. I never used bitwise operations in my programming before, now I can't help thinking about all the useful applications I can use them on.

  3. Finally I got my network bridged connection to work through my wireless nic in virtualbox, I haven't tested but my guess is that the bridge-utils was missing in my ubuntu installation.

  4. Packaged applications high usage are the source of success to Enterprise Application Integration, they're just natural "stovepipe systems" that need to be connected together. And how do you connect them : MIDDLEWARE. I'm just waiting to figure out how this middleware is implemented so that multipoint-multipoint connections are successfully handled.

Friday, October 22, 2010

IP configuration in Xilinx


  1. We learned to setup xilinx ISE in conjunction with EDK for our "minimal system" (we're slowly realizing it ain't that minimal anymore). The issue is that it implies a lot of steps, I bet most of the class is completely lost on this matter. Recapitulating some theoretical related concepts: In our design we have to use static libraries (i.e. with suffix .a -> the a standing for "archive") so the linkage of this libraries is not dependent on a underlying operating system. For completeness I must say that dynamic libraries are those that are linked as they're needed in contrast with static ones that are linked all at once. Another topic is that we need to specify the library containing the related pin specification so no manual wiring is required for connecting our design with the fpga. Another thing to remember is that we specify the memory sections we want to utilize and the size of each, as we know memory is divided into three basic sections: the program itself, the data area, and the heap/stack, the former concerns us depending on whether our program involves the usage of a considerable number of functions (stack -> parameter passing) or employ dynamic memory allocation (heap -> malloc, new, etc)

  2. E-Business (EB) detach a whole chain of intermediaries from the buying/selling process. It comes in four flavors: Business to Business, Business to Customer, IntraBusiness, damn I forgot the fourth, they're self explanatory. The application of the EB approach has obvious advantages such as: a good cost/revenue ratio, a reduction in the process time; though it has its downsides too for example security related issues, privacy etc. Another topic was the information classification systems, it was a really swift presentation but I could grasp that they classify (of course) a big set of data according to the parameters we give it in order to analyze the resulting subsets.

  3. The mysql user addition not only involves creating a user name, specifying a password and the places he can connect from, we must associate it with an schema, i.e. a database and the type of privileges he will be granted with. A shell script can come very handing in backing up a schema for didactic purposes. The command we need to enter to list the available packages install is "dpkg -l mysql | grep" or something like that. Postgres beats up mysql with high volumes of information and makes a more efficient use of resources specially when dealing with multi-core systems.

Thursday, October 21, 2010

Nokia Qt SDK


  1. I just found the "Nokia QT SDK" it looks like the tool I need to develop a stunning application for my terminal project.

  2. Applicants for a teacher assistant position must gather a bunch of documents: (rfc,grades mean average, recommendation letters,a micro- thesis, etc.) the ref. site is : www.uam.mx/convoacad

  3. My "good disposition to people" is already giving fruits, especially with women.

  4. Setting up a DHCP server for Ubuntu was straight forward, just installing the package and configuring appropriately the /etc/dhcp3/dhcpd.conf file. I wish all subjects were that easy.

  5. Altered states of mind - not a standard topic for a HCI class -, I really enjoy watching Beto's attempts to outsmart the teacher, nevertheless I like the teacher's cathedra the most (he is so funny and transmits us his experiences). Gosh the whole class consider ourselves as being introverted! , that amazed me to a high degree. I finally get to let on that I'm not alone.

  6. The more sleep I have the smartest I become, it's such a shame I just can't nod off.The more I exercise, the hornier I become, damn I wish I had a girlfriend...LOL.

Wednesday, October 20, 2010

Procter & Gamble


  1. P&G has a really good public relations department, they promote a really nice and ethical image but I just can't help being wary when something sounds too good to be true. I was in this meeting yesterday morning where they explained us the P&G philosophy and career opportunities for a few lucky. I don't think I fit in the profile they're requiring, the leadership issue has always been my Achilles heel, how am I supposed to be a leader when I walk on this life always alone? Besides, I love coding and they use third party programmers (i.e. outside the company), that sucks. The HR representative gave us a couple of tips to improve our chances in the interview: using the CAR approach that stands for Context Activities Results. In brief we should provide a fast but sufficient context for the interviewer to grasp the big picture, explain with detail the decisions we made in a particular situation and the results achieved. She highlighted the importance of belonging to a club, association or performing extracurricular activities, that's supposed to make you a better leader, team partner and so on. In a nutshell, once inside they want you to get results no matter how, no matter what...mm not so, you must always observe a high standard in ethics, yeah right . Gosh that sounds like a lot of tension, I'm not sure if I'm into something like that, I've always regarded in high esteem living a quiet and simple life.

  2. In AAC more Xilinx stuff, we got a picture of how to configure the ISE with the EDK in order to have what is called a minimum system, which is constructed from a couple of buses and high and the other low speed, we have a couple of power pc microprocessors, a couple of ram modules and a IP, i.e. a proprietary design of programmed hardware that is suppose to receive an input from the RS 232 port, process it and turn the output back to the RS 232. The process is rather obscure I hope I'll get it right tomorrow.

  3. In IIA the teacher remarked the value of having good advisers in areas such as accountancy, laws, business processes experts, etc. And it makes sense, when we are obliged to a contract and are compromised with a delivery in form and in time, being a product so uncertain as the software is, any precaution is in order. We even explored the taxation side of the coding business, well not so "coding business" ... the tendency is to write less code and focus more in processes logic.

  4. Today I exercised my mind by thinking a good thing about every person I walked by, even of those with mean looks. I know I'm the pessimistic kind of guy and I'm always looking for faults in people,expecting them to be evil , so I decided to turn the other way around, and  must say it was so beautiful I felt at ease with myself for the first time in years . Sadly I know that if you go through life thinking the best of everybody they're going to eat you alive if you let them! Nahh, just a joke, I'll keep on this path, I think it will lead me to a better quality of life, of course one thing is having a good disposition for people and other is being naive.

Tuesday, October 19, 2010

Silverlight & XNA


  1. Today I attended a terribly boring "conference" given by Microsoft, oh I hate them so much but I'm attending to every event I am invited to. As usual it was a conference - selling booth - advertising, at least I learned some rather useless (time will say) stuff:






  • XNA and Silverlight are MS technologies for developing video games, targeting the PC, windows phone and the XBox. They work within Visual Studio 2010, and in the express version too. The've also got the MS Blender studio which provides a simple interface for creating neat visual stunts without having to write too much code, well actually we were shown a codeless app.

  • The Windows Phone was just released and provides some "useful" features such as: gestures and sensors. Sensors are the most fun part, you can program physic behavior inside your videogames to make them more close to reality. The videogames can even handle (in theory, they didn't show us how) voice commands... that's amazing indeed.

  • The hardware requirements are kind of high but being honest, that's expected from a framework oriented to videogame development.



2. We had a review of the samba server which enables linux - windows file sharing, piece of cake. I forgot my lousy ethernet cable in the lab.
3. My HCI class was utterly folkloric, we talked about color theory, cognitive science, natural language processing, wow. If it wasn't so improvised I wouldn't deem it a - so fucking waste of time -, sorry about my english.

Just another slow day, I miss SD and AAC so much these days.

Monday, October 18, 2010

Xilinx ISE


  1. They gave us some tips for using Xilinx ISE, the more useful feature in my view is the graphic simulator.

  2. Got in contact with Beto's FPGA, I'm not sure whether he bought it or was the school who purchased it. Nevermind, his project looks promising, he was able to embed linux inside the FPGA, and install a web server, sqlite etc. David's project seems interesting too complex arithmetic, but I don't envision myself as a hardware designer, I'm more attracted to distributed systems and networking, but only the devil knows where I will end up.

  3. Our city government is investing heavily in "security", we were told they spent about 8,000 million on security cameras and the contract was granted to a French company, that sucks. More than that, it sucks because they're using the TCP/IP protocol so hackers (and apprentice of hackers as I am) will be able to tap into the wires! By the way, what about our privacy, goddamn it?

  4. I learned a couple of linux tips. First: the service xinetd enable us to broadcast messages, it comes disabled by default so we edit /etc/xined.d/xinet.conf or something like that. We looked into the concept of transactions, smooth and clear, I don't know whether c/c++ provide an api for such purposes.

  5. VirtualBox provides an integrated DHCP client so no more excuses for not connecting all our virtual machines together in absence of a modem or alike.

  6. Symbian got open source, they even have a SDK. What's missing for my project is a fast c/c++ flavor bluetooth api.



This was a pretty slow day.

Sunday, October 17, 2010

Violation of expectation


  1. I'm learning some psychology terms. The first: violation of expectation. It means that we usually react abnormally when things deviate from what they're supposed to be. And our state of normality can be measured through our degree of abnormality in such situations. I also learned that psychology aims to it's study subjects in three different ways: at micro, molecular and molar level. Yes, it sounds like chemistry but the first refers to studying per instance small changes in the wave forms while studying someone's brain through the use of electrodes, the second one refers to phenomena such as reaction time to stimuli, perception, etc., and the third one refers to a interpersonal scale, i.e. social behavior, body language. Regarding body language one should be cautious of people who say one thing with his/her mouth but say something different with their body language, that's bound to be a sign of deception.

  2. Mysqlpp doesn't provide a usable interface for multi-thread programming. So I'm stuck using one connection in a per-client basis as it's connection-pooling capabilities are also poor.

  3. With mysqlpp you can use iterators to move around the result set i.e ResultSetSotre, and it comes handy to use a Row object for displaying the result set by means of the Row::size() member function through the use of integer subscripts and even by column name.

  4. Designing user interfaces for children can be a challenging task, for use have to take several issues into account, namely: children's need for interactive and fun environments, they usually tend to have a short attention span so it becomes of utmost importance to keep them involved in any available way. Other factor is the inherent responsibility attached to interfaces that make use of the internet (practically most of them), you have to make them aware of the dangers related to social media: privacy intrusions, pornography, etc. Parental controls play a mayor role in such applications. Last but not least, the capacity of abstraction in children is scarce so complex steps should be avoided while designing interfaces that pretend to attract young consumers.

  5. Enterprise Application Integration relies upon middleware, so it's reasonable to study it and try to implement it as a school project. I'll take care of that in my distributed systems class.

Friday, October 15, 2010

Pipeline




  1. Pipelining es una técnica para hacer más veloces los microprocesadores. Ya se mencionó en otras clases los inconvenientes que presenta el tener que traer instrucciones y datos de la memoria pero ahora analizamos el hecho de que sólo podemos ejecutar una instrucción a la vez con la arquitectura actual de nuestro ARC. El pipeline se asemeja a una linea de ensamblaje en cada etapa del proceso (en este caso las etapas que intervienen en la ejecución de una instrucción : traer la instrucción de la memoria, decodificarla, traer los operandos, ejecutar la operación y hacer el writeback respectivo) se tiene una "entidad independiente" con capacidades de almacenamiento (en este caso un registro) cada una de las cuales recibe el producto de la etapa anterior y le aplica el proceso que le corresponda. Como consecuencia lógica entre más larga es la "línea de montaje" hay un retraso inicial pero una vez que está llena comenzamos a tener una instrucción completa en cada ciclo. Es importante subrayar que para que el pipeline sea eficiente todas las fases deben tener la misma duración aproximadamente o de lo contrario existirá un overhead causado por aquella fase que tenga la duración más larga. Obviamente en esta implementación todavía no involucramos la existencia de saltos dentro de las instrucciones del programa. Si analizamos las fases características en el ciclo de una instrucción, observamos que la ejecución de la operación suele ser la más tardada de todas por lo que existen implementaciones que permiten ejecutar varias operaciones a la vez y recibe esta técnica el nombre de arquitecturas escalables.

  2. Dentro del punto anterior también es digno de mención el señalar que las arquitecturas actuales reducen considerablemente la latencia de la memoria mediante la implementación de caches dentro del micro.

  3. Discutimos el benchmarking y diversas alternativas libres y comerciales para tener un estimado del desempeño de un equipo. Lo más importante en mi opinión es utilizar estas herramientas para hacer troubleshooting; si el benchmark arroja un resultado no esperado de hipo-desempeño (existirá ese término?) bueno , desempeño por debajo del normal, nos puede dar un hint para diagnosticar desviaciones.

  4. La herramienta make es sumamente útil. La estructura es: objetivo: dependencias y abajo ponemos la "receta" para generar dichas dependencias. Es útil también generar una regla "clean" para deshacernos de los archivos intermedios. Lo que falta es encontrar una manera eficiente para que la herramienta detecte los cambios en mi código fuente ya que aparentemente sólo me está monitoreando los archivos intermedios.

  5. Mysql++ es un api para interfaces de bases de datos muy fácil, claro y versatil, sobre todo para los que manejamos c++ como lenguaje favorito.

  6. fork() es una llamada al sistema muy útil para programar servidores concurrentes, por supuesto la técnica preferida es utilizar threads pero aún no me familiarizo del todo con la implementación en unix y stevens le dedica como 100 hojas al asunto por lo que me tendré que tomar un tiempo para utilizarlos en mi aplicación distribuida. Hay una particularidad muy especial dentro del manejo de fork para el tipo de aplicaciones que estamos desarrollando en sd, y esta es que los procesos hijo una vez que terminan no mueren por completo, quedan en modo zombie por si el padre hace un query sobre el estado de los mismos ocasionado un clogging en la tabla de procesos del kernel, por lo que estoy utilizando signal(SIGCHILD, SIG_IGN).





Thursday, October 14, 2010

Lascurain o de la brevedad del poder


  1. !Qué divertido puede llegar a ser el teatro!, Fuí con Lucero a ver la obra "Lascurain o de la brevedad del poder" en el Teatro de la Paz y aprendí que el teatro puede llegar a ser una experiencia muy entrañable.

  2. El montar un servidor es tan fácil como instalar un proceso que haga precisamente eso: proveer de algún servicio a otros procesos. Aprendí que todo servicio requiere ser protegido contra ataques externos puesto que para funcionar necesariamente requieren abrir alguna "puerta". Par reqa observar tráfico http es necesario reconfigurar el wireshark para desencriptar las tramas.

  3. La medida del desempeño de un equipo de cómputo en cuanto a la ejecución de un programa en particular depende del parámetro que se esté evaluando, pero hay conceptos clave que son recurrentes: ciclos por segundo, ciclos por instrucción, número de instrucciones -> en cuanto a los ciclos por segundo interfieren tanto la tecnología empleada como la microarquitectura, siendo está última la responsable por la sincronización en la ejecución de las microinstrucciones , en los ciclos por instrucción están implicados el programador, el compilador y la arquitectura; el programador es responsable de crear sistemas que se ejecuten realizando el menor número de sentencias (aquí hay varias vertientes ya que los objetivos de un programador pueden variar, en mi caso por ejemplo prefiero claridad sobre economía), el compilador a su vez suele realizar optimizaciones adicionales sobre el código y su estructura, por último la arquitectura influye también en el peso del programa ya que no es lo mismo utilizar una arquitectura tipo CISC dónde en promedio las instrucciones requieren de un mayor número de ciclos de reloj, que usar una arquitectura RISC la cual en promedio emplea instrucciones simples pero eficientes.

  4. Una arquitectura RISC cómo la hemos visto hasta el momento en el ARC es bastante ineficiente ya que los ciclos fetch, instruction decodification, operands fetch, execution, etc., se llevan a cabo mientras la memoría está completamente ociosa y por si fuera poco en cada fetching se tiene que esperar a que la memoria le lleve las instruciones o los datos ya que está última es lentísima en comparación con el. Una solución a este problema se encuentra en el prefetching. El prefetching consiste en tener una serie de registros administrados por un controlador independiente de la unidad de control principal del procesador que se encarga de traer nuevas instrucciones de la memoria mientras el ciclo de operaciones trabajan con datos anteriores. Esta es una solución bastante útil hasta que nos encontramos con el dilema de los saltos, el procesador no tiene forma de decir previamente si una instrucción tipo branch se llevara a cabo o no por lo que si resulta afirmativa se tienen que descargar las instrucciones almacenadas en el mecánismo de prefetching. Afortunadamente la creatividad humana es tan grande que se han desarrollado diversos mecanismos de "predicción de saltos" por más esotérico que suene el término no están basados en otra cosa que estadística (por ejemplo si se está llevando a cabo un loop el procesador puede "darse cuenta" y tomar las medidas necesarias).

Tuesday, October 12, 2010

VHDL Nightmare


  1. Al diseñar funciones y procedimientos en VHDL son muchísimas cosas las que hay tomar en cuenta, aún intento superar varios errores de tipo "unconstrained", ya hasta le descubrí algunos bugs a ghdl.

  2. La función accept() para aceptar conexiones entrantes basadas en sockets no me aceptó especificar la dirección (struct * sockaddr) más sin explicación alguno me aceptó NULL en los dos últimos parámetros, tengo que ver eso con el profesor.

  3. Fedora en su versión LiveCD me falló, se presentó un bug al principio del arranque.

  4. En VirtualBox en teoría un sistema guest puede diferir en el tipo de arquitectura que maneja en relación con el host, más en la práctica dependiendo de varios factores, puede o no ser cierto.

  5. Hablando del error "unconstrained" en VHDL resulta que existen tipos a modo de inicialización dinámica que tienen esa característica (no tener límites) hasta el momento en que son utilizados.

  6. La biblioteca TEXTIO en vhdl provee utilerías y definiciones de tipos para trabajar con cadenas de caracteres y archivos.

Monday, October 11, 2010

RISC y CISC

1. Por principio nuestro microprocesador ARC es una máquina load-store, es decir las operaciones de carga y almacenamiento están optimizadas y son las únicas que tienen acceso a memoria. Estas características colocan al ARC dentro de la categoría de "Reduced Instruction Set Computer". Por otra parte los procesadores CISC (Complex Instruction Set Computer) proveen de más operaciones a nivel instrucción, sin embargo esta funcionalidad extra suele ser subutilizada y a ello deben su fracaso. Además las máquinas RISC vienen más ad-hoc para implementar pipeline y otras técnicas avanzadas de paralelismo.

2. OpenBravo (El ERP libre) deja mucho que desear en cuanto a interacción con fuentes de datos externas.

3. Los sistemas distribuidos tienen entre otras justificaciones: el permitir la tolerancia a fallos, el distribuir cargas, el permitir accesos concurrentes con mayor facilidad. El control que tienen estos sistemas puede ser centralizado o distribuido. En el primero como su nombre lo dice, existe un proceso o entidad que se encarga de administrar cargas y comunicaciones, en el segundo los procesos se retroalimentan entre sí haciendo preguntas del estilo "sigues ahí amigo?" jejeje.

4.Existen muchas arquitecturas de distribución y comunicación de un conjunto de procesadores con un conjunto de memorias: en bus -> no se requieren protocolos especiales ya que el bus es interno, multiplexado, conmutado, con switches, y hay otro en el que la comunicación requiere de un protocolo de red ya cada procesador posee un modulo de memoria y para accesar módulos foráneos se tiene que poner de acuerdo con los demás procesadores.

5. El sistema NFS (Network File System) permite compartir unidades de disco de forma remota (algo que me llamó la atención es poder cargar un sistema operativo que se encuentra en un equipo externo.

6. Beto mencionó un método para instalar linux de manera automatizada mediante la red: PXE, necesito investigar más al respecto.

7. Los métodos y código externo que se necesitan para compilar un programa en c++ son mayores en varios órdenes de magnitud en comparación con el que se requiere para compilar un programa en c.

8. Las máquinas más poderosas del mundo utilizan linux !!! . www.top500.org -- Como es de esperarse la mayoría de estos mounstros están en Estados Unidos.

9. Existe una condición médica llamada "Intersex" (inglés) y sumamente interesante, quienes la padecen desarrollan desarrollan órganos genitales opuestos a su sexo genético. Por ejemplo el caso de un niño que desarrolló un pequeño pene pero interiormente tenía órganos sexuales femeninos. A estos niños(as) les definen el sexo quirúrjicamente y mediante psicoterapía y con terapía hormonal. Es también sorprendente el hecho de que en psicología hay profesionales que todavía creen que cualquiera puede ser condicionado para ser niño o niña independientemente de su sexo biológico. También existen el cerebro másculino y el femenino en el sentido de que físicamente hay diferencias sútiles en el mismo que hasta hace poco fueron descubiertas. Hay numerosas instancias en las que hombres y mujeres han sentido desde la infancia que están en el cuerpo equivocado -> hay estudios que revelan que la mayoría de estos casos implican un hombre con cerebro de mujer (a nivel físico) y viceversa.

10. La configuración de sistemas paralelos en grid permite hacer un cluster con integrantes heterogéneos.

11. El MPI es un protocolo que permite configurar cómputo paralelo en cluster.

Sunday, October 10, 2010

CentOS


  1. Siempre había querido probar RedHat pero descubrí CentOs que es esencialmente lo mismo.

  2. El ARC realiza saltos a determinada localidad de memoría basado en el contenido del registro de condición o PSR, pero siempre y cuando setcc esté activada de otra manera dichos valores son ignorados.

  3. Es posible reemplazar las teclas dañadas de una laptop, espero encontrar alguna compatible con la mía.

  4. Existe una característica del protocolo TCP/Ip que le permite a uno generar paquetes con el atributo de "urgentes" -> Comer

  5. Hay muchas otras personas que tampoco pueden dormir en las noches, posiblemente debido una característica genética.

  6. El centro de servicio toshiba más cercano está en Av.IPN 2051 Of. 1

Saturday, October 9, 2010

Linux Live USB Creator (LILI USB Creator)


  1. Excelente herramienta para crear live usb's de nuestras distribuciones favoritas. Lo que me parece más atractivo de esta pieza de software en particular es que el soporte de persistencia (que configuraciones,documentos e instalaciones de programas no se borren) es muy bueno en comparación con otras alternativas y el live usb  corre visiblemente más rápido. Me puse en contacto con el autor y me parece  una persona muy agradable (hasta dónde puede apreciar uno por email)

  2. Hoy me tomé un break y anduve caminando por la cuidad aunque también sigo estudiando qt4 en particular los detalles de implementación del su patrón de diseño modelo-vista-controlador.

  3. La tienda telmex de Bellas Artes abre los sábados.

  4. Otra prueba histórica para la justificación de la teoría de operación de bandera falsa del 11/09/01 .  http://news.bbc.co.uk/2/hi/americas/4535661.stm

Curso de Robótica elemental

1. Programar un robot de "FischerTechnik". Fue realmente fácil y me divertí mucho. Junto con mi compañero Alejandro hicimos un robot que se movía sólamente en un cuadro delimitado por una linea negra, esto gracias a un sensor luminoso.

2. Compilar el driver para mysql dentro de qt creator utilizando qmake.

3. Microprogramación alambrada es mucho más rápida pero inmodificable.

4.  Debian esta instalado en el f307 - username:  f307-user, password: user.

5. Programación con hilos. Los hilos pueden compartir recursos pasándose referencias a variables creadas en el heap. Es necesario usar semáforos para controlar el acceso a recursos compartidos cuando usamos hilos. Varios hilos pueden estar contenidos en un sólo proceso.

6. VirtualBox hace un infierno el configurar un nic virtual en puente en base a una conexión wireless.

7. Necesito aplicarme a la programación de sistemas en c/c++ -> Ver libro de Stevens.

8. Mi proyecto terminal será probablemente sobre programación paralela o diseño de algún sistema que aproveche recursos de manera paralela. Si no, trataré de abordar algún tipo de sistema distribuido.