stan

#StandAgainstBullying

Recognizing National Bullying Prevention Month




stan

Episode 158: How to “Give Thanks in All Circumstances”

"Rejoice always, pray continually, give thanks in all circumstances; for this is God’s will for you in Christ Jesus." (1 Thessalonians 5:16-18) Thanksgiving is a time to feel grateful. But that attitude of gratitude can go away as soon as we're done with the turkey. How do we keep it going? Saint Paul tells us to "give thanks in all circumstances." Because real gratitude is more than a feeling. As we see in the Parable of the Rich Fool, it starts with remembering one crucial thing. As always, we've prepared a FREE downloadable workbook to help you act on what you'll learn: mailchi.mp/goarch/bethebee158




stan

We Wish You an Ascetic Christmas! Understanding the Ascetic Struggle in Orthodoxy

For most people in our society the Christmas season is a time of celebration, with holiday parties, and unleashed consumerism. For Orthodox Christians however the Advent Season is a time of fasting, prayer and ascetic struggle. Why? In this edition of Ancient Faith Today, host Kevin Allen discusses with Father Gregory Jensen, author of the book The Cure for Consumerism, the reason for the ascetic struggle for Orthodox Christians.




stan

Entering into the Holy of Holies and standing before the Mercy Seat

The Mercy Seat, which is Christ Jesus. Hebrews 9: 1 - 7, Matthew 8: 5 - 13




stan

Scaling Your Business Requires Understanding Your Unit Economics

In the world of business, understanding unit economics is crucial for achieving scalability, profitability, and maintaining overall business health. It provides valuable insights into the financial performance of a company, allowing entrepreneurs and managers to make informed decisions about resource allocation, pricing, and profitability. I spend a decent amount of time talking about this in ... Read more

The post Scaling Your Business Requires Understanding Your Unit Economics appeared first on Chris Lema.




stan

'Outstanding skill' - French scores excellent try in Wigan win

Bevan French scores a brilliant solo try for Wigan in their 38-0 win over Leigh in the Super League play-off semi-final.




stan

Eamon O'Carroll appointed Saints assistant

St Helens appoint former Bradford Bulls head coach Eamon O'Carroll as assistant.




stan

An epic David and Goliath tale of money, power and resistance

The decades long battle between a small Scottish community and Donald Trump's golf dream




stan

Watch: Gormley hat-trick as Reds see off Swifts at Stangmore

Watch highlights as Joe Gormley scores a hat-trick in Cliftonville's 4-1 win over Dungannon Swifts at Stangmore Park.




stan

Strictly contestant's MSP husband saves man's life

Dr Sandesh Gulhane, husband of TV doctor Punam Krishan, gave the man CPR at the Scottish Parliament.




stan

Man to stand trial over industrial estate killing

Father-of-four David McGuinness, 30, died in hospital after an incident last year.




stan

Antiques Roadshow at Thirlestane

The roadshow pays a visit to Thirlestane Castle in the Scottish Borders.




stan

'No compromise' - Wrexham's McClean explains poppy stance

In the face of criticism, Wrexham captain James McClean says he will not compromise his convictions after explaining why he opts not to wear a poppy for Remembrance Day.




stan

Northampton's East Stand 'on track' for early 2025

Chairman Kelvin Thomas says the project is running to schedule and should finish early next year.




stan

Brighton appoint Niedzkowski as assistant coach

Daniel Niedzkowski, head of the German football federation's coach training programme, will join Brighton in January.




stan

Ex-councillor to stand trial over messages

Shaz Saleem, 38, denies two charges of sending threatening messages on an electronic device.




stan

Para-standing tennis star celebrates winning year

The world champion Georgia Routledge says she only took up the sport last year.




stan

Use of ch unit considered inappropriate (in certain circumstances)

Update: The title of this post was originally a knowing nod to the considered harmful cliché. I thought it might be amusing and get a bit of attention. However it was brought to my attention by a few people I respect that the title as written might be harmful in itself, so I changed it. However I believe that the subtle point I’m trying to make still stands:

When did we start using the ch unit to specify the maximum length for a line of text? Many places you look nowadays you'll see a variation on:

.prose {
  max-inline-size: 60ch;
}

Is it because of a direct reading of Bringhurst and people (like me) who’ve quoted him:

Anything from 45 to 75 characters is widely regarded as a satisfactory length of line for a single-column page set in a serifed text face in a text size. The 66-character line (counting both letters and spaces) is widely regarded as ideal. For multiple column work, a better average is 40 to 50 characters.

I get it: there’s all that talk of ’characters’. But that’s not what Bringhurst means literally. I’ll come back to that shortly.

Firstly let’s remind ourselves about the CSS ch unit. While ch sounds like it should equate to a number of characters or a character width, that’s not strictly the case. The ch unit specifically refers to the width of the zero ’0’ character within the selected font, or 0.5em if no ’0’ is present. So unless you have a line made up entirely of zeroes, or are using a monospaced font, a width of 66ch will probably not give you a line containing 66 characters. What’s more, the rendered width of that line will vary with the font design, sometimes significantly.

Two text blocks are set to 34 ch wide, but the use of a condensed font (top) and an expanded font (bottom) makes the rendered width narrower and wider respectively.

The important part of Bringhurst’s guideline is not the ’66-characters’ but the ’satisfactory length’. This is about readability, and readability is affected by the length of a line more so than the number of characters in it.

A consistent finding is that long line lengths on screen are least preferred or judged as least easy to read [my emphasis]

With that in mind, restricting your line length using rem would be a far more appropriate unit to use:

.prose {
  max-inline-size: 30rem;
}

This would give you a line length accessibly tied to text size, but independent of font design.

But is using ch harmful?

Bringhurst’s guideline includes this little caveat: a page set in a serifed text face in a text size. This enables him to equate the number of characters in a line with its length. So if you are using a fairly standard typeface for your text then you’ll probably be fine. However that ’standard typeface’ assumption is implicit anytime you use ch to set the width of a column of text. Using rem removes that assumption and gives you what you are probably really after – a consistent, predictable limit on line length.

It didn’t surprise me to find that Eric Meyer had written about this six years ago. I’ll leave you with an important observation from his post:

If you’re working with multiple typefaces, say one for headlines and another for body copy, be careful about setting ch measures and thinking they’ll be equivalent between the two fonts. The odds are very, very high they won’t be.

So is using ch harmful? At the risk of saying it depends, it might not be harmful, but it could be, and there is a far more reliable and appropriate unit to use by way of the rem when it comes to limiting line length in a column of text.

Read or add comments




stan

Bristol Rovers fans unite to tackle racism in stands

Bristol Rovers boss Matt Taylor says it will be a moment of "togetherness" as fans plan support for players who have suffered racist abuse.




stan

Its not just standalone BPM that is dead!

There was a thread recently on InfoQ asking whether standalone BPMS is dead.


Yes it is dead.

But, that's not the only standalone thing that is dead! Standalone Business Rules Systems is dead. Standalone Application Servers are dead. Standalone ETL products are dead. Standalone Messaging products are dead. Standalone ESBs are dead. Standalone Enterprise Content Management systems are dead. Standalone Security products are dead. Yes, they're all dead.

They're all dead because customers are tired of being integration companies. What happens when a customer buys one of these standalone BPMS/BRS/ETL/etc. products is that the customer has to figure out how to integrate it to the other standalone products they've bought from other vendors. How does that help the customer's IT shop deliver business value to their organization?

Enterprise problems don't come neatly packaged into BPM problems or Business Rules problems or Data Transformation problems or any one such well defined category. Instead, enterprise problems are complex problems that require an entire repertoire of tools which can be combined nicely to solve the problem at hand. Attempting to build solutions to these complex problems with a single sledgehammer approach is one of the reasons why many IT projects take so long to complete and end up being so expensive.

The customer's IT shop is like the place which maintains the vehicle that the enterprise's IT is. What happens after a few years of taking standalone products and trying to live by their rules (not to mention their expensive consultants) and creating hodge-podge solutions is that the car ends up looking like this:
That's why enterprise middleware needs to be 100% internally self-consistent and fully integrated. Without that, every turn may drive the IT shop into a wall. Behind every dark spot on the road could be a pot hole. Or, at best, the IT shop is not able to drive the car down the freeway with cruise control turned on .. instead its constantly hitting speedbumps.

Don't like that? Well then you need middleware that can scale up and offer exactly the features that you need to solve the problem cleanly. Your IBM/Oracle/Tibco/JBoss middleware can't do that? Well then you have to try WSO2 Carbon based products .. and your car will end up looking like this :-).
The best part of course is that all of our products are 100% open source under Apache license and free for you to use. If you want absolutely world class enterprise support, call us and we'll sell it to you at $8000/server. All very simple.




stan

Understanding the (Sri Lankan) IT Industry

In the last 3+ weeks there's been war raging in the IT Crowd in Sri Lanka about the proposed CEPA/ETCA thing: Basically the part of a free trade agreement with India which might allow Indians in the IT and ship building industries to work freely in Sri Lanka. I know nothing about building ships so I don't have any opinion about whether the proposal addresses a real problem or not. I do know a thing or two about "IT" and am most certainly opinionated about it :-).

I also know little real info about CEPA/ETCA because the government has chosen to keep the draft agreement secret. Never a good thing.

There have been various statements made by various pundits, politicians, random Joes (Jagath's I guess in Sinhalese ;-)) and all sorts of people about how the Sri Lankan IT crowd is
  • Scared to their wits that their jobs will be taken by Indians
  • Looking for the state to give them protection from global competition
  • Unable to compete with the world's IT industry without help from Indians
  • Unpatriotic because a lot of them leave the country after getting quality free education
  • Living in a bubble because some of them get paid Rs. 150k/month straight out of university
  • Etc. etc..
I will address a lot of these in subsequent blogs (hopefully .. every time I plan to blog a lot that plan gets bogged on).

The purpose of this blog is to try to educate the wider community about the mythical thing called the (Sri Lankan) "IT industry". For each area I will also briefly touch upon the possible Indian relationship. Of course this is all my opinion and others in the industry (especially in the specific areas that I touch upon) may vehemently disagree with my opinion. Caveat emptor. YMMV.

So here goes an attempt at a simple taxonomy:
  • Hardware Resellers/Vendors
  • Hardware Manufacturers
  • Software Resellers/Vendors
  • Software Manufacturers
  • System Integrators - Local Market Focused
  • System Integrators - Outsourcers
  • Enterprise Internal IT Teams
  • IT Enabled Services (ITES) and Business Process Outsourcers (BPO)
  • Universities
  • IT Training Institutes
This became way more of a treatise than I intended. I'm sure its full of things that people will disagree with. I'll try to update it based on feedback and note changes here.

Hardware Resellers/Vendors

IBM Sri Lanka has been in Sri Lanka for more than 40 years I think. I imagine they came when Central Bank or some big organization bought an IBM mainframe. I remember seeing Data General, WANG, and a host of other now-dead names growing up (70s and 80s). 

These guys basically import equipment from wherever, sell it to local customers and provide on-going support and maintenance. 

Some of these players don't sell entire computers or systems but rather parts - visit Unity Plaza to see a plethora of them.

Not too many Indian hardware brands being sold in Sri Lanka AFAIK but probably MicroMax (the phone) is an exception. So having the Indian IT Crowd here really has no impact on this segment.

Hardware Manufacturers

These are people who make some kind of "IT thing" and sell it locally or export it. When it comes to technology no one makes all of anything any more - even an iPhone consists of parts from several countries and is finally assembled in China. Same with any computer you buy or any phone you buy.

There are a few people here who "make" (aka put together / assemble) computers and sell under their own brand. There are also a few who export them (I believe).

There are also some others who make specific hardware devices that target specific solutions - best is the company that makes various PoS type systems that get sold as Motorola.

Fundamentally not many hardware manufacturers in Sri Lanka yet AFAIK. In any case, they're not likely to be affected by Indians being in Sri Lanka as this is a very specialized market and its unlikely the specialized skill will migrate to Sri Lanka given that skill base has excellent opportunities anywhere. If at all, electronics related graduates in Sri Lanka do not have enough good career opportunities yet as we don't have many companies buildings things yet.

Software Resellers/Vendors

Takes Microsoft Sri Lanka or the 100s of other agents of global software brands that sell their wares in Sri Lanka. These guys get a cut out of the sale in some fashion. 

Yes of course some of them sell (very good) Indian software. For example, a bunch of banks use InfoSys' Finnacle (sp?) core banking system.

Software, used well, can increase any organization's productivity (after all, software is eating the world and all that). If there are Indian companies which have technology that can be used to improve LK orgs productivity - by all means do come and sell it here! That may even require Indian engineers to come and install / customize them - no problem at all.

So, this segment will simply welcome more Indian presence in terms of companies. In terms of the Indian IT Crowd coming here for this segment - I guess experienced sales people are solutions engineers to help sell and deploy the Indian products are always welcome. To be successful the company will need to send good people (good luck selling software if the sales engineer sucks) - and good people are welcome anywhere.

I should mention the global SaaS software products (e.g. Salesforce, Netsuite, Google Apps, Office 365 etc.). Most of those don't have regional sales teams etc. - you just go to the website and sign up and use it. However, they will often have local system integrators who know how to help deploy, tune, customize and integrate those systems to whatever enterprise systems are already in place.

Software Manufacturers

These guys make some kind of software product and sell it to whoever will buy it. More and more are selling them online as SaaS offerings only.

Competing in the software product market means you just need to build a better product or at least have a good enough product that's cheap. To create great products you need great people who think and innovate faster and better than anyone else out in the world. More and more pretty much every product competes globally as even the smallest customer can simply use globally available SaaS offerings (some made in Sri Lanka even). 

Every idea someone has for a product in Sri Lanka is guaranteed also conceived by at least multiple Indians. And multiple Americans. And multiple Europeans. Etc. etc..

"Ideas are cheap. Execution is not." - Mano Sekaram at a talk he gave at the WSO2 Hackathon a few years ago.

To make products and get them to market is not easy. Will having some Indian employees help? SURE - if they're awesome people. The 2m people who applied for a clerical job really wouldn't help. Will marketing experience help? Of course - but again high quality product marketing experience is hard to come by in Sri Lanka, in India and even in California (speaking from personal experience). 

Despite idiotic politician statements about how advanced the Indian IT industry is, they are much more a global outsourcer and BPO operator than a product development country. That's changing rapidly but the numbers in the product side of the equation are much lower than the other side. In fact, I'd venture to say that as a %ge there are more product companies in Sri Lanka's IT ecosystem than in India's. In any case, the word "advanced" is very hard to quantify in the software world.

So sure, let anyone come - but good luck getting too many jobs in product companies that have no patience or interest with mediocre people. You need a few superb people to build a great product and fewer great people to market and sell it. If you're a super engineer or a marketer in India, there are tons of opportunities for you in India already, so the only way you'll come is if we offer a better total package: Check out WorkInSriLanka. I hope you come and stay and never leave! 

For WSO2, we're a BoI company. If we find a high quality person from ANYWHERE who wants to work in Sri Lanka we can bring them over. Piece of cake really - visa wise. We will NOT pay higher salaries for foreign people though - something that I know many do and something I soooooo detest. Sri Lanka seems to love reverse discrimination.

System Integrators - Local Market Focused

These companies take software and hardware from whoever and produce solutions for customers. These are systems that solve a particular business problem for some organization. For example, the vehicle registration system at the Department of Motor Vehicles.

The work these guys do involve working with the customer to understand the problem domain, figure out a good solution architecture, figure out which technology to apply and then to build the full solution. All very important stuff!

Who works in these places? Typically a combination of business analysts, architects, engineers of all kinds (software, QA, UI etc. etc.), project managers and so on.

Sri Lankan enterprises are quite slow to adopt software technology. This (IMO) is primarily because labor costs are low, because customer expectations are still not hard meaning competition is not that intense as it is in say US. That will change and we will need a LOT more people to integrate and build solutions for local companies. Can we meet the demand with local skill - my guess is yes. If we need a few more, the integrator companies can easily import people too.

There is one segment of this market that is special however. Small enterprises are also picking up low end solutions. These are often implemented by the owners daughter/son or niece/nephew type person. Basically some trusted computer geeky relative who "automates" the place in some form. That used to be with an Access database + VB type thing .. not sure what is in play today in that space.

That market is critical to help develop the local IT Crowd as it gives business (aka employment) to many many relatively low skilled yet value-adding people. The people working in these places don't need 4 year CS degrees. They're simply people with a bit of knowledge (acquired from a tutory type place) and a good knack for computing. Its critical to support and protect this community because they deliver technology to the wider mom&pop / small kade business community. 

I think a bunch of lower cost people from India working in Sri Lanka in this market could be a negative thing as it could threaten employment for low end IT workers. However, many of these deals are struck based on trust and relationships so it'll be really hard for anyone to break in.

System Integrators - Outsourcers

These guys take work from a foreign country (typically a more wealthy country but could be one that simply has a dearth of technical capacity) and bring it here to do the work. Virtusa is of course the largest (~3000 or so people AFAIK) but there are TONS of smaller players employing a few 10s of people and a few dozen or so in the 100s range I think.

The smaller ones always start with a single contract the owner managed to get from his/her work in the foreign country or thru a friend/relative outside. Do one task well at 1/5th to 1/3rd the price in the US and you can clearly keep get more business. Capitalism at work.

The bigger of these companies are great places to work for the best of the best. They may give opportunities to learn a ton of stuff, travel, develop soft skills etc. etc..  Lots of passionate employees who will not move easily.

The middle sized ones (> 25, < too many 100s) are usually great companies. They pay people well, they provide a quality work environment, they have passionate employees and often specialize in one or few areas (e.g. Alfresco or Mobile apps or whatever) and therefore command a higher charge out rate. 

The small companies (<= 25) tend to be more sweat-shop like from what I've seen - pay the people as little as possible and use crazy micro project management to deliver. No passionate employees typically. Its just a job that gives a paycheck for people who are relatively low skilled (and low initiative powered too).

Virtusa has offices in India too with like 7000 people I think. If they want to hire Indians they can hire them there. If they want to bring people down here they can do it and undoubtedly do it already. (You need to go thru the Board of Investment but its trivially easy. FAR FAR FAR easier than hiring a foreigner in the US .. or I imagine India.)

Does this part of the IT Crowd get affected by possible mass migration of the Indian IT Crowd to Sri Lanka? Not for the Virtusa's of the world IMO. However, for the smaller players, the small company CEOs who are milking money off the small outsourcing contracts, yes getting cheaper invisible people will be better for them. That could indeed mean a reduction in employment opportunities for the lower end of the technical community who work in these places as there indeed will be Indians willing to work for less (see Two million apply for 300 clerical jobs and 80% of Indian Engineering Graduates are Unemployable as recent examples).

It would be great to have multiple Virtusa's in Sri Lanka. In 2009, Mphasis (apparently India's 7th largest service provider then) tarted operations in Sri Lanka with intent to hire 2000 but AFAIK have packed up and gone or are nowhere as big. I'm sure someone who knows will reply and I'll add a note.

Would Infosys or TCS or whatever open up here if they have to bring people from India to Sri Lanka? I can't see why .. then why not just execute that in India itself. What am I missing in that equation?

So I cannot see the larger players affected by this. The smaller players (and by that I mean the really small ones .. < 25 people) will probably benefit by getting cheaper workers. Will we see tons of iOS developers in LK with this? No, because they're a scarce commodity anywhere. Period. For the middle sized guys (> 25, < too many 100s) certainly getting more senior, experienced people from India will be a good thing. However, I see that as no different from attracting any national to come to Sri Lanka to work. I ABSOLUTELY want that - that's why I helped form WorkInSriLanka and am still part of it. 

High end people (of ANY origin) moving to Sri Lanka is critical for our future .. we need to become a net brain importer and not an exporter. However, they will come only if (a) you pay them properly and (b) if the quality of life is really good. These are things that WorkInSriLanka is addressing / informing about.

Enterprise Internal IT Teams

This literally the IT Crowd in the companies. (Haven't seen the awesomely funny British comedy? Check it out.) 

Well actually often they do much much more than that crowd. The IT Crowd guys are only IT operations - they keep computers running, keep networks running etc.. That's absolutely critical. But now more and more companies are using information as a key business strategy. What that means is that internal IT is becoming more and more important. Companies cannot afford to buy prepackaged solutions nor simply outsource to others - they need to innovate inside the company to create real business value for themselves in a way that differentiates them from their competitors.

Not easy stuff.

You need really good people. Not 100s, but a good number of really really good people and a bigger number of good people. You also need a visionary to be the CIO/CTO to drive that effort. Not at all easy.

Sri Lanka is still in transition to that. Some big companies are doing it really well, but there's a massive dearth of really innovative CIOs in Sri Lanka yet. We're developing them as they move up the ranks but IT was kept away from the business and that needs to change for this to work. 

Is it a possibility to import talent for this from India? Of course! However, they are not cheap as those people have 1000x more work in India than here! What will happen to less skilled people who might come to this space? Good luck getting a job.

For smaller companies, they don't have enterprise IT. Then they have the IT guy - the jack-of-all-trades who knows how to help with Powerpoint to debugging why he can't get to FB to cleaning up after he stupidly clicked on yet another get-rich-quick email. Those guys don't have (and don't need) CS degrees or IT/IS degrees. They need some training and lot of experience. They also get paid very little (think 25-50k/month). 

Those guys could get crunched if we allow hundreds of such people to come from India. That would be just stupid.

IT Enabled Services (ITES) and Business Process Outsourcers (BPO)

This is where the numbers are. Order a pizza in Texas? An Indian will answer. Call Delta airlines with an issue? An Philippino will answer. Call HSBC about an issue. A Sri Lankan will answer.

These started off as call centers but more and more they take an entire process (e.g. claim processing for medical claims) and run the entire process in a lower cost location. All you need is a good network connection and a lot of (young) people who will work for a little amount and work odd hours and be happy with it. Sri Lanka also claims to be the largest producer of UK qualified accountants after UK .. and so does a lot of financial process outsourcing too.

There's also high end parts of this market - research outsourcing, analytics outsourcing etc.. Great. Do more. 

Sri Lanka produces 300-400 THOUSAND 18 years each year. Only like 25,000 get to a university of some kind (who are the ones who have a chance at a higher value job). The rest need work. 

This low end kind of ITES/BPO work is great .. it gets them a salary and if the country keeps devaluing the LKR they even get salary raises every year! Keeping people employed prevents them from wanting to join revolutions.

Some BPOs claim that they couldn't scale enough in LK because they can't find the large number of passionate, English capable young people. Probably true. 

MAYBE its possible to import them from India, but presumably only those that couldn't get jobs in the myriad of Indian BPOs. However, how that helps provide employment to the droves of young people who need work in Sri Lanka I do not know.

Universities

These guys of course produce the IT guys. We have state universities, private universities that grant their own degrees and a plethora of private ones that provide a learning environment to get a foreign university degree.

As with anything the quality varies. The top govt engineering / science universities and the top private ones produce AWESOME graduates who are absolutely as good as the best in any country (India, US included). WSO2 is lucky that a bunch of these guys join us :-). 

But my focus here is on the teachers. We need more PhDs to teach in our universities - ask Jaffna Univ CS dept for example. Will Indian PhDs (good ones) come and teach there? Great if they want to! Salary is pretty poor but its what it is. Even private universities will happily hire teachers. 

We also need top research focused scientists to come here so we can improve our research capacity. I don't think opening employment to Indians will make a single IIT professor to come :(. Even right now, they can come (visa is easy) - so please, if you want to come and teach in Sri Lanka reach out thru WorkInSriLanka and we'll help you! And don't ever leave.

India has absolutely fantastic universities. If they want to come and set up shop in LK and offer education to our people - great! India also has a LOT of crappy universities (see the article about unemployable graduates) - we certainly don't need them here.

IT Training Institutes

These are the literally hundreds (and maybe even thousands) of places that offer this course or that course on this or that. 90% of them in my opinion is crap. There's too little quality control. People are getting swindled daily by these jackassses who teach their children next to nothing and yet charge a ton of money. Even some local governments are in on it - I know in Dehiwala (my area) they run a program where literally 100s of people come for IT education. Each pays like Rs. 3000/month. Poor parents can't say no so they do it somehow.

Do we need more of these? Yes, IF THEY ARE GOOD. We need to get our house in order, put regulations in to quality control these places and then of course its great if more teachers come and teach more. 

India has absolutely fantastic training institutes. Would be great to get them to open shop here.

India also UNDOUBTEDLY has at least 10x crappy places than we do. Most certainly we don't need them here - we already have enough people robbing money from poor parents who desperately want to educate their children in "IT".

(p.s.: Blogger.com has the world's WORST editor. I'm bailing to medium.com soon.)




stan

Understanding ESB Performance & Benchmarking

ESB performance is a hot (and disputed topic). In this post I don't want to talk about different vendors or different benchmarks. I'm simply trying to help people understand some of the general aspects of benchmarking ESBs and what to look out for in the results.

The general ESB model is that you have some service consumer, an ESB in the middle and a service provider (target service) that the ESB is calling. To benchmark this, you usually have a load driver client, an ESB, and a dummy service.

+-------------+      +---------+      +---------------+
| Load Driver |------|   ESB   |------| Dummy Service |
+-------------+      +---------+      +---------------+

Firstly, we want the Load Driver (LD), the ESB and the Dummy Service (DS) to be on different hardware. Why? Because we want to understand the ESB performance, not the performance of the DS or LD.

The second thing to be aware of is that the performance results are completely dependent on the hardware, memory, network, etc used. So never compare different results from different hardware.

Now there are three things we could look at:
A) Same LD, same DS, different vendors ESBs doing the same thing (e.g. content-based routing)
B) Same LD, same DS, different ESB configs for the same ESB, doing different things (e.g. static routing vs content-based routing)
C) Going via ESB compared to going Direct (e.g. LD--->DS without ESB)

Each of these provides useful data but each also needs to be understood.

Metrics
Before looking at the scenarios, lets look at how to measure the performance. The two metrics that are always a starting point in any benchmark of an ESB here are the throughput (requests/second) and the latency (how long each request takes). With latency we can consider overall latency - the time taken for a completed request observed at the LD, and the ESB latency, which is the time taken by the message in the ESB. The ESB latency can be hard to work out. A well designed ESB will already be sending bytes to the DS before its finished reading the bytes the LD has sent it. This is called pipelining. Some ESBs attempt to measure the ESB latency inside the ESB using clever calculations. Alternatively scenario C (comparing via ESB vs Direct) can give an idea of ESB Latency. 

But before we look at the metrics we need to understand the load driver.

There are two different models to doing Load Driving:
1) Do a realistic load test based on your requirements. For example if you know you want to support up to 50 concurrent clients each making a call every 5 seconds on average, you can simulate this.
2) Saturation! Have a large number of clients, each making a call as soon as the last one finishes.

The first one is aimed at testing what the ESB does before its fully CPU loaded. In other words, if you are looking to see the effect of adding an ESB, or the comparison of one ESB to another under realistic load, then #1 is the right approach. In this approach, looking at throughput may not be useful, because all the different approaches have similar results. If I'm only putting in 300 requests a sec on a modern system, I'm likely to see 300 request a sec. Nothing exciting. But the latency is revealing here. If one ESB responds in less time than another ESB thats a very good sign, because with the same DS the average time per request is very telling.

On the other hand the saturation test is where the throughput is interesting. Before you look at the throughput though, check three things:
1) Is the LD CPU running close to 100%?
2) Is the DS CPU running close to 100%?
3) Is the network bandwidth running close to 100%?

If any of these are true, you aren't doing a good test of the ESB throughput. Because if you are looking at throughput then you want the ESB to be the bottleneck. If something else is the bottleneck then the ESB is not providing its max throughput and you aren't giving it a fair chance. For this reason, most benchmarks use a very very lightweight LD or a clustered LD, and similarly use a DS that is superfast and not a realistic DS. Sometimes the DS is coded to do some real work or sleep the thread while its executing to provide a more realistic load test. In this case you probably want to look at latency more than throughput.

Finally you are looking to see a particular behaviour for throughput testing as you increase load.
Throughput vs Load
The shape of this graph shows an ideal scenario. As the LD puts more work through the ESB it responds linearly. At some point the CPU of the ESB hits maximum, and then the throughput stabilizes.  What we don't want to see is the line drooping at the far right. That would mean that the ESB is crumpling under the extra load, and its failing to manage the extra load effectively. This is like the office worker whose efficiency increases as you give them more work but eventually they start spending all their time re-organizing their todo lists and less work overall gets done.

Under the saturation test you really want to see the CPU of the ESB close to 100% utilised. Why? This is a sign that its doing as much as possible. Why would it not be 100%? Two reasons: I/O, multi-processing and thread locks: either the network card or disk or other I/O is holding it up, the code is not efficiently using the available cores, or there are thread contention issues.

Finally its worth noting that you expect the latency to increase a lot under the saturation test. A classic result is this: I do static routing for different size messages with 100 clients LD. For message sizes up to 100k maybe I see a constant 2ms overhead for using the ESB. Suddenly as the message size grows from 100k to 200k I see the overhead growing in proportion to the message size.


Is this such a bad thing? No, in fact this is what you would expect. Before 100K message size, the ESB is underloaded. The straight line up to this point is a great sign that the ESB is pipelining properly. Once the CPU becomes loaded, each request is taking longer because its being made to wait its turn at the ESB while the ESB deals with the increased load.

A big hint here: When you look at this graph, the most interesting latency numbers occur before the CPU is fully loaded. The latency after the CPU is fully loaded is not that interesting, because its simply a function of the number of queued requests.

Now we understand the metrics, lets look at the actual scenarios.

A. Different Vendors, Same Workload
For the first comparison (different vendors) the first thing to be careful of is that the scenario is implemented in the best way possible in each ESB. There are usually a number of ways of implementing the same scenario. For example the same ESB may offer two different HTTP transports (or more!). For example blocking vs non-blocking, servlet vs library, etc. There may be an optimum approach and its worth reading the docs and talking to the vendor to understand the performance tradeoffs of each approach.

Another thing to be careful of in this scenario is the tuning parameters. Each ESB has various tuning aspects that may affect the performance depending on the available hardware. For example, setting the number of threads and memory based on the number of cores and physical memory may make a big difference.

Once you have your results, assuming everything we've already looked at is tickety-boo, then both latency and throughput are interesting and valid comparisons here. 

B. Different Workloads, Same Vendor
What this is measuring is what it costs you to do different activities with the same ESB. For example, doing a static routing is likely to be faster than a content-based routing, which in turn is faster than a transformation. The data from this tells you the cost of doing different functions with the ESB. For example you might want to do a security authentication/authorization check. You should see a constant bump in latency for the security check, irrespective of message size. But if you were doing complex transformation, you would expect to see higher latency for larger messages, because they take more time to transform. 

C. Direct vs ESB
This is an interesting one. Usually this is done for a simple static routing/passthrough scenario. In other words, we are testing the ESB doing its minimum possible. Why bother? Well there are two different reasons. Firstly ESB vendors usually do this for their own benefit as a baseline test. In other words, once you understand the passthrough performance you can then see the cost of doing more work (e.g. logging a header, validating security, transforming the message). 

Remember the two testing methodologies (realistic load vs saturation)? You will see very very different results in each for this, and the data may seem surprising. For the realistic test, remember we want to look at latency. This is a good comparison for the ESB. How much extra time is spent going through the ESB per request under normal conditions. For example, if the average request to the backend takes 18ms and the average request via the ESB takes 19ms, we have an average ESB latency of 1ms. This is a good result - the client is not going to notice much difference - less than 5% extra. 

The saturation test here is a good test to compare different ESBs. For example, suppose I can get 5000 reqs/sec direct. Via ESB_A the number is 3000 reqs/sec and via ESB_B the number is 2000 reqs/sec, I can say that ESB_A is providing better throughput than ESB_B. 

What is not  a good metric here is comparing throughput in saturation mode for direct vs ESB. 


Why not? The reason here is a little complex to explain. Remember how we coded DS to be as fast as possible so as not to be a bottleneck? So what is DS doing? Its really just reading bytes and sending bytes as fast as it can. Assuming the DS code is written efficiently using something really fast (e.g. just a servlet), what this is testing is how fast the hardware (CPU plus Network Card) can read and write through user space in the operating system. On a modern server hardware box you might get a very high number of transactions/sec. Maybe 5000req/s with each message in and out being 1k in size.

So we have 1k in and 1k out = 2k IO.
2k IO x 5000 reqs/sec x 8bits gives us the total network bandwidth of 80Mbits/sec (excluding ethernet headers and overhead).

Now lets look at the ESB. Imagine it can handle 100% of the direct load. There is no slowdown in throughput for the ESB. For each request it has to read the message in from LD and send it out to DS. Even if its doing this in pipelining mode, there is still a CPU cost and an IO cost for this. So the ESB latency of the ESB maybe 1ms, but the CPU and IO cost is much higher. Now, for each response it also has to read it in from DS and write it out to LD. So if the DS is doing 80Mbits/second, the ESB must be doing 160Mbits/second. 

Here is a picture.

Now if the LD is good enough, it will have loaded the DS to the max. CPU or IO capacity or both will be maxed out. Suppose the ESB is running on the same hardware platform as the DS. If the DS machine can do 80Mbit/s flat out, there is no way that the same hardware running as an ESB can do 160Mbit/s! In fact, if the ESB and DS code are both as efficient as possible, then the throughput via ESB will always be 50% of the throughput direct to the DS. Now there is a possible way for the ESB to do better: it can be better coded than the DS. For example, if the ESB did transfers in kernel space instead of user space then it might make a difference. The real answer here is to look at the latency. What is the overhead of adding the ESB to each request. If the ESB latency is small, then we can solve this problem by clustering the ESB. In this case we would put two ESBs in and then get back to full throughput.

The real point of this discussion is that this is not a useful comparison. In reality backend target services are usually pretty slow. If the same dual core server is actually doing some real work - e.g. database lookups, calculations, business logic - then its much more likely to be doing 500 requests a second or even less. 

The following chart shows real data to demonstrate this. The X-Axis shows increasing complexity of work at the backend (DS). As the effort taken by the backend becomes more realistic, the loss in throughput of having an ESB in the way reduces. So with a blindingly fast backend, we see the ESB struggling to provide just 55% of the throughput of the direct case. But as the backend becomes more realistic, we see much better numbers. So at 2000 requests a second there is barely a difference (around 10% reduction in throughput). 


In real life, what we actually see is that often you have many fewer ESBs than backend servers. For example, if we took the scenario of a backend server that can handle 500 reqs/sec, then we might end up with a cluster of two ESBs handling a cluster of 8 backends. 

Conclusion
I hope this blog has given a good overview of ESB performance and benchmarking. In particular, when is a good idea to look at latency and when to use throughput. 





stan

Understanding Logging in the Cloud

I recently read an interesting pair of articles about Application Logging in OpenShift. While these are great articles on how to use log4j and Apache Commons Logging, they don't address the cloud logging issue at all.

What is the cloud logging issue?

Suppose I have an application I want to deploy in the cloud. I also want to automatically elastically scale this app. In fact I'm hoping that this app will succeed - and then I'm going to want to deploy it in different geos. I'm using EC2 for starters, but I might need to move it later. Ok, so that sounds a bit YAGNI. Let's cut back the requirements. I'm running my app in the cloud, on a single server in a single geo.

I do not want to log to the local filesystem.

Why not? Well firstly if this is say EC2, then the server might get terminated and I'm going to lose my logs. If it doesn't get restarted then they are going to grow and kill my local filesystem. Either way, I'm in a mess.

I need to log my logs somewhere that is:
1) designed to support getting logs from multiple places - e.g. whichever EC2 or other instance my server happens to be hosted today
2) separate from my worker instance so when that gets stopped and started it lives
3) supports proper log rotation, etc

If I have this then it supports my initial problem, but it actually also supports my bigger requirements around autoscaling and geos.

Stratos is an open source Platform-as-a-Service foundation that we've created at WSO2. In Stratos we had to deal with this early on because we support elastic auto-scaling by default.

In Stratos 1.x we built a model based on syslog-ng. Basically we used log4j for applications to log. So just as any normal log4j logging you would do something like:


Logger  logger = Logger.getLogger("org.fremantle.myApp");
logger.warn("This is a warning");


We automatically setup the log appenders in the Stratos services to use the log4j syslog appender. When we start an instance we automatically set it up under the covers to pipe the syslog output to syslog-ng. Then we automatically collate these logs and make them available.

In Stratos 2.x we have improved this.
The syslog-ng model is not as efficient as we needed, and also we needed a better way of slicing and dicing the resulting log files.

In the Stratos PaaS we also have another key requirement - multi-tenancy. We have lots of instances of servers, some of which are one instance per tenant/domain, and some which are shared between tenants. In both cases we need to split out the logs so that each tenant only sees their own logs.

So in Stratos 2.x (due in the next couple of months) we have a simple Apache Thrift interface (and a JSON/REST one too). We already have a log4j target that pushes to this. So exactly the same code as above works in Stratos 2.x with no changes. 



We are also going to add models for non-Java (e.g. syslog, log4php, etc).

Now what happens next? The local agent on the cloud instance is setup automatically to publish to the local central log server. This takes the logs and publishes them to an Apache Cassandra database. We then run Apache Hive scripts that slice the logs per tenant and per application. These are then available to the user via our web interface and also via simple network calls. Why this model? This is really scalable. I mean really, really scalable. Cassandra can scale to hundreds of nodes, if necessary. Also its really fast. Our benchmarks show that we can write >10k entries/second on a normal server.

Summary

Logging in the cloud isn't just about logging to your local disk. That is not a robust or scalable answer. Logging to the cloud needs a proper cloud logging model. In Stratos we have built one. You can use it from Java today and from Stratos 2.0 we are adding support to publish log entries just with a simple REST interface, or a super-fast highly scalable approach with Apache Thrift.




stan

Berkeley, UCLA, Harvard, MIT, Princeton, Stanford y Yale en Academic Earth

Si utilizás el buscador Google Chrome podés encontrar herramientas de mucho provecho. Acabo de toparme con la extensión en línea de Academic Earth, que ofrece el acceso gratuito a videos de los cursos y conferencias de las universidades más destacadas de Estados Unidos y en las materias más diversas. ENJOY KNOWLEDGE!

 
Podrás presenciar conferencias como, por ejemplo,
Language in the Brain, Mouth and the Hands
By Paul Bloom - Yale



Watch it on Academic Earth





stan

Taller a distancia de Traducción de textos al inglés

LA ASOCIACIÓN ARGENTINA
DE TRADUCTORES E INTÉRPRETES
(AATI)
tiene el agrado de presentar su

Taller a distancia de traducción de textos al inglés
coordinado por la Trad. Marita Propato
Inicio                       Lunes 16 de abril
Duración                 cuatro semanas
Modalidad              a distancia (exclusivamente a través de Internet y el foro de la AATI)
 Preinscripción y consultas: escribir a cursos@aati.org.ar
hasta el miércoles 11 de abril.

Socios AATI*, socios FAT* y alumnos de traductorados: AR$ 420
No socios residentes en la Argentina: AR$ 650
Futuros profesionales: AR $ 340
Socios AATI* y socios FAT* residentes en el exterior: US$ 105
No socios residentes en el exterior: US$ 170
*Importe válido únicamente para socios con la cuota al día.
Nota para traductores certificados por la American Translators Association: La asistencia a este curso otorga puntos para el programa de educación continua (CE) de la ATA.
 
Finalidad: Perfeccionar habilidades y estrategias de traducción al inglés.
Material: Se trabajará con material nuevo especialmente diseñado para cursos 2012, que incluirá una selección de textos auténticos periodísticos, de marketing y de comunicaciones institucionales para traducir al inglés. El curso puede tomarse como un módulo independiente o como un segundo módulo de práctica realizada en cursos anteriores.
Modalidad de las clases:
En la primera comunicación con los participantes, se establecerán las pautas de trabajo, se distribuirá el material para traducir y se definirán las fechas de entrega de las traducciones. La longitud de los textos será de 1000 palabras por semana. Los participantes tendrán un plazo de una semana para entregar sus trabajos. La profesora corregirá un porcentaje de los trabajos y reenviará las correcciones al total de los inscriptos al taller. La profesora corregirá al menos una vez el trabajo de cada participante.
Inquietudes: Los participantes podrán enviar todas sus inquietudes (sin límite) a la casilla de correo que disponga el profesor. Dos veces por semana el profesor contestará estas preguntas de manera general.


Trad. Marita Propato

Traductora Literaria y Científico-técnica en Inglés - Intérprete Traductora Pública matriculada en el CTPCBA

Certificada por la American Translators Association (ATA) en Inglés <>Español

Socia AATI con acreditación FIT 998

Traductora e intérprete freelance para IBM, Telecom, Pfizer, Quilmes, Credit Suisse y Tenaris, entre otras empresas e instituciones


VACANTES LIMITADAS
 
 
 
 




stan

Bio-Inspired Mechanisms for Coordinating Multiple Instances of a Service Feature in Dynamic Software Product Lines

One of the challenges in Dynamic Software Product Line (DSPL) is how to support the coordination of multiple instances of a service feature. In particular, there is a need for a decentralized decision-making capability that will be able to seamlessly integrate new instances of a service feature without an omniscient central controller. Because of the need for decentralization, we are investigating principles from self-organization in biological organisms. As an initial proof of concept, we have applied three bio-inspired techniques to a simple smart home scenario: quorum sensing based service activation, a firefly algorithm for synchronization, and a gossiping (epidemic) protocol for information dissemination. In this paper, we first explain why we selected those techniques using a set of motivating scenarios of a smart home and then describe our experiences in adopting them.




stan

Des dizaines de morts dans le sud-ouest du Pakistan après un attentat suicide

Des dizaines de morts dans le sud-ouest du Pakistan après un attentat suicide




stan

Serbie : des manifestants demandent la démission du gouvernement après le drame de Novi Sad

Serbie : des manifestants demandent la démission du gouvernement après le drame de Novi Sad




stan

Attention, votre airfryer pourrait produire une substance cancérigène dans vos aliments selon une étude - Yahoo Actualités

  1. Attention, votre airfryer pourrait produire une substance cancérigène dans vos aliments selon une étude  Yahoo Actualités
  2. 3 bonnes raisons de choisir un Airfryer en 2024  La Provence
  3. Nos 30 recettes rapides et faciles au Airfryer, du plat de résistance au dessert  Le Figaro
  4. Les air fryers sont-ils dangereux pour la santé ? Une étude lance l'alerte  Allo Docteurs
  5. Airfryer : attention aux acrylamides potentiellement cancérigènes  Pourquoi Docteur ?






stan

Vivre la Résistance sur un plateau

Julian Alaphilippe.
Dans la dixième étape, entre Annecy et Le Grand-Bornand (158,5 km), victoire de prestige du Français Julian Alaphilippe (Quick-Step). La course a emprunté le plateau des Glières, haut lieu de la Résistance. Un vibrant écho au martyre des  partisans massacrés en 1944 par les Allemands et les miliciens de Vichy.
 
Le Grand-Bornand (Haute-Savoie), envoyé spécial.
«Vivre libre ou mourir.» Si grands, dans la solitude du vertige. Et pourtant si petits, comme délocalisés, balayés par un lieu de preuves ...




stan

Pakistan: retour progressif de l'électricité après une panne géante

Une gigantesque panne d'électricité a affecté lundi une large partie du Pakistan, dont ses plus grandes villes Lahore et Karachi, avant que les autorités n'annoncent en soirée le retour progressif du courant.

Les coupures d'électricité sont fréquentes au Pakistan, englué depuis des années dans de graves problèmes budgétaires et énergétiques, et dont le système de distribution est complexe et vétuste.

La panne a été causée par un dysfonctionnement survenu à 07H30 locales (02H30 GMT) à la suite de mesures d'économies prises sur le réseau.

"Nous espérons que le courant sera rétabli partout dans le pays d'ici ce (lundi) soir", a déclaré dans un communiqué vidéo le ministre de l'Energie, Khurram Dastagir Khan.

La nuit avançant, il a assuré sur Twitter que l'électricité commençait à être rétablie progressivement.

Le ministère a tweeté que le courant était revenu dans le centre d'Islamabad et à Gujranwala, à quelque 200 km au sud-est de la capitale.

M. Khan a également retweeté le message d'un usager qui se félicitait qu'il y ait à nouveau "de la lumière à Lahore", la deuxième ville la plus peuplée du pays, avec plus de 10 millions d'habitants.

La panne a été causée par une variation de la fréquence électrique sur le réseau national, au redémarrage des unités de production électrique lundi matin.

Ces unités sont temporairement éteintes la nuit en hiver pour économiser du carburant, a expliqué M. Khan à la presse.

La plupart des hôpitaux, industries et institutions gouvernementales sont équipées de générateurs. Mais les ménages et petits commerces n'ont souvent pas les moyens de s'offrir un tel équipement.

Dans le nord du Pakistan, les températures devaient tomber lundi soir en dessous de 0°. Le chauffage au gaz est le plus répandu, mais n'est pas non plus toujours très fiable, les délestages étant fréquents en raison d'une pénurie de gaz.

Les réseaux de téléphonie mobile ont été également perturbés par la panne, selon un tweet du régulateur pakistanais des télécoms.

L'économie pakistanaise est déjà chancelante avec une inflation galopante, une devise nationale - la roupie - en chute libre et des réserves de change au plus bas. Une telle coupure d'électricité ne fait qu'accroître la pression sur les petits commerces.

A Rawalpindi, ville voisine de la capitale, Muhammad Iftikhar Sheikh, 71 ans, un vendeur d'électroménager, a déploré ne pas pouvoir tester ses appareils devant les clients.

"Les clients n'achètent jamais sans essayer d'abord", pestait-il. Du coup, "on est tous assis là, à ne rien faire".

Dans les écoles, les cours ont souvent eu lieu dans la pénombre, pour celles ne disposant pas d'éclairage sur batterie.

A Karachi (sud), où les températures étaient plus élevées, un commerçant a indiqué à l'AFP craindre que son stock entier de produits laitiers ne soit perdu, sans réfrigération.

Et Khurrum Khan, un imprimeur de 39 ans, voyait les commandes s'empiler, sans pouvoir y répondre. Les problèmes d'électricité sont "une malédiction permanente dont nos gouvernements n'ont pas réussi à se débarrasser", regrettait-il.

Une panne similaire en janvier 2021 avait plongé l'essentiel de ce pays de 220 millions d'habitants dans le noir pendant plusieurs heures, après qu'un dysfonctionnement technique dans le sud eut déclenché une réaction en chaîne dans plusieurs centrales électriques.

Les coupures d'électricité sont un problème récurrent au Pakistan. Mais la situation s'est encore détériorée ces derniers mois, la situation financière dramatique du pays aggravant un peu plus ses difficultés d'approvisionnement énergétique.

Les ménages ont été touchés, mais l'industrie également, notamment le textile, qui représente environ 60% des exportations pakistanaises.




stan

Big Brother is Watching But He Doesn’t Understand: Why Forced Filtering Technology on the Internet Isn’t the Solution to the Modern Copyright Dilemma

by Mitchell Longan[1] Introduction The European Parliament is currently considering a proposal to address problems of piracy and other forms of copyright infringement associated with the digital world.[2] Article 13 of the proposed Directive on Copyright in the Digital Single




stan

International Journal of Services and Standards




stan

Impacts of social media usage on consumers' engagement in social commerce: the roles of trust and cultural distance

The prevalence of social media transforms e-business into social commerce and facilitates consumers' engagement in cross-cultural social commerce. However, social commerce operations encounter unpredictable challenges in cross-cultural business environment. It is vital to further investigate how contextual elements affect consumers' trust and their engagement when they are exposed to the complexity of cross-cultural business environment. The stimuli-organism-response paradigm is employed to examine how the two dimensions of social media usage influence consumers' engagement in cross-cultural social commerce. The current study surveyed 2,058 samples from 135 countries, and the regression analysis results illustrate the mechanism whereby informational and socialising usage of social media positively influences consumers' engagement in social commerce through consumers' trust toward social commerce websites. Additionally, the associations between two aspects of social media usage and consumers' trust towards social commerce are negatively moderated by cultural distance. Both theoretical and practical implications are also discussed.




stan

A constant temperature control system for indoor environments in buildings using internet of things

The performance of a building's internal environment, which includes the air temperature, lighting and acoustics, is what determines the quality of the environment inside the building. We present a thermal model for achieving thermal comfort in buildings that makes use of a multimodal analytic framework as a solution to this challenge. In this study, a multimodal combination is used to evaluate several temperature and humidity sensors as well as an area image. Additionally, a CNN and LSTM combination is used to process the image and sensor data. The results show that heating setback and interior set point temperatures, as well as mechanical ventilation based on real people's presence and CO<SUB align=right>2 levels, are all consistently reduced when ICT-driven intelligent solutions are used. The CNN-LSTM model has a goodness of fit that is 0.7258 on average, which is much higher than both the CNN (0.5291) and LSTM (0.5949) models.




stan

Applying a multiplex network perspective to understand performance in software development

A number of studies have applied social network analysis (SNA) to show that the patterns of social interaction between software developers explain important organisational outcomes. However, these insights are based on a single network relation (i.e., uniplex social ties) between software developers and do not consider the multiple network relations (i.e., multiplex social ties) that truly exist among project members. This study reassesses the understanding of software developer networks and what it means for performance in software development settings. A systematic review of SNA studies between 1990 and 2020 across six digital libraries within the IS and management science domain was conducted. The central contributions of this paper are an in-depth overview of SNA studies to date and the establishment of a research agenda to advance our knowledge of the concept of multiplexity on how a multiplex perspective can contribute to a software developer's coordination of tasks and performance advantages.




stan

A Meta-ethnographic Synthesis of Support Services in Distance Learning Programs




stan

Students’ Understanding of Advanced Properties of Java Exceptions




stan

Towards Understanding Information Systems Students’ Experience of Learning Introductory Programming: A Phenomenographic Approach

Aim/Purpose: This study seeks to understand the various ways information systems (IS) students experience introductory programming to inform IS educators on effective pedagogical approaches to teaching programming. Background: Many students who choose to major in information systems (IS), enter university with little or no experience of learning programming. Few studies have dealt with students’ learning to program in the business faculty, who do not necessarily have the computer science goal of programming. It has been shown that undergraduate IS students struggle with programming. Methodology: The qualitative approach was used in this study to determine students’ notions of learning to program and to determine their cognitive processes while learning to program in higher education. A cohort of 47 students, who were majoring in Information Systems within the Bachelor of Commerce degree programme were part of the study. Reflective journals were used to allow students to record their experiences and to study in-depth their insights and experiences of learning to program during the course. Using phenomenographic methods, categories of description that uniquely characterises the various ways IS students experience learning to program were determined. Contribution: This paper provides educators with empirical evidence on IS students’ experiences of learning to program, which play a crucial role in informing IS educators on how they can lend support and modify their pedagogical approach to teach programming to students who do not necessarily need to have the computer science goal of programming. This study contributes additional evidence that suggests more categories of description for IS students within a business degree. It provides valuable pedagogical insights for IS educators, thus contributing to the body of knowledge Findings: The findings of this study reveal six ways in which IS students’ experience the phenomenon, learning to program. These ways, referred to categories of description, formed an outcome space. Recommendations for Practitioners: Use the experiences of students identified in this study to determine approach to teaching and tasks or assessments assigned Recommendation for Researchers: Using phenomenographic methods researchers in IS or IT may determine pedagogical content knowledge in teaching specific aspects of IT or IS. Impact on Society: More business students would be able to program and improve their logical thinking and coding skills. Future Research: Implement the recommendations for practice and evaluate the students’ performance.




stan

Coding with AI as an Assistant: Can AI Generate Concise Computer Code?

Aim/Purpose: This paper is part of a multi-case study that aims to test whether generative AI makes an effective coding assistant. Particularly, this work evaluates the ability of two AI chatbots (ChatGPT and Bing Chat) to generate concise computer code, considers ethical issues related to generative AI, and offers suggestions for how to improve the technology. Background: Since the release of ChatGPT in 2022, generative artificial intelligence has steadily gained wide use in software development. However, there is conflicting information on the extent to which AI helps developers be more productive in the long term. Also, whether using generated code violates copyright restrictions is a matter of debate. Methodology: ChatGPT and Bing Chat were asked the same question, their responses were recorded, and the percentage of each chatbot’s code that was extraneous was calculated. Also examined were qualitative factors, such as how often the generated code required modifications before it would run. Contribution: This paper adds to the limited body of research on how effective generative AI is at aiding software developers and how to practically address its shortcomings. Findings: Results of AI testing observed that 0.7% of lines and 1.4% of characters in ChatGPT’s responses were extraneous, while 0.7% of lines and 1.1% of characters in Bing Chat’s responses were extraneous. This was well below the 2% threshold, meaning both chatbots can generate concise code. However, code from both chatbots frequently had to be modified before it would work; ChatGPT’s code needed major modifications 30% of the time and minor ones 50% of the time, while Bing Chat’s code needed major modifications 10% of the time and minor ones 70% of the time. Recommendations for Practitioners: Companies building generative AI solutions are encouraged to use this study’s findings to improve their models, specifically by decreasing error rates, adding more training data for programming languages with less public documentation, and implementing a mechanism that checks code for syntactical errors. Developers can use the findings to increase their productivity, learning how to reap generative AI’s full potential while being aware of its limitations. Recommendation for Researchers: Researchers are encouraged to continue where this paper left off, exploring more programming languages and prompting styles than the scope of this study allowed. Impact on Society: As artificial intelligence touches more areas of society than ever, it is crucial to make AI models as accurate and dependable as possible. If practitioners and researchers use the findings of this paper to improve coders’ experience with generative AI, it will make millions of developers more productive, saving their companies money and time. Future Research: The results of this study can be strengthened (or refuted) by a future study with a large, diverse dataset that more fully represents the programming languages and prompting styles developers tend to use. Moreover, further research can examine the reasons generative AI fails to deliver working code, which will yield valuable insights into improving these models.




stan

Misunderstandings about social problems and social value in solving social problems

Though there have been many approaches to dealing with social problems in recent years, the concepts of social value have yet to be discussed thoroughly. Upon examining these concepts in existing studies and testing them with two case studies, the article shows that there is the possibility that a group's shared wants may not be widely recognised as a social problem, and targeting these unserved populations is a precondition for solving social issues. It is essential to identify hidden social problems by understanding what is still left, the number of people sharing the same want, the severity of the unmet want, and the possible resources for solution generation. Social value in its narrower definition means meeting the satisfaction of the group sharing the same want, while in its broader definition, it means meeting the satisfaction of wider society. Finding workable solutions involves not only the group of people sharing the same want but also others who do not have the same want but who do recognise the importance of acknowledging the want of the subgroup.




stan

Intelligence assistant using deep learning: use case in crop disease prediction

In India, 70% of the Indian population is dependent on agriculture, yet agriculture generates only 13% of the country's gross domestic product. Several factors contribute to high levels of stress among farmers in India, such as increased input costs, draughts, and reduced revenues. The problem lies in the absence of an integrated farm advisory system. A farmer needs help to bridge this information gap, and they need it early in the crop's lifecycle to prevent it from being destroyed by pests or diseases. This research involves developing deep learning algorithms such as <i>ResNet18</i> and <i>DenseNet121</i> to help farmers diagnose crop diseases earlier and take corrective actions. By using deep learning techniques to detect these crop diseases with images farmers can scan or click with their smartphones, we can fill in the knowledge gap. To facilitate the use of the models by farmers, they are deployed in Android-based smartphones.




stan

An evaluation of English distance information teaching quality based on decision tree classification algorithm

In order to overcome the problems of low evaluation accuracy and long evaluation time in traditional teaching quality evaluation methods, a method of English distance information teaching quality evaluation based on decision tree classification algorithm is proposed. Firstly, construct teaching quality evaluation indicators under different roles. Secondly, the information gain theory in decision tree classification algorithm is used to divide the attributes of teaching resources. Finally, the rough set theory is used to calculate the index weight and establish the risk evaluation index factor set. The result of teaching quality evaluation is obtained through fuzzy comprehensive evaluation method. The experimental results show that the accuracy rate of the teaching quality evaluation of this method can reach 99.2%, the recall rate of the English information teaching quality evaluation is 99%, and the time used for the English distance information teaching quality evaluation of this method is only 8.9 seconds.




stan

Are All Learners Created Equal? A Quantitative Analysis of Academic Performance in a Distance Tertiary Institution




stan

ICT Education and Training in Sub-Saharan Africa: Multimode versus Traditional Distance Learning




stan

The Human Dimension on Distance Learning: A Case Study of a Telecommunications Company




stan

A Single Case Study Approach to Teaching: Effects on Learning and Understanding




stan

Communication Management and Control in Distance Learning Scenarios