Blog Archive

Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Why programmers work at night


A popular saying goes that Programmers are machines that turn caffeine into code.
And sure enough, ask a random programmer when they do their best work and there’s a high chance they will admit to a lot of late nights. Some earlier, some later. A popular trend is to get up at 4am and get some work done before the day’s craziness begins. Others like going to bed at 4am.
At the gist of all this is avoiding distractions. But you could just lock the door, what’s so special about the night?
I think it boils down to three things: the maker’s schedule, the sleepy brain and bright computer screens.

The maker’s schedule

Paul Graham wrote about the maker’s schedule in 2009 – basically that there are two types of schedules in this world (primarily?). The traditional manager’s schedule where your day is cut up into hours and a ten minute distraction costs you, at most, an hour’s worth of time.
Prim clockwork of a wristwatch, watchmaking ex...
Image via Wikipedia
On the other hand you have something PG calls the maker’s schedule – a schedule for those of us who produce stuff. Working on large abstract systems involves fitting the whole thing into your mind – somebody once likened this to constructing a house out of expensive crystal glassand as soon as someone distracts you, it all comes barreling down and shatters into a thousand pieces.
This is why programmers are so annoyed when you distract them.
Because of this huge mental investment, we simply can’t start working until we can expect a couple of hours without being distracted. It’s just not worth constructing the whole model in your head and then having it torn down half an hour later.
In fact, talking to a lot of founders you’ll find out they feel like they simply can’t get any work done during the day. The constant barrage of interruptions, important stuff ™ to tend to and emails to answer simply don’t allow it. So they get most of their “work work” done during the night when everyone else is sleeping.

The sleepy brain

But even programmers should be sleeping at night. We are not some race of super humans. Even programmers feel more alert during the day.
Ballmer's peak
Ballmer's peak
Why then do we perform our most mentally complex work work when the brain wants to sleep and we do simpler tasks when our brain is at its sharpest and brightest?
Because being tired makes us better coders.
Similar to the ballmer peak, being tired can make us focus better simply because when your brain is tired it has to focus! There isn’t enough left-over brainpower to afford losing concentration.
I seem to get the least work done right after drinking too much tea or having a poorly timed energy drink. Makes me hyperactive and one second I’m checking twitter, the next I’m looking at hacker news and I just seem to be buzzing all over the place..
You’d think I’d work better – so much energy, so much infinite overclocked brainpower. But instead I keep tripping over myself because I can’t focus for more than two seconds at a time.
Conversely, when I’m slightly tired, I just plomp my arse down and code. With a slightly tired brain I can code for hours and hours without even thinking about checking twitter or facebook. It’s like the internet stops existing.
I feel like this holds true for most programmers out there. We have too much brainpower for ~80% of the tasks we work on – face it, writing that one juicy algorithm, requires ten times as much code to produce an environment in which it can run. Even if you’re doing the most advanced machine learning (or something) imaginable, a lot of the work is simply cleaning up the data and presenting results in a lovely manner.
And when your brain isn’t working at full capacity it looks for something to do. Being tired makes you dumb enough that the task at hand is enough.

Bright computer screens

This one is pretty simple. Keep staring at a bright source of light in the evening and your sleep cyclegets delayed. You forget to be tired until 3am. Then you wake up at 11am and when the evening rolls around you simply aren’t tired because hey, you’ve only been up since 11am!
A city
Image via Wikipedia
Given enough iterations this can essentially drag you into a different timezone. What’s more interesting is that it doesn’t seem to keep rolling, once you get into that equilibrium of going to bed between 3am and 4am you tend to stay there.
Or maybe that’s just the alarm clocks doing their thing because society tells us we’re dirty dirty slobs if we have breakfast at 2pm.

Fin

To conclude, programmers work at night because it doesn’t impose a time limit on when you have to stop working, which gives you a more relaxed approach, your brain doesn’t keep looking for distractions and a bright screen keeps you awake.

UML vs IDEF


The process of business modelling is employed in order tocreate an abstraction of an otherwise complex business. This will enablebusiness stakeholders (owners, customers, management, etc) to gain a betterunderstanding of the business functions and also promote business improvementsand/or innovation.

What is the connection between business and softwaremodelling ?

In order to survive in today's competitive world, businesseshave to continuously review their products, services, and relations with the environment(suppliers, competitors, clients, laws, etc). To assess the quality of theirproducts and effectiveness of their services, businesses rely on theinformation systems. Initially only a support component, the informationsystems have now become an integral part of the businesses. The business itselfmust define the requirements for the information system.

Unfortunately, very often the software system does notproperly support the business. The causes may be: lack of accurate requirementsdefinition, deficiencies in proper business understanding by the softwaredesign team, or even the nature of the business (which may change so often thatthe software simply cannot follow).

Software modelling is an accepted way of designing softwaresystems. By applying the modelling approach to the business itself, accuraterequirements may be achieved for the subsequent software design activity. Thisconcept was taken even further by the idea of using the same modelling languagefor both software and business modelling. 

One example of a language that could model both the businessand the software system belonging to the business is the Unified ModellingLanguage, the UML. Many developers are already familiar with UML from modellingsoftware systems. Using one single language across the business and softwaremodelling would promote consistency and communication among modellers and alsotake advantage of a whole range of modelling tools that support the UML.

Translating the business model into a software model is not astraightforward process. Not all the classes and objects defined in a businessarchitecture may be mapped directly to a software model

Here’s a mapping of the IDEF to the UML
IDEF
UML
· IDEF0 : Function modeling
· IDEF1 : Information Modeling 
· IDEF1X : Data Modeling
· IDEF2 : Simulation Model Design
· IDEF3 : Process Description Capture
· IDEF4 : Object-Oriented Design 
· IDEF5 : Ontology Description Capture 

· Activity Diagram
· Class Diagram
· Object Diagram
· Collaboration Diagram
· Activity/ State/ Use Case Diagram
· Class/ Object/ Activity/ State Diagram
· Meta Object Facility


UML has primarily been conceived with software design inmind, while IDEF have their origins in Computer Assisted Manufacturing. Theinteresting fact is that each of these methodologies is being extended to coverthe other's domain. While UML is being extended now to cover businessmodelling, the IDEF family is added new components that enable it to addresssoftware (and information systems in general) development.

IDEF is coming from the manufacturing / informationenvironment and aims to cover object orientation, knowledge representation andsoftware development.

UML is still in its infancy; it comes from the domain of object-orientedsoftware development but there are increasing efforts to extend it towardsbusiness process modelling.

Which method ? It is up to the user: the task, background,resources, patterns… will all play a role in selecting the right tool for thejob.

reference: 

Business Modelling: UML vsIDEF

www.ict.griffith.edu.au/noran/Docs/UMLvsIDEF.pdf

Top 10 Ways to Unlock the Unlockable

Getting locked out of your home, your computer, or anywhere else you want to be can suck. The same goes for those times when your gadgets prevent you from doing what you want to do with them, but it doesn't have to be that way. Here are the top 10 ways you can break into virtually anything with a literal or figurative lock.

10. Open a Garage from the Outside

This is pretty easy to do, sadly, but fortunately easy to prevent as well. To unlock a garage from the outside, all you need to do is thread a piece of wire or a coat hanger through the top of the door to open the emergency latch. To prevent it, all you really need is a plastic zip tie (pictured to the left, hopefully).

9. Unlock Your Computer Wirelessly

Whether you're using your Android to unlock with Wi-Fi or practically any Bluetooth device to unlock your Mac (orUbuntu), you can avoid unnecessary typing by just being in the vicinity. So long as you don't put your phone or other gadget in the wrong hands you'll have both safety and convenience.

8. Break Into an Airplane Lavatory

You know, for emergency purposes. All you need to do is flip up the sign push the lever into the unlocked position. We verified this on a recent flight and the tip comes from our trustworthy friends over at Hipmunk, so watch your back next time you're peeing on a plane. Or, of course, get that door open if someone is having an emergency and stuck inside the bathroom.

7. Unlock Region-Free Encoding on Your DVD or Blu-ray Player

One of the more annoying aspects of DVD and Blu-ray players is the region encoding, forcing you to only play discs made for you part of the world. Want to import a movie from another country? You're probably out of luck. Fortunately VideoHelp.com hasDVD/Blu-ray player unlocking database so you can perform the necessary operation and watch whatever you want from wherever it came from.

6. Eliminate PDF Passwords

It's pretty annoying when you find a PDF or get one in your mailbox and it's locked down by a password. If you want to get rid of that password, Amit Agarwal has a Pdfs Pdfssguide to opening PDFs regardless of their protection. You can also check out Free PDF Unlocker (Windows-only) if you only need to enable copy and paste functionality. Just be sure to only use these options if you lose a password or you have a good reason to break in.

5. Unlock Your Camera's True Capabilities

If you've got a Canon point-and-shoot, you can install custom firmware CHDK to unlock a ton of features Canon didn't offer with your model. If you've got a Canon or Panasonic DSLR or micro-4/3rds camera,Magic Lantern can do the same (although it's video-oriented). If you wish your camera was a little bit better or you can't afford an upgrade right now, these hacks are great and providing you with features you probably should've had in the first place.

4. Access Locked Web Sites and Services Using a Proxy

When you're on the web, you're bound to run into blocked sites now and again. This sucks, but fortunately there are plenty of ways to get around those restrictions. Whether you want to access PandoraHulu, the BBC iPlayer, or anything else, you're not out of luck. If there's not a specific hack, you'll generally be able to get through the blockage with a proxy. One of our favorites isTunnelBear, as it's as simple as flipping a switch.

3. Pick Locks and Crack Safes

Learning to pick locks (regular ones or on your car) and crack safes may seem likes a thieve's trade, but knowing how to do it can provide you with a few legal benefits. First of all, you'll have a better understanding of how locks work so you can survey your own and protect yourself against their vulnerabilities. Additionally, should you lock yourself out, you'll know how to get back in.

2. Crack Passwords

Whether you're cracking a Wi-Fi password or learning how to break into a computer, cracking passwords can be useful. As with anything that falls more on the dark side, knowing these unsavory tactics can help you protect yourself. But when it comes to Wi-Fi, sometimes you just need to borrow a network temporarily and that's really harmful to anyone. Also, you might forget your own password and need to break back into your computer. Whatever the case may be, use these skills for good!

1. Jailbreaking/Rooting Your Smartphone

Jailbreaking your iPhone and rooting your Android are just about the most necessary feature-unlocking hacks for one of the most relevant pieces of technology available today. If you need some incentives, here's whyjailbreaking is awesome and the ten best apps that requite rooting your Android. Both are generally pretty easy to do and very worthwhile, so get to it!
Title image remixed from originals by Odin M. Eidskrem and Lisa Fischer (Shutterstock)

You can follow Adam Dachis, the author of this post, on TwitterGoogle+, and Facebook.  Twitter's the best way to contact him, too.

Android 4.0 will be announced on October 19

After postponing the event in which, together with Samsung will announce the new Android 4.0 "Ice Cream Sandwich" and Nexus Prime, flagship smartphone to lead the industry from now on, Google has finally revealed the new date.
Android 4.0 Ice Cream Sandwich
Will be held on October 19 in Hong Kong, live broadcast on YouTube. The reasons for the postponement, at least officially related to the death of Steve Jobs, Apple's CEO. But there is evidence, collected by BGR, that was the real cause adjustments in the system to avoid prosecution stemming from breaking patents - delivers the tweet this situation.

With legal problems or not, the fact is that 19 days, unless something very serious happens, you fail. We have seen some leaks of Android 4.0 that ultimately join the lines of the Android smartphone and tablet, now divided into "branches" 2.x and 3.x, respectively.

To prepare for the big announcement, Google launched the Android Twitter account @ and, even there, released the video of the arrival of the statue of Ice Cream Sandwich, a firm tradition in her campus. Check out:

Popular Posts